From 3443a3f231490e4c9257bbc682057b5d41feb575 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 10 Aug 2025 20:10:50 -0400 Subject: [PATCH 01/24] Add MkDocs configs, convert docs to Markdown. --- docs/Makefile | 23 - docs/_static/images/beeware.png | Bin 20654 -> 0 bytes docs/_static/resources/custom.css | 9 - docs/conf.py | 331 -------- docs/en/how-to/index.md | 679 +++++++++++++++++ docs/{ => en}/how-to/index.rst | 0 docs/en/index.md | 94 +++ docs/{ => en}/index.rst | 0 .../images/android/tutorial-5-booting.png | Bin .../images/android/tutorial-5-launched.png | Bin .../images/android/tutorial-5-running.png | Bin .../images/android/tutorial-5-splash.png | Bin .../tutorial/images/iOS/tutorial-5.png | Bin .../tutorial/images/linux/tutorial-1.png | Bin .../tutorial/images/linux/tutorial-2.png | Bin .../tutorial/images/linux/tutorial-4.png | Bin .../tutorial/images/linux/tutorial-7.png | Bin .../tutorial/images/linux/tutorial-8.png | Bin .../tutorial/images/macOS/tutorial-1.png | Bin .../tutorial/images/macOS/tutorial-2.png | Bin .../tutorial/images/macOS/tutorial-4.png | Bin .../images/macOS/tutorial-7-crash.png | Bin .../tutorial/images/macOS/tutorial-7.png | Bin .../tutorial/images/macOS/tutorial-8.png | Bin docs/{ => en}/tutorial/images/tutorial-6.png | Bin .../tutorial/images/windows/tutorial-1.png | Bin .../tutorial/images/windows/tutorial-2.png | Bin .../tutorial/images/windows/tutorial-4.png | Bin .../images/windows/tutorial-7-crash.png | Bin .../tutorial/images/windows/tutorial-7.png | Bin .../tutorial/images/windows/tutorial-8.png | Bin docs/{ => en}/tutorial/resources/icon.png | Bin docs/{ => en}/tutorial/resources/icons.zip | Bin docs/en/tutorial/topics/camera-access.md | 190 +++++ .../tutorial/topics/camera-access.rst | 0 docs/en/tutorial/topics/custom-icons.md | 509 +++++++++++++ .../{ => en}/tutorial/topics/custom-icons.rst | 0 docs/en/tutorial/topics/index.md | 35 + docs/{ => en}/tutorial/topics/index.rst | 0 docs/en/tutorial/topics/testing.md | 540 +++++++++++++ docs/{ => en}/tutorial/topics/testing.rst | 0 docs/en/tutorial/tutorial-0.md | 240 ++++++ docs/{ => en}/tutorial/tutorial-0.rst | 0 docs/en/tutorial/tutorial-1.md | 259 +++++++ docs/{ => en}/tutorial/tutorial-1.rst | 0 docs/en/tutorial/tutorial-2.md | 342 +++++++++ docs/{ => en}/tutorial/tutorial-2.rst | 0 docs/en/tutorial/tutorial-3.md | 612 +++++++++++++++ docs/{ => en}/tutorial/tutorial-3.rst | 0 docs/en/tutorial/tutorial-4.md | 271 +++++++ docs/{ => en}/tutorial/tutorial-4.rst | 0 docs/en/tutorial/tutorial-5/android.md | 413 ++++++++++ docs/{ => en}/tutorial/tutorial-5/android.rst | 0 docs/en/tutorial/tutorial-5/iOS.md | 155 ++++ docs/{ => en}/tutorial/tutorial-5/iOS.rst | 0 docs/en/tutorial/tutorial-5/index.md | 25 + docs/{ => en}/tutorial/tutorial-5/index.rst | 0 docs/en/tutorial/tutorial-6.md | 182 +++++ docs/{ => en}/tutorial/tutorial-6.rst | 0 docs/en/tutorial/tutorial-7.md | 719 ++++++++++++++++++ docs/{ => en}/tutorial/tutorial-7.rst | 0 docs/en/tutorial/tutorial-8.md | 384 ++++++++++ docs/{ => en}/tutorial/tutorial-8.rst | 0 docs/make.bat | 41 - docs/mkdocs.en.yml | 4 + docs/mkdocs.fr.yml | 7 + ...pelling_wordlist => spelling_wordlist.txt} | 1 - .../de/LC_MESSAGES/how-to/index.po | 0 .../de/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../de/LC_MESSAGES/tutorial/topics/index.po | 0 .../de/LC_MESSAGES/tutorial/topics/testing.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../es/LC_MESSAGES/how-to/index.po | 0 .../es/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../es/LC_MESSAGES/tutorial/topics/index.po | 0 .../es/LC_MESSAGES/tutorial/topics/testing.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../fr/LC_MESSAGES/how-to/index.po | 0 .../fr/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../fr/LC_MESSAGES/tutorial/topics/index.po | 0 .../fr/LC_MESSAGES/tutorial/topics/testing.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../it/LC_MESSAGES/how-to/index.po | 0 .../it/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../it/LC_MESSAGES/tutorial/topics/index.po | 0 .../it/LC_MESSAGES/tutorial/topics/testing.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../pt/LC_MESSAGES/how-to/index.po | 0 .../pt/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../pt/LC_MESSAGES/tutorial/topics/index.po | 0 .../pt/LC_MESSAGES/tutorial/topics/testing.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../zh_CN/LC_MESSAGES/how-to/index.po | 0 .../zh_CN/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../LC_MESSAGES/tutorial/topics/index.po | 0 .../LC_MESSAGES/tutorial/topics/testing.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 0 .../zh_TW/LC_MESSAGES/how-to/index.po | 0 .../zh_TW/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../LC_MESSAGES/tutorial/topics/index.po | 0 .../LC_MESSAGES/tutorial/topics/testing.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 0 pyproject.toml | 67 +- tox.ini | 58 +- 190 files changed, 5721 insertions(+), 469 deletions(-) delete mode 100644 docs/Makefile delete mode 100644 docs/_static/images/beeware.png delete mode 100644 docs/_static/resources/custom.css delete mode 100644 docs/conf.py create mode 100644 docs/en/how-to/index.md rename docs/{ => en}/how-to/index.rst (100%) create mode 100644 docs/en/index.md rename docs/{ => en}/index.rst (100%) rename docs/{ => en}/tutorial/images/android/tutorial-5-booting.png (100%) rename docs/{ => en}/tutorial/images/android/tutorial-5-launched.png (100%) rename docs/{ => en}/tutorial/images/android/tutorial-5-running.png (100%) rename docs/{ => en}/tutorial/images/android/tutorial-5-splash.png (100%) rename docs/{ => en}/tutorial/images/iOS/tutorial-5.png (100%) rename docs/{ => en}/tutorial/images/linux/tutorial-1.png (100%) rename docs/{ => en}/tutorial/images/linux/tutorial-2.png (100%) rename docs/{ => en}/tutorial/images/linux/tutorial-4.png (100%) rename docs/{ => en}/tutorial/images/linux/tutorial-7.png (100%) rename docs/{ => en}/tutorial/images/linux/tutorial-8.png (100%) rename docs/{ => en}/tutorial/images/macOS/tutorial-1.png (100%) rename docs/{ => en}/tutorial/images/macOS/tutorial-2.png (100%) rename docs/{ => en}/tutorial/images/macOS/tutorial-4.png (100%) rename docs/{ => en}/tutorial/images/macOS/tutorial-7-crash.png (100%) rename docs/{ => en}/tutorial/images/macOS/tutorial-7.png (100%) rename docs/{ => en}/tutorial/images/macOS/tutorial-8.png (100%) rename docs/{ => en}/tutorial/images/tutorial-6.png (100%) rename docs/{ => en}/tutorial/images/windows/tutorial-1.png (100%) rename docs/{ => en}/tutorial/images/windows/tutorial-2.png (100%) rename docs/{ => en}/tutorial/images/windows/tutorial-4.png (100%) rename docs/{ => en}/tutorial/images/windows/tutorial-7-crash.png (100%) rename docs/{ => en}/tutorial/images/windows/tutorial-7.png (100%) rename docs/{ => en}/tutorial/images/windows/tutorial-8.png (100%) rename docs/{ => en}/tutorial/resources/icon.png (100%) rename docs/{ => en}/tutorial/resources/icons.zip (100%) create mode 100644 docs/en/tutorial/topics/camera-access.md rename docs/{ => en}/tutorial/topics/camera-access.rst (100%) create mode 100644 docs/en/tutorial/topics/custom-icons.md rename docs/{ => en}/tutorial/topics/custom-icons.rst (100%) create mode 100644 docs/en/tutorial/topics/index.md rename docs/{ => en}/tutorial/topics/index.rst (100%) create mode 100644 docs/en/tutorial/topics/testing.md rename docs/{ => en}/tutorial/topics/testing.rst (100%) create mode 100644 docs/en/tutorial/tutorial-0.md rename docs/{ => en}/tutorial/tutorial-0.rst (100%) create mode 100644 docs/en/tutorial/tutorial-1.md rename docs/{ => en}/tutorial/tutorial-1.rst (100%) create mode 100644 docs/en/tutorial/tutorial-2.md rename docs/{ => en}/tutorial/tutorial-2.rst (100%) create mode 100644 docs/en/tutorial/tutorial-3.md rename docs/{ => en}/tutorial/tutorial-3.rst (100%) create mode 100644 docs/en/tutorial/tutorial-4.md rename docs/{ => en}/tutorial/tutorial-4.rst (100%) create mode 100644 docs/en/tutorial/tutorial-5/android.md rename docs/{ => en}/tutorial/tutorial-5/android.rst (100%) create mode 100644 docs/en/tutorial/tutorial-5/iOS.md rename docs/{ => en}/tutorial/tutorial-5/iOS.rst (100%) create mode 100644 docs/en/tutorial/tutorial-5/index.md rename docs/{ => en}/tutorial/tutorial-5/index.rst (100%) create mode 100644 docs/en/tutorial/tutorial-6.md rename docs/{ => en}/tutorial/tutorial-6.rst (100%) create mode 100644 docs/en/tutorial/tutorial-7.md rename docs/{ => en}/tutorial/tutorial-7.rst (100%) create mode 100644 docs/en/tutorial/tutorial-8.md rename docs/{ => en}/tutorial/tutorial-8.rst (100%) delete mode 100644 docs/make.bat create mode 100644 docs/mkdocs.en.yml create mode 100644 docs/mkdocs.fr.yml rename docs/{spelling_wordlist => spelling_wordlist.txt} (98%) rename {docs/locales => locales}/de/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/de/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/es/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/fr/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/it/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/pt/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {docs/locales => locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/how-to/index.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/index.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/topics/index.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {docs/locales => locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po (100%) diff --git a/docs/Makefile b/docs/Makefile deleted file mode 100644 index 653cb11d..00000000 --- a/docs/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# Minimal makefile for Sphinx documentation -# - -# You can set these variables from the command line, and also -# from the environment for the first two. -SPHINXOPTS ?= -SPHINXBUILD ?= sphinx-build -SOURCEDIR = . -BUILDDIR = _build -# Put it first so that "make" without argument is like "make help". - -help: - @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) - -.PHONY: help livehtml Makefile - -livehtml: - sphinx-autobuild -b html $(SPHINXOPTS) "$(SOURCEDIR)" "$(BUILDDIR)/html" - -# Catch-all target: route all unknown targets to Sphinx using the new -# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). -%: Makefile - @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/docs/_static/images/beeware.png b/docs/_static/images/beeware.png deleted file mode 100644 index f119365f234eb9b3657f7a03b51978a2ed5dea6e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20654 zcmX7w1yq#Z*M$cLhVJfCT3YGumPT4akd|%+K|vbnA1NV%q)68wEg;<~pma(1cjx~t zmrG!nnK$k|XYXg9@xya1Wjt(ZYzPE`r>df$3xS}3FHs&A2fSeO<4$} zCIRR6B|7+?(MCmA69Nffg+SmD5Xd$75qt{*@#cd-cB~)}u?z@=!aciLM*=(mvsPDD zfIJ}o&OhCsA)R25|P z{pR;`{DV@a+8$N}Gd0e0oD&Jt9yt@AE83C}5jrWVpP2+sO`F!m80`MrZR448GB>F( zs!D7AH2pQL*?fD95fM-Z(HWqWHq~OWWqmi4l0Nhu({vN-E zJljV^S5EFi+Nt%+KS7z{B8*s+D7YB!GZUC(xCx;Vkbo1EQ5UKCFjzkQ7ZlDg?0j4i zbbY9|4AY+S?YzA zQk*^2`P6QRqC6D*1Pz}N@2&WC*&1W`7-TC^Z{Y<(ZdG?9nV0qu4>j-<|0A&#TQ%8i zOtx-T_TFwa&b1f~<$idui|j8*n*?E7(6=Myf{QM*K$H*O)Nk%|!L^k)-yw+ke}CF~EZ> zP``zRqL?POuyJyde?W1COheO`KF317;XN(4``#39Zu`#$z=QmF{S8Le2| zDLnRRc0WiLOgUoV;y!xxC?Y?f@$K8Un7FtKU#AMD)H?nfu>D~x@RE;mYiFn6>(`k0 zczj$Klr{O`vM#8xst#eYp}PeUz?TJQAB{qZb&GphdbQ#zTQx&MMy9B%ORTD@8cY2& zdU8^KZGHViLIOCr=r3Q`<>ckZcF)kz&>*7|6XBg!`4ts$pFguw)6kTbmVWyD`Tf6t z9$L8)19P?ZrInSRo0>8YT>l(est0STsxnDQ3??H9CVR10~ScBu$lni>wVLOFU!?0mu_dB(!bOeq~Ap`OlTcf8gUODCSz*w}dD zWLnHe9XB~W?QwbZ@|nwgciIzE5uZIu7Z;biW>-f?PT`dxK_hc-vi07$lhSs2$$*rq z_Uq{3EMd>nt+D&lIvgtTBYQ@Qr-=>-B9vQHk@%S04RDWYtb4GJ4_XeR$H#TS8j7eI zUs`$su4Z?ZTRTU{Q8+^sxa#SWTd!ZgUaM$WCeF#pQS%*ShK0+fq@+YmeKophsp>yk zGfn(G!U>H)TUFhtPoEG5>+0j>aY88f{aID$hxvJv;zQq((y}sQr|EJcF2i!d6-}JCddPCfyjK@e#Xv^5v<|5+H(%st|o#ooB z>O5QBx#2fR~df;)oN77EMC)LO51zFPks z%9Jaa5Piyb8qn7G`#nwf@2<$ygZJ{2lat7Ejsc5ae96c*7SY$gh)E`GLoOgb6hUGc z;OJQ9w~?gW{egrnrQKIDdcc-gIf0(+VkNXgMN7-a(aNFDq{ewpASo}e%1fB`U>7W# zo^S#w_V@U7JLN=t%ng{eDea#OXzf`Ark8&6it+J1H+$1VX1&zxT~Jskza2R3^u4a` zgSPaY{!os%5!jw0c4(E&JDhKhR%MG@R`o3(z!eu=GAbgPg=g!OU5eC((PsPoQ&v`v zX*p~UL`a{x=olNbhaAUPiu|D&br7;1D^OfRghADWS2*HnMVSv8*YWM|7+E*u?aIc5 z8>78HuWlquv#`jQo7AZZ2??LrEJy=tdlUa~=SBN@Jum#FHVWe;O zoG9N5IurrDKzRt$*sc3uQDy(h|YHX4R=>0f&F-qYPPs_lX&)qWV;@-H3X*NOMR96QMvGsF%f-hB!yo5T2 zhM!O6``kcPA_rTuc69d)Uy_c5gro<9A&60fHF;dq_doCs$A=I1hs^Bk{bQLjWbT6P zEFZni#{$@8wdyZ9ZTqBo~p3b%8oQ^!G z!E|2VUj9qbZ>~S`!L_>Obo}9 zCv|}#uU~Tz5fKgLO48(Lm3W=xFh6^i29~ksS~r$fj@X}m)A7V6)|Tg7Wd85S`eUE8 zO#9#8UNQ6XYHvsWguk4rG`H@JrNWn_QjVo$dgi+L#VgtT)kv=7FXzZK=Cel_cxuBC zB^JHF{pKS<0Rg{*rp?CFadk4s9R$nc$L~PJ@bL6}?dbT;-xV|#JUl$GsNntmD#cj` zLSVVDh>B(|E}DTZwVy*Dr@`<`$?z5R5&KKX+eBRp>6(iR8*6Li4n8Ji82 z(wzUYvYd>*)V8)}gJK5`WX%)lS5`3S%a<>UN=iJz zzUJg~-gTIsnSoZj|CX!5ifV4DqN1YO`141{!qwNTk9i%np2-`A!M*$pGQ(W*@Qh&_ ztm4h>l03tiI}1jB{v^=O>)lpdjbdxReftP%lfbJX%HphjVk|7I?(XjD;2R$kQa>C5Cm|(ee^uz66LOJtECl>B8Xq73Qd#+Gr9JprNnb@p z1sXbfjl&poM>hKDc^&Acl7Z*5rq~fIcLt`Eh&ov7Ye*%=0pzVqj@O)B`tjv@0ttik z=#J?%4`}l#DWpD!%bIp}#lxOXPEMHucG%n7+iJoKk5QpeRZUGhurRVkJ$sk8Yx>7+ z6xA9Q^!x@P-B1G5WS1OL8k#|y1j*jF=r}3&W-vPW_qeiOr@px?Jj=@cmzG8jA%9|` z0LnpO`US_@+8QP%CZo7`)~{b$rX}y0(xEGiT!eTct#u`yR6ew!)N${>RyIf54Z;j) z-;d-^IlgEQ60LnT{4MYRblTY#->PxV10&0-roYtSWjFe_(^>v(!yYYXpeQis-PgM0 zq-19gfus5S`GQkLK>kk&D&16~SLKSoEnt(Bq89N^yn)%GxnfYY?7r)QNZPu6ws?CB# zpB3NHl#%6|^Su|vSqr@6+{UZ@LwXq8C?8W@t6Gk~qh#RC#!`QXidwzitzzTRdh+`( z*Q3Xe-`t(eEZ}uY1zqypobT&3H{CJw^N)RMXEuniXJ4}LT~~z?Msu&Y2)=Xv5rGw7 z*`?pw|0ms2>(#5z!=5|4yZd6ecVUCP9ogW_=f$5;`%B+!E|-u=yoM;DJhSol7NY}7 zC)JWQ1J_F_o^~MB$l|r&&4{f)jpwFTSy@?%t80gfy1LE4$H(UabankVqN>~H%_Q2? zaMjt;pZ|etfP6C<1pK7pQc_k{mfNCr)>YvZC~S`(KUNcNu-rNesBB!rRxZ$(z1X|f)M1MEzTAlyoCN9nijGK+w|gg=x0!IZ+VG*`}S>5EsTtmbXJr3pSPD7 zT{5ethr;*+i(c)ok@kpF5%9;bBtn27^@>{z!2WrOk=$AL_Jc zId*Xzfr1GYa5gusnh|_G{^&imk1!2yvPe zE@gq2=~5UQt_-Ko^uxfwz|Qqb0;Pa0=7$f@T*SaB#ednqmU#2#jn56X0tCt&G(`eq zq!QmPOkzDx_kW9=h|%eAZIfQab?`TCb*} z62*D7AKBg4w~$jeH8XS5hT{Ics=pP|Htw>|3ohzdy%r`mHZ!NA%w9e&Cs2xGyDlq- znwpyNq${WX1qB6r=VVh5V}*nq1*|rU!*sjP7~)AuNj?~go}MT03=|Ou2(wN)Bp4GB zZ>E-$@*1QzVCDQ#rQs36ODp`67u!2 zbOx}d-?N(LCMMP|t|0N}Wd3;ne4JU<+Sa)piCTxPbtfOb~K zMZgZ)X?8A7j#LI1|366h{=&lPoGZC%uLMA`nB`6?YC6Bv}uQ89E`c{N$lOC_|iaFe15Xi;KJtT=TiscJKqyj}E;5^Hh z6>n2GrsD1W6oY`?c6YjBZ>c3cnN3?)Pj7wTKlCJoaXy{H*(AfU(7`jvl1%b2NplNO zT^>gsoN9VTMt!-GfqoZDzLNKCRJbrua=(<7SsyO91s!!_#4|D1TA=UNMIJ&G6G1zTj&wAWvVk_&mva z=CTIdml_%)I&&S$M3_^UBqCsyYZWbIjlsPEWeau3C1-SQPL%OmFO2i-> z&c#(&Q1JG@|EL`u9Ua`<8pQJhN4!&3SFM1&i2~#X2xQ<)K)F@}3gpwLPZ1Fj`4ih) zdwWHNh2iz}&p>PC;N>j=y3}*?myWr)rl)5ui%xuJ|J%kF2m{0l{0V$StWAOl!yW%M z=3DMI_K5uQ@>l?ro<5pY770A(K5RX~NB&h*RP-4ETk;Vrs{rr@zzYpcmg;5lz5H<{ z%Ro;4%D1XxhH7zoTFJnG?CR=@R>Ci_wN)aXLHgj|NBP1ru>Xd)#tKIokT#??9LyKM!Mva$x%dE2_vEkjfT16zhq*4NiF`E6jH ze}{gLtMl3c;Q_X_$VZWNLQuCSr>5R)jWYS{&369E5g!;F^mKSuFy^45t-ZPPwd&Qc zY*CFIvDA$XTRHh9mSra)YOom!zI=%?Z}CCC5!eo2zI>?`7UYA7B4Sh?;GyZdK5!1i z>muRFHGZExW3aP%^;5v9nYUgn2U>$S|1s^09tE({o0DPTm=Wm*GhjKjDC3k88b+-6 zq5xb2_~cgJ%y-Ef7_4bm@xBBGUa7lNy)jT^kI$b92}ObJ{boe+A`0{_>|9_hP4}rY3cA z18)8j=<=Sr84E5zQk?7kfq!2Ex{nN$GmF=z;PTBjd6qPSBmbXtpb8^jH8`Q9s#bs; zE?hH$8q=evE%}E`z2aXmSf<_b1d@-KSy(DUqyyS4hVrB>k!2wo|277ILUKT*$}*n0 z{5QJoWw^k=z`&aua{YR2adEG%-rLJ73IMB^-Kq`?WcLw3HAl4cuQ5lje<;Ug5m2$F zH~dx%b|g46Zu4e+GK@23V5lUHyGdHF{$_ozH^H}{dFn{&yAmv%An^|qhn)MU^pK64 zJGNA>!~>X*PcyrqXV+{sfW2e?aDPXM3j<1O@h?X8JFOC%$uBxcFZr_T{hPl-RApt{ zu2JZWT=ogDc<4QEu`?(oV$MUT;0X#kI!WUMsj~8bWL{2Hg**n3sOJzY>nO1PK6vj= zf2geFDb8|A2fOwdn8bzCml5yZM@KS*%zhO_VTu48&wBG$&RV4O?I+N+zdfayjVOOs zPMQ025Ldx9+_-|!S%~^YqdU{~HuUpo*~s|pY`^D-WFNRJuKdp|s%C0E{;1^!pT7Wb zV>606ehtV~R;}#*je%rQ&%d~!l>}R30tAeXjt&X{pWRQ=DlA}SsdaUAGsJy)KyCZ+ zL(XYHktLCHKCqfZ?vO*m4$_>2LPS!YJGwLsjBlo}TP`)>hAcp=epi3e{f~Pno@m|3 z%gZ0-9IwYpf6z%V}>082~7H+Xwj1lLsT*_0=x?B&ioUJ(lu&ua0Jq~iGYbbd~R=d zi|_%3tmAsB%J1@bq^j2WikvWTc`yHM41f)*qpv@y>{bA{v`t?;KTx8|W%rG#pc*1U zjh~+gC_HJg)%aKW&dSs%9oqZ{f5i4KQ2^xb0X3oY)WZYuF(=2xJC2r^n3>*h6-CF= zvdT+vNl8)hUE|&Pf+EmCJyMo{zO7vzuSb8c0Q{}>eBOzfgJWRcPXuQ%%Kq(1`P#tM zb76PUXVL6FUS5O@3?l`KF+p;yj*L1lUJR@!NdG$DU$|-gJhOW>Hxkm@MIb$t$OL8M zc`P9CvAmr7=g*%2;u;lf1@YqsAgpYVOfx;Ii zA-XdkrcuO;C^Gh(9^9#grD{!Qv>U!8qlp&lC> zv$eC+F*DOpRUNpnAd!0xz68BS@3Y2na|a6_Um_L>>*(}!Zx|GVTXp?0^d+K!eU;z{ zO&ZOyrUn-iAD^7J$=Dm~m z-+w=AN2CS;V^4Mc+y`O_kWnOOWi8k@g906A_|@)UvB^geDk*Dg`v_2iy_Jp?UDY!y zMto76FTU4nT5GSNqwizUjU9H~fJPPsj04H&w(s%%r0y?mEJCjSNC~%DRBZx8yk;+b zGndak1X7iOp`i^x*g%Uq3cQCT4=DKii@tdA!uHiG&hd6o@PYcDYY%QI-tV+6`Zld) zYg^HG^nSAfY8?CBk$n6ABbS~S3KDwygLkZW8lY2jC2LEm0(z4-^Y>TIAjADpq-^S2 zI$B!fRR@5qmA!3~pSUi7(%&18&UN9OCC{MX}zucHhA75_JDlTc&TiCUbsODhqGJ!&OyOtQP8B($<8m!yJp!;C-j)Z7(4KiOiVkP(zBV zHV+L@FrR9Xv4LlL#8|}u%3NfTp14`7W39A*u7bZpTuWe1)4D|IA0V9c}5}Z7; zVw-FB<^t==Bkw;PaHns76NFMu3VsD34``y5pp)T?AQm}HAagRLL#05`zPrS!ECgB_ zh#Yb81>JKiZe3$93i^*U7t`!cDATCVrf7ls_q*9|;9zGz(yfKTfRc2c|2|MK{}14S z0iYIBTnpBQvV=zplAC~tdSY77ZZhe$H(P^jv1!@00ajQ7FZ)^iPWW5sW}Od<075$f ztzS$xOS5MPz!0zq0`vMCfOU6m{0;LCB%^%hOgUo__yp**m7BIP2iw84C(&wC7%&c%%y9#CZL@U9{mG_Sm%e^?Bmw>2yRL!2_Mt~@Tm;6utA`1p0trh#ugv8 zjr)b1m)B_z@9QwC+0p4O0ss){5aKeQ+DLG4aQwH6)43JZO3h?|O8~VrI3y2XC9qWt z?03-7FfeNUj;*b&+pCOuBUV9vfKMTROgd4b-SD@3xLZlcCG`2)0lN&j!FSUqb^!7t zD`y&WvHlP(NT#Br+rO3p+#moVzT&J+!{+8@2WRIZ04K}JIKk%NempsA`!j`u{NheK zS7MIMzn=;?J%`t?Kb4gs1vnD#k`ZjngY*)K=u(P=&|bLo@6V~LIY?85JwU6YzlIo2Wl5TL!qS+j1jN-RA+Jzyz>1Ca{k zpR$e3`jze)i&CuB{P)*LE{3lt%KGRLALudo^b(hCD@FzeAVuj1XfoT;5@=kotwA}; z0~s2S*!+~Z0Dd4D9O%fIpyL9w=W}S;W-)TQJpou*epA!ck94`jcmyF#C5=&~Pl?|r zS`uPCl);ZoJk;1Su4sXEUt77~U%3vl06u+<;o%a%lwDy!JJ!H*CIV+o4D>zuAzpwgX@u+^zGJI?iwFQ)EP^mHQVLWSlbbS<@QC9Y{Ut_%d;H z^f^DM563^bs-l1)YnhSsJIbdNd=*>l^hW@(gS8bFnaGdo6NgCQ&{Od7sUN>6(gsb9 z14!|S&01>7fbT0t7M#4i6dhm%?vtZ79Z`yU6#1P^87TtvGwkHH)NBCq>Qny*5Lz&s zn40d_R~RkXZ}cbOH#}ixmb?9z-a!g@`Lil>Jw29609Ms!*wI-zBpsGCC64Glj1UKr zNc9mTABoQq>~@U{^o%vQNx@PjK;}e&WdN3rfPsO*TK$4+E$6=7E~pL^RUP-u!+>`#s+YmC!n^zIo;BEm$gr$udi=RdIP%X@xsqR@Orm*hoPIGq3%34uydw(2MqHX_Z7X`3i<%*?;Ac(xFK>#NL+hrD?Z@$Q;00AwlpI(uTq1wm{^``90iSV3_|)9CIjY zYirX+eJ&#dH;R54@D_ykfSK>7Ie}XREURk`sYw+|qhFe>5OoDC$J@up82WH0alKV|7rpUMID(K8_q`NM zrexx5!0&`&XJ>~S-`J?Ms;Xg29eGmk-=CL;&E9016aet}ITZ0iOkBJ|j5a(xyn+fY zvncT@co+gnVaj=%x0+A%rJ}-as?6Z_uW$zw8=LajqN|&=>Wl^E?}j^J>Nr=IKyB@W zsohMC&r-c4)h1jBTY)C;($~8Ia+onLUC;u?b_WPV3zY!Mu%1r@B!lx}V-i@B$->Ki zT?an#9feblVEQB2)!1~x*pdwtjEZk|{QUgn>GE=zU>)7y$^ge{z%L4zpzi0~LC_9N zy%gS(_SSqYyfI+fPVLyqJ7eHsz?Qu3qc#Jc1C!+-Lj{02mGFz5oOVC_&Sc76B=#WydlfP+#gq z!h9CZBqr1GApK@xk?;4YfvW&Tq{eNfT}t>3 zxG+7lkWgeU2Kd0_lbPrbA6^1!NuIX_l9~GYdZ~#$1VZNPjw&b=NI|{>W{p76vw7-Y z3T})^nhgoQSU+9Q3?4)U{S#Z*X5#Nee5Q!}qN0e+ywF_adq3Q*Jp2Jb1Q@`OFo1X) z8#9m(<$?KzAW+eQuUR7U%gTPbEIYaplahA-`!l$tTk8&3h{k`mqF(K_wG(ST7J!Io zD((Oi#s6llJEY+WNH+frrkhr%O^%LQZQqdeJ1#&!2Q}74p!hPS!?gNdMn*(LAuD6L zMSvRU$fWs|WmU_8*x2Z3zE`bzK~vL<+v}MQa&V=! zLi^g3ot?}5b}Jep#vHz13Io#B-RghB&6-Uo?la`L5UW&(d{6=W(x3|tCMIFW)v%ia zph!I(V0ffE^lm2f#ZMk*sHq*u4TI9M|5z_iS- zsnG%DTwdb#sLL8Sx?o-73Ob7vXbln45Nzcc}>e)Mi`uZuzA%neFr!KSAvLKx~^M3%0kOyoH(B+z&O^_R(nUnKp zDcb{hhJveW<*-wpWS}AUi*McIPqiT74UOUG%wadxdLfHRU?=Eh%H8x)0z6L{V4<=`8xK#~~fqA2toQP{S&V{p0$;|JM5wkmDVu zpzRF33iTGt$q@4{Gp=(?9cByV1;Zj<3|+wL^niTwf5_a?)W)U|`7rX=0El_EAPkW3 z8vt};z$-1Z9aNgPAV)a3%{OUm$DTJ7L_Er9aZrNcoh^Kw0jdggSLEywL+~llhYuf+ zDfPhPbO8U*kn>s|9s;0JfD#RG%a~)GVYm{HQbxEZQsaSftxuoA1nqyhg9-|euqX%! zLF5KPlNQCydcY{dF$l)z=C)`4AOr*j{r_g#8`oH)TZUXc25qJYWXtF0=O;`fg-UVO zV5Yz<_-qPXwrN*leRXvlz_Isg13`%MH__RM7qsBTH+^&fKINV5&LrpL41;KCq>lm= zS!A){X*<#@(+=--iQG3i=2r;DBWkf;>EtNuHLcZ+UKR z;QsFBNza?_s5ftz>3el<=O7x&sRs*aWb@8?i4h+91qQMPuGP`6;!haAq@;%B2 zQ-q-RgM59OZQHIIq%cE3!(OAQZF`9U=9Y&n!V<#%&FBs)> z82!q6X3a+lLQyDyjlmXKV&0s94@B1=f>i*2WTb$M6N1xRKrjs80hftFF{qMd1W1i@`cJmVsn)?UzCQ&aJ@yQD1RBm<89)u|KpoSjtd)YD)OvH! zvbQkPa0)mPE4T%1Pp_U-B?5BZ?7hn^c_$u5fN~M_$fPsxJW>eZZ1ttqjaC|4sRR*e zc~OPZ47ofO$jC-{dNw+W8dotohc2na_g{y6jz0neL)J^ATS3N5sJpN8+U00lnEuiW z&FmQ!xkh9H&yKyRDa}`-|L6Bv&xWC)i@pQH!++W?mUojaz5=J+>{VLlv1ozxmEfqB z=I0*>tLX{);pS1&RB&Tk#g`@XwE6G;cy_M7=XR_h|2qt~v>-75E4yOz5o!rxJuxbt zQgI^7e>y_>-D5f*3r?&(=ZW%0=jeniF$=?<=idzo>5qWJI!f=jwUg1u^N9fCZ5Bbt ziZK(rLqi%Nx9bdCISE=nM&>O2)-*-t8lFl3m&X;Pn>dAdjS_Ew|GGVnMOU_5Vu+rid3d z>p(d4@2lnAPiq$$x90%10(Phl`fPDJUjKiTxktn=x-D@L>_wPSdPS^1VzF?W;V&x; zd7vQyb*HjsLjYM`0t4sv#&U556j%bFFBrib$KiO0M4IP&;C>huy6%>;Gv8O10(+NA_m{GWqEw1oEZa>WkLO`BAu;u#w za4BvK3cI}xqW9k*ilOob9EASO+2545G#e@eJx;6-X8u1*OCh*{{jWcpV?d5Uc%wGm4IgQ~y*W(FVfjHLM-k6Z)Bz+BmWs)2PVp6>gy73;J!_)4-ildN> ziXa3SRL{iZC)n(RU~+lqq*D$Qa4^Lh4JLR^hkZ1(wEiY3(}U?=*P}9awZK5}yx?=H z(EF1-062ZWQ))i?XYoMFD^(u^KCi$cOiFh=qwH23JFuAz8d@1xL2c>nXpi&s(6 zaQl@#8Xnx0DT76@Y#WvXxTLQJw86O3$OqC?lDM$v@J5tD-X!UWXXKLG@Zy4nc;&1!B1!T9I zd{+}w@!$mo%(+4TRFPF8nvBc1*^2}4cZ>940ZLpX&I2d+G4yWN5-{{p$0hk3tv)~r zuSOnjwE8!8Jyccftv>Y8xc1KAAuw%8^Sid7zdw!% zkZ9+i7|Y1GGcJC|Rl*Brvy2>WdBUa+T=zHcT|>~`2W}2KMvzBQ?@R^e@bOw@Xv&}xHz&%05Q}Gk|DEz?P4?k zKdE3=D+eS5ATs@>UeFQ^KmzcepuYR;&-Z|dyB+`H9^uK7j_{14|3)>{UtXj6oseAm z38om%Yni*cxJX)R?SpF00$>)HTt$vEfaC<^Sin;d(bH==IIsfH(GkVI*>}0wjmPp@XM_ zbKU?02LC_&v!Ra{wZT;F_bj_IVh^e%9Lnyo(9*f>+YINWfipD{LQ>MW-5jPMB4Jmx zKULoKg<^4$cPd+UQp~yU4Ed@lPj3M(1p*r&&9!o_wYubhJ|-k|zvlo`12>P=KjS23 z#!vLhkG&Rg*C^wkD+D157*<8*Mq$vExc=q(*Fw}FCr~OJ83i~hpR z47;{=;~AGs0CogSKFjlKCVML-@!lZJ3e$sXmG4t0p8&d$iPh1zWiv)?l&VT%P_*XH zh|mWV=LI%joO6bx-`$e*_d#c29#+GRXyhXw)szeMWGL7dggMDVJPU;|o34(gwE876 zOGe}(Z+0s}2r3L6pTsiY84bPVvhVEn!aUTJ5JWMdOhSFhq(uW~%wD|OApksSJdA;< zL6Mf#n1Fxhz9W#2=54-A|IdhW+{P=%esTP{o8Jf>krzyHvYuJ7e0v0)0hvviLTE}Q zKiReyIXn^-FVZ9hk8@Pg665Pr6iS2L&w@mBVB+{ceg&~}zKeEra11-wnwg)B;gR9t zid0Z9*)Gz^5H`5h_-M_<2tR~{@KQ&8h&Up2=cIogKOoZjJ>icNOoqS=O9Gzq;8PZy z^qcUh@kFTPhpXQBm=x_+^ojgZP5k?D!ROD>N;v;~Z*5iMWc8)8bq*W5T%tBEOpP80 zd)2eiEy6MXQ3!2Zuh`4fL;&|gsz2>Kq+NRJ$;)T@FJ(QfUfCg@NJm^Nv5R9UtF8KR zWD7P_d{d%ElTXO*$ryTDX;M2Q^_JyzML7Nhmk_$Mt)1v^OTeesnAowc3oEj5(rN{GNwvJw zEq}jta^xHQ7CCUkGBw`R=1|`HYM;X`a+NS$e!S~wd{%!R5`i+9sCS=vs+a#rV5k+E zzZTrBDD9F{sDHC}7c9)BjNwpBGK$Weh;8ipfw%tM$F9fdjWmtunP_8f*35sX^%Q$3 zMjaWM^~JbyV$q|}IblWI`VHo$rP=WMGLTe3-^)i#GS$M8T|ay?YRSJa{w#5#j1bl+oX| zNi7Ch#V{U@W6c0izc3C3@s{0m|swzS%7(ya&HY(p4(;W|WC=o?ApryO)bOCzY8=K0 zjT52&7-hWC0^UueK7V0<=N$)AdZb#)ZTSp!KgWIVyGu`DH6djdEPzdTv$?r*BWMK= z7XpPm$7#hSUHdHpNlx6(m1OnY`5djxkL7oPbGaM&ca;kV4GqB%!hw@?SuU4s_%mne zID(Y0W|ATq&SCR=zl4zkJ2Ea)wZEX8$04U4N3XM%OfuGvsqKM( zVj0%f8<2^3ef`D{9d-OvN|pD(Ge2MaJgTDoyN^gmj-7z4dRDNG0gez$9K7%N)xjdx zD$y#_Ml51qDAOLoxy;0^(A%_7P}=j_C8%m*(oxz_n!Ec-V`7;Kjw1zsg}C~G$+Nn@ zG52cq$twP;;G)FvYga*WR0E0l-g5tvhMIiA%pz{1NR&MMQ87Im%SJ)gAF35taYCFf zmD@!1tHqDu#B(RCj1;BlN5t;G%qd)5-~GZ5x_(8&=U|KeInipNBsDj6!pc%H!*(AU zsP?1u17TTT=^qW{$VpbOFrN)Ac%P20R3Yl6+p2JXMp%gUa@J6QR~gC?{=l)o$`X08 zeSQ(G-Jy_^Ls8@F9vzvUlvcGzl+Qs3bLLp%If~pb6kHTSpq{n3b z(;QbN2^sv7vUJTUrcA7#w^x`hjQWLg{-_rJK|kM%jjlN-;X1jv6ZH0gM76c>9}sx! zQ+%eb$Op`n=73MXc)mCxgx%`H-Y3FVKYA^cc>8o61Ub0$vDv?xyZKb`^ITMZ-3}M7 zcaaKjR%!}deFV$@HPG=_pxp`*P>Oz!(e!BcJ`0`_Er9$$pd5X-xJwQDVtv z_buhrfx1tdGK5!A!7a2Pp)il^V4JHK4lZ53uHVCA`O<$<+uR5xV@WM=s{34ZUlgQj zKO_ie=JY2y5^+jtvNWl0Jtsor$`kcURJCN$Nn%yr)1>#m&8v6Vg?ChjY1hMb zR)bmc--Y-69uVHRUZhXg4BJj${V08Zg!RSuXE?eF!z@SZbCRRC3Ed^4Sd-!>FnI!6 z9)5AlNjtdFsN>6?KYY8yH=Bm~UCC9Q@9F+7QM&~zo3OKoMOwb!gPv<^Q=>MRLFKdi z?{|w^Xt1^VZ8_LpD_nQ9zOSNz>uv}jIIz_>=*y$i`D9Iq7wd@E3ik6t%1P;iP^7M@ zn+Rnc{h}MjCa(Vo{Z`2{_^{J&Reqq|#LL9# z;TXxNeI{Lf7mc7;Bk1`~z+#X3A-=uS;q4Oo=q!w%-iSqCGy#kCbCWYZciiM zo!fR|@V3Wt+)S(x#G(gq3x0QMHe86zZ&j+WXD+lm@oFbvVJ3V-gVHr0-_-)& z_iolX$m~P+O#f=$TkCYGW35&V$=3$<~PZ|;5xit z>h9qOea{rJ%uDMI-m<|=J)(?o+v+Jah~`hz4xNmjXS z9$W#m2=uNhx0LYRVglQ(3PGWIaDQ6YJrI#F^{xUzahy0M(K@%oJ<9{-YWk4xl=Mv` zN(6xS#w{}y86`=n*9is_YQc}+xmipC zw7CI#zkZr^+J4jtJfNrh{mFfS;P=BFt}gNRimndy&!*MI%k*V)ygg6P3)&wuz9<14 z%8oFRo;j0QJ$M;GKIz|--+7ieypouLtd08Y6D+uKkq@_`5+Q6wk48hKlMaf{}A=q81FNd+4y6&ufur3hS`u~`$6m>CWhsSo&- zX$%|xuCog;M6YVY@~K`!LeRG8f|CiWU#Bms=^mp*lrLpu!Y-C@XLuqs#fy`q{4}B+ znxCtd5G1`6$afgSZG07`VI-9|z5Ak^+ z4NpU$(M?5&`#&t467`DvXij#{$e*0-UsKeZ(tNfB`7$>S z&!e8Syv%Ys4pg#&@N(8BSS|aucxW*~Il5bu*EGcheIl zIYHM^44EzWV$p|Dyr;jkg6?^ml>U=wVsAx4ZfD4RQZ1w^RYw=R>&rtTzX$c&|7uPq zArA=E(m(>=fvN$;%96aw!I})wNw0}6&ShHnbMm*gscrt=Vp(?{NWMm0U zXhByMLofK6&KpG|Ta9Q^4+h^|wxB>ti@uQ?TvUu8x_-c$V)`;p5UX^#$?CVC9P*kh7xg|Gbt)wLWj3fY6IRx3fKAt1K9u=fscWYP=!NOtf7^X@sIr#KHSu=ngjyr@qZT|Q2KGA z`vaOr;3eE;k=62I0}Cxw*TEm(kU9Qc{VP+p7x)Wu`RO+dbOQjgmcSo@;{IMp2y=l7 z)e!hUS~yn=PreTCe9`Z^5oN$rK%Uawa^Yhb6l_I0X8KiuwZ{nCc0tK$2G1uq5Yfoe z@lU-8Z~n{Wq8`080{;VSRJvQPFj#J5Bk(@33aKRI5< zhJIHh?vWgThu?1Fr2=_h* zdG1LOI|e+857hN@2LVbqKtWC+w{Io`@%_0_V~d;(RMo+nqCXdF>yZ1& zB^B`heg;>}l%=bEHxqn-VxIEn9Drxuf^YV?WxWq@1{qKC1p_FubTAtLkYD7dKrrwG zFuY$EGs;LpG%?zm`4g-kZtRRF*IvGf(FxB)G6 zbV6<({Ou#D;?wGKjHgA4k;}pXJNQ9002gBfzCwQCe*|W^ALs{p+_F6^eQsKJR==IR%n zf_2;BpI^y+{eI-{Tf%^h5`79;V`9MX;iv|{I(vcpkm1As4umM(ph1Zi5Hf-1v#qdZ z0~{*qckaF=x{=~B{|yu=-ED878UWjzLQVzifL{PZly1ZBW0NAG*IVCIx9sl)1|)}Esg8Taura8&7!LrGKv;5?_0TZD&!-vN{G@=z24+B?A116uQ7Lg2eT>)tj3 z#vZ6|l27-XJlM7$3W}semz!et?QsMt6#F5nWW3)#Lwo@ZFcr85_#qJGwLh$ZNtv+p zQkXFT#*c>NArKxWGX?t?1aBDz%>_TrZ7>>TfX=yES!H+6Vc1hBpY+xBUK{ivqdeCm z2mfx=z-&M@0PY|b_&4AVWC*d>W>p#>G8~2_z_^hxeiTd^18GAcJ{lq-AT$Vq^_<^M zvp7?5)Iew~{D1FZlFGX6UC`13wM|e~3Him+iFfp*EWXj$>ef(QM=&CD_}@at^Q+Mq z7oZvd_n-sDA^ie30SQVpB0vifVGtD#@iCAz1V*RIBOy*^CMLx|RFsTJ3=EJd%Ygy% zz1j;0G@LgUCbJy6!3f<(`P0x1%`H&X0O#tVrdH*Tos z=4FJbM^4cVJ#uTVsZ~C~8(W~c6S02v z^Zo^x!r+#=a|(3{;CX_Oy9L()KR^nOs5hv4=pFd$fzN9znoFU?p%3 z(h#U|7_MOiP9O_&e27fn?Nqu^{)lP-ypJ9j16+%YAD94yD%~hQp%WRo_XY4dvheGG zlj-s%ssT`r0HhM}65wiJI&%9^{Z77*0P2wr)pbb0mJ-x0J-49VY|5iSrWwxw76S8t z@j#@~4O5sFr1SJ!^RXK^i|+5YX1L722KGo0W<>@$SHm{GJvNP8N09IVN?U)AA|x)$jrm( zNTVAX9E)Z8mU#_A7P$!&i?H30rk0CK=507H>JgAAlEAq_|d!jUtD z5M(@pyNrWCuFpHnM=P?7)@h`+UXl6VmFC~Kqk8Xs3e^A%OmxV>9s@)pXAHxTGlXRG z?_U;qFB diff --git a/docs/_static/resources/custom.css b/docs/_static/resources/custom.css deleted file mode 100644 index e2435f05..00000000 --- a/docs/_static/resources/custom.css +++ /dev/null @@ -1,9 +0,0 @@ -/* Render card titles in link color so that there is a cue that they're links. */ -.sd-card-title { - color: var(--color-link); -} - -/* Fix for Pygments not having a dark mode override for "generic content" */ -body[data-theme="dark"] .highlight .go { - color: #ccc; -} diff --git a/docs/conf.py b/docs/conf.py deleted file mode 100644 index c64df978..00000000 --- a/docs/conf.py +++ /dev/null @@ -1,331 +0,0 @@ -# BeeWare documentation build configuration file, created by -# sphinx-quickstart on Sat Jul 27 14:58:42 2013. -# -# This file is execfile()d with the current directory set to its containing dir. -# -# Note that not all possible configuration values are present in this -# autogenerated file. -# -# All configuration values have a default; values that are commented out -# serve to show the default. - -import os -import sys -from datetime import datetime -from importlib.metadata import version as metadata_version - -# If extensions (or modules to document with autodoc) are in another directory, -# add these directories to sys.path here. If the directory is relative to the -# documentation root, use os.path.abspath to make it absolute, like shown here. - -# -- General configuration ----------------------------------------------------- - -# If your documentation needs a minimal Sphinx version, state it here. -# needs_sphinx = '1.0' - -# Add any Sphinx extension module names here, as strings. They can be extensions -# coming with Sphinx (named 'sphinx.ext.*') or your custom ones. -extensions = [ - "sphinx.ext.autodoc", - "sphinx.ext.todo", - "sphinx_design", - "sphinx_tabs.tabs", - "sphinx_copybutton", - "sphinx.ext.intersphinx", -] - -# Add any paths that contain templates here, relative to this directory. -templates_path = ["_templates"] - -# The suffix of source filenames. -source_suffix = ".rst" - -# The encoding of source files. -# source_encoding = 'utf-8-sig' - -# The master toctree document. -master_doc = "index" - -# General information about the project. -project = "BeeWare" -copyright = f"{datetime.now().year}, Russell Keith-Magee" - -# The version info for the project you're documenting, acts as replacement for -# |version| and |release|, also used in various other places throughout the -# built documents. -# -# The full version, including alpha/beta/rc tags. -release = metadata_version("beeware") -# The short X.Y version -version = ".".join(release.split(".")[:2]) - -autoclass_content = "both" - -# The language for content autogenerated by Sphinx. Refer to documentation -# for a list of supported languages. -# language = None - -# There are two options for replacing |today|: either, you set today to some -# non-false value, then it is used: -# today = '' -# Else, today_fmt is used as the format for a strftime call. -# today_fmt = '%B %d, %Y' - -# List of patterns, relative to source directory, that match files and -# directories to ignore when looking for source files. -exclude_patterns = ["_build"] - -# The reST default role (used for this markup: `text`) to use for all documents. -# default_role = None - -# If true, '()' will be appended to :func: etc. cross-reference text. -# add_function_parentheses = True - -# If true, the current module name will be prepended to all description -# unit titles (such as .. function::). -# add_module_names = True - -# If true, sectionauthor and moduleauthor directives will be shown in the -# output. They are ignored by default. -# show_authors = False - -# The name of the Pygments (syntax highlighting) style to use. -pygments_style = "sphinx" - -# A list of ignored prefixes for module index sorting. -# modindex_common_prefix = [] - -intersphinx_mapping = {"python": ("https://docs.python.org/3", None)} - -# -- Options for link checking ------------------------------------------------- - -# GitHub generates anchors in javascript -linkcheck_ignore = [ - r"https://github.com/.*#", - r"http://127.0.0.1.*", - r"https://pypi.org/.*#", -] - -# -- Options for copy button --------------------------------------------------- - -# virtual env prefix: (venv), (beeware-venv) -venv = r"\((?:beeware-)?venv\)" -# macOS and Linux shell prompt: $ -shell = r"\$" -# win CMD prompt: C:\>, C:\...> -cmd = r"C:\\>|C:\\\.\.\.>" -# PowerShell prompt: PS C:\>, PS C:\...> -ps = r"PS C:\\>|PS C:\\\.\.\.>" -# zero or one whitespace char -sp = r"\s?" - -# optional venv prefix -venv_prefix = rf"(?:{venv})?" -# one of the platforms' shell prompts -shell_prompt = rf"(?:{shell}|{cmd}|{ps})" - -copybutton_prompt_text = "|".join( - [ - # Python REPL - # r">>>\s?", r"\.\.\.\s?", - # IPython and Jupyter - # r"In \[\d*\]:\s?", r" {5,8}:\s?", r" {2,5}\.\.\.:\s?", - # Shell prompt - rf"{venv_prefix}{sp}{shell_prompt}{sp}", - ] -) -copybutton_prompt_is_regexp = True -copybutton_remove_prompts = True -copybutton_only_copy_prompt_lines = True -copybutton_copy_empty_lines = False - -# -- Options for HTML output --------------------------------------------------- - -# Theme options are theme-specific and customize the look and feel of a theme -# further. For a list of options available for each theme, see the -# documentation. -# html_theme_options = {} - -# Add any paths that contain custom themes here, relative to this directory. -# html_theme_path = [] - -# The name for this set of Sphinx documents. If None, it defaults to -# " v documentation". -html_title = "BeeWare Tutorial" - -# A shorter title for the navigation bar. Default is the same as html_title. -# html_short_title = None - -# The name of an image file (relative to this directory) to place at the top -# of the sidebar. -html_logo = "_static/images/beeware.png" - -# The name of an image file (within the static path) to use as favicon of the -# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 -# pixels large. -# html_favicon = None - -# Add any paths that contain custom static files (such as style sheets) here, -# relative to this directory. They are copied after the builtin static files, -# so a file named "default.css" will overwrite the builtin "default.css". -html_static_path = ["_static"] - -# If not '', a 'Last updated on:' timestamp is inserted at every page bottom, -# using the given strftime format. -# html_last_updated_fmt = '%b %d, %Y' - -# If true, SmartyPants will be used to convert quotes and dashes to -# typographically correct entities. -# html_use_smartypants = True - -# Custom sidebar templates, maps document names to template names. -# html_sidebars = {} - -# Additional templates that should be rendered to pages, maps page names to -# template names. -# html_additional_pages = {} - -# If false, no module index is generated. -# html_domain_indices = True - -# If false, no index is generated. -# html_use_index = True - -# If true, the index is split into individual pages for each letter. -# html_split_index = False - -# If true, links to the reST sources are added to the pages. -# html_show_sourcelink = True - -# If true, "Created using Sphinx" is shown in the HTML footer. Default is True. -# html_show_sphinx = True - -# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True. -# html_show_copyright = True - -# If true, an OpenSearch description file will be output, and all pages will -# contain a tag referring to it. The value of this option must be the -# base URL from which the finished HTML is served. -# html_use_opensearch = '' - -# This is the file name suffix for HTML files (e.g. ".xhtml"). -# html_file_suffix = None - -# Output file base name for HTML help builder. -htmlhelp_basename = "beewaredoc" - -html_theme = "furo" - -html_css_files = [ - "resources/custom.css", -] - -# -- Options for LaTeX output -------------------------------------------------- - -latex_elements = { - # The paper size ('letterpaper' or 'a4paper'). - #'papersize': 'letterpaper', - # The font size ('10pt', '11pt' or '12pt'). - #'pointsize': '10pt', - # Additional stuff for the LaTeX preamble. - #'preamble': '', -} - -# Grouping the document tree into LaTeX files. List of tuples -# (source start file, target name, title, author, documentclass [howto/manual]). -latex_documents = [ - ("index", "beeware.tex", "BeeWare Documentation", "Russell Keith-Magee", "manual"), -] - -# The name of an image file (relative to this directory) to place at the top of -# the title page. -# latex_logo = None - -# For "manual" documents, if this is true, then toplevel headings are parts, -# not chapters. -# latex_use_parts = False - -# If true, show page references after internal links. -# latex_show_pagerefs = False - -# If true, show URL addresses after external links. -# latex_show_urls = False - -# Documents to append as an appendix to all manuals. -# latex_appendices = [] - -# If false, no module index is generated. -# latex_domain_indices = True - -# -- Options for manual page output -------------------------------------------- - -# One entry per manual page. List of tuples -# (source start file, name, description, authors, manual section). -man_pages = [("index", "beeware", "BeeWare Documentation", ["Russell Keith-Magee"], 1)] - -# If true, show URL addresses after external links. -# man_show_urls = False - -# -- Options for Texinfo output ------------------------------------------------ - -# Grouping the document tree into Texinfo files. List of tuples -# (source start file, target name, title, author, -# dir menu entry, description, category) -texinfo_documents = [ - ( - "index", - "beeware", - "BeeWare Documentation", - "Russell Keith-Magee", - "BeeWare", - "Write Python. Run anywhere.", - "Miscellaneous", - ), -] - -# Documents to append as an appendix to all manuals. -# texinfo_appendices = [] - -# If false, no module index is generated. -# texinfo_domain_indices = True - -# How to display URL addresses: 'footnote', 'no', or 'inline'. -# texinfo_show_urls = 'footnote' - -# -- Options for spelling ------------------------------------------- - -# Spelling check needs an additional module that is not installed by default. -# Add it only if spelling check is requested so docs can be generated without it. -if "spelling" in sys.argv: - extensions.append("sphinxcontrib.spelling") - -# Spelling language. -spelling_lang = "en_US" - -# Location of word list. -spelling_word_list_filename = "spelling_wordlist" - -spelling_ignore_pypi_package_names = False - -# -- Options for Todos ------------------------------------------- - -# If this is True, todo and todolist produce output, else they produce nothing. The default is False. -todo_include_todos = True - -# If this is True, todo emits a warning for each TODO entries. The default is False. -# todo_emit_warnings = False - -# If this is True, todolist produce output without file path and line, The default is False. -# todo_link_only = False - -# -- Options for gettext ------------------------------------------- - -gettext_compact = False -gettext_uuid = True -gettext_allow_fuzzy_translations = True - -# ReadTheDocs doesn't allow configuration of the -t tags passed in for builds; -# but it *does* allow for configuration of environment variables. -if not any(tag.endswith("_translation") for tag in tags): - translation = os.getenv("TRANSLATION", "original") - tags.add(f"{translation}_translation") diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md new file mode 100644 index 00000000..952ef9dc --- /dev/null +++ b/docs/en/how-to/index.md @@ -0,0 +1,679 @@ +# Contributing to this tutorial + +This tutorial is written using [Sphinx and +reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html). +This guide will help you contribute fixes or new content to this +tutorial. + +Translations of this tutorial are managed using +[Weblate](https://hosted.weblate.org/engage/beeware/). If you'd like to +contribute to the translation effort, join the `#translations` channel +on [Discord](https://beeware.org/bee/chat/) and introduce yourself! + +## Set up your development environment + +To build the BeeWare tutorial you **must** have a Python 3.12 +interpreter installed and available on your path (i.e., `python3` must +start a Python 3.12 interpreter). + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +$ python3 --version +$ pip3 --version +``` +::: + +::: {.group-tab} +Linux + +``` console +$ python3 --version +$ pip3 --version +``` +::: + +::: {.group-tab} +Windows + +``` doscon +C:\...>python3 --version +C:\...>pip3 --version +``` +::: +:::::: + +### Install Enchant + +You'll also need to install the Enchant spell checking library. + +:::::: {.tabs} +::: {.group-tab} +macOS + +Enchant can be installed using [Homebrew](https://brew.sh): + +``` console +(venv) $ brew install enchant +``` + +If you're on an Apple Silicon machine (M-series), you'll also need to +manually set the location of the Enchant library: + +``` console +(venv) $ export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib +``` +::: + +::: {.group-tab} +Linux + +Enchant can be installed as a system package: + +**Ubuntu / Debian** + +``` console +$ sudo apt update +$ sudo apt install enchant-2 +``` + +**Fedora** + +``` console +$ sudo dnf install enchant +``` + +**Arch / Manjaro** + +``` console +$ sudo pacman -Syu enchant +``` + +**OpenSUSE Tumbleweed** + +``` console +$ sudo zypper install enchant +``` +::: + +::: {.group-tab} +Windows + +Enchant is installed automatically when you set up your development +environment. +::: +:::::: + +### Create a virtual environment + +The recommended way of setting up your development environment for +BeeWare is to install a virtual environment, install the required +dependencies and start coding. To set up a virtual environment, run: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +$ python3 -m venv venv +$ source venv/bin/activate +``` +::: + +::: {.group-tab} +Linux + +``` console +$ python3 -m venv venv +$ source venv/bin/activate +``` +::: + +::: {.group-tab} +Windows + +``` doscon +C:\...>python3 -m venv venv +C:\...>venv\Scripts\activate +``` +::: +:::::: + +Your prompt should now have a `(venv)` prefix in front of it. + +### Clone the BeeWare repository + +For updates to BeeWare documentation: + +Next, go to [the BeeWare page on +GitHub](https://github.com/beeware/beeware), fork the repository into +your own account, and then clone a copy of that repository onto your +computer by clicking on "Clone or Download". If you have the GitHub +desktop application installed on your computer, you can select "Open in +Desktop"; otherwise, copy the URL provided, and use it to clone using +the command line: + +:::::: {.tabs} +::: {.group-tab} +macOS + +Fork the BeeWare repository, and then: + + (venv) $ git clone https://github.com//beeware.git + +(substituting your GitHub username) +::: + +::: {.group-tab} +Linux + +Fork the BeeWare repository, and then: + + (venv) $ git clone https://github.com//beeware.git + +(substituting your GitHub username) +::: + +::: {.group-tab} +Windows + +Fork the BeeWare repository, and then: + +``` doscon +(venv) C:\...>git clone https://github.com//beeware.git +``` + +(substituting your GitHub username) +::: +:::::: + +### Install BeeWare tutorial docs dependencies + +Now that you have the source code, you can install BeeWare docs +requirements into your development environment. Since we're installing +from source, we can't rely on pip to resolve the dependencies to source +packages, so we have to manually install each package: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ cd beeware +(venv) $ python -m pip install -e ".[dev]" +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ cd beeware +(venv) $ python -m pip install -e .[dev] +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>cd beeware +(venv) C:\...>python -m pip install -e .[dev] +``` +::: +:::::: + +### Install pre-commit + +BeeWare uses a tool called [Pre-Commit](https://pre-commit.com) to +identify simple issues and standardize code formatting. It does this by +installing a git hook that automatically runs a series of code linters +prior to finalizing any git commit. To enable pre-commit, run: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ pre-commit install +pre-commit installed at .git/hooks/pre-commit +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ pre-commit install +pre-commit installed at .git/hooks/pre-commit +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>pre-commit install +pre-commit installed at .git/hooks/pre-commit +``` +::: +:::::: + +When you commit any change, pre-commit will run automatically. If there +are any issues found with the commit, this will cause your commit to +fail. Where possible, pre-commit will make the changes needed to correct +the problems it has found: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ git add some/interesting_file.py +(venv) $ git commit -m "Minor change" +black....................................................................Failed +- hook id: black +- files were modified by this hook + +reformatted some/interesting_file.py + +All done! ✨ 🍰 ✨ +1 file reformatted. + +flake8...................................................................Passed +check toml...........................................(no files to check)Skipped +check yaml...........................................(no files to check)Skipped +check for case conflicts.................................................Passed +check docstring is first.................................................Passed +fix end of files.........................................................Passed +trim trailing whitespace.................................................Passed +isort....................................................................Passed +pyupgrade................................................................Passed +docformatter.............................................................Passed +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ git add some/interesting_file.py +(venv) $ git commit -m "Minor change" +black....................................................................Failed +- hook id: black +- files were modified by this hook + +reformatted some/interesting_file.py + +All done! ✨ 🍰 ✨ +1 file reformatted. + +flake8...................................................................Passed +check toml...........................................(no files to check)Skipped +check yaml...........................................(no files to check)Skipped +check for case conflicts.................................................Passed +check docstring is first.................................................Passed +fix end of files.........................................................Passed +trim trailing whitespace.................................................Passed +isort....................................................................Passed +pyupgrade................................................................Passed +docformatter.............................................................Passed +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>git add some/interesting_file.py +(venv) C:\...>git commit -m "Minor change" +black....................................................................Failed +- hook id: black +- files were modified by this hook + +reformatted some\interesting_file.py + +All done! ✨ 🍰 ✨ +1 file reformatted. + +flake8...................................................................Passed +check toml...........................................(no files to check)Skipped +check yaml...........................................(no files to check)Skipped +check for case conflicts.................................................Passed +check docstring is first.................................................Passed +fix end of files.........................................................Passed +trim trailing whitespace.................................................Passed +isort....................................................................Passed +pyupgrade................................................................Passed +docformatter.............................................................Passed +``` +::: +:::::: + +You can then re-add any files that were modified as a result of the +pre-commit checks, and re-commit the change. + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ git add some/interesting_file.py +(venv) $ git commit -m "Minor change" +black....................................................................Passed +flake8...................................................................Passed +check toml...........................................(no files to check)Skipped +check yaml...........................................(no files to check)Skipped +check for case conflicts.................................................Passed +check docstring is first.................................................Passed +fix end of files.........................................................Passed +trim trailing whitespace.................................................Passed +isort....................................................................Passed +pyupgrade................................................................Passed +docformatter.............................................................Passed +[bugfix e3e0f73] Minor change +1 file changed, 4 insertions(+), 2 deletions(-) +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ git add some/interesting_file.py +(venv) $ git commit -m "Minor change" +black....................................................................Passed +flake8...................................................................Passed +check toml...........................................(no files to check)Skipped +check yaml...........................................(no files to check)Skipped +check for case conflicts.................................................Passed +check docstring is first.................................................Passed +fix end of files.........................................................Passed +trim trailing whitespace.................................................Passed +isort....................................................................Passed +pyupgrade................................................................Passed +docformatter.............................................................Passed +[bugfix e3e0f73] Minor change +1 file changed, 4 insertions(+), 2 deletions(-) +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>git add some\interesting_file.py +(venv) C:\...>git commit -m "Minor change" +black....................................................................Passed +flake8...................................................................Passed +check toml...........................................(no files to check)Skipped +check yaml...........................................(no files to check)Skipped +check for case conflicts.................................................Passed +check docstring is first.................................................Passed +fix end of files.........................................................Passed +trim trailing whitespace.................................................Passed +isort....................................................................Passed +pyupgrade................................................................Passed +docformatter.............................................................Passed +``` +::: +:::::: + +Now you are ready to start hacking on BeeWare docs! + +## Building BeeWare's documentation + +### Build documentation locally + +Once your development environment is set up, run: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ tox -e docs +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ tox -e docs +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>tox -e docs +``` +::: +:::::: + +The output of the file should be in the `docs/_build/html` folder. If +there are any markup problems, they'll raise an error. + +### Live documentation preview + +To support rapid editing of documentation, BeeWare also has a "live +preview" mode: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ tox -e docs-live +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ tox -e docs-live +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>tox -e docs-live +``` +::: +:::::: + +This will build the documentation, start a web server to serve the build +documentation, and watch the file system for any changes to the +documentation source. If a change is detected, the documentation will be +rebuilt, and any browser viewing the modified page will be automatically +refreshed. + +Live preview mode will only monitor the `docs` directory for changes. If +you're updating the inline documentation associated with BeeWare source +code, you'll need to use the `docs-live-src` target to build docs: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ tox -e docs-live-src +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ tox -e docs-live-src +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>tox -e docs-live-src +``` +::: +:::::: + +This behaves the same as `docs-live`, but will also monitor any changes +to the `core/src` folder, reflecting any changes to inline +documentation. However, the rebuild process takes much longer, so you +may not want to use this target unless you're actively editing inline +documentation. + +### Documentation linting + +The build process will identify reStructuredText problems, but BeeWare +performs some additional "lint" checks. To run the lint checks: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ tox -e docs-lint +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ tox -e docs-lint +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>tox -e docs-lint +``` +::: +:::::: + +This will validate the documentation does not contain: + +- dead hyperlinks +- misspelled words + +If a valid spelling of a word is identified as misspelled, then add the +word to the list in `docs/spelling_wordlist`. This will add the word to +the spellchecker's dictionary. When adding to this list, remember: + +- We prefer US spelling, with some liberties for programming-specific + colloquialism (e.g., "apps") and verbing of nouns (e.g., "scrollable") +- Any reference to a product name should use the product's preferred + capitalization. (e.g., "macOS", "GTK", "pytest", "Pygame", + "PyScript"). +- If a term is being used "as code", then it should be quoted as a + literal rather than being added to the dictionary. + +### Rebuilding all documentation + +To force a rebuild for all of the documentation: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ tox -e docs-all +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ tox -e docs-all +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>tox -e docs-all +``` +::: +:::::: + +The documentation should be fully rebuilt in the `docs/_build/html` +folder. If there are any markup problems, they'll raise an error. + +## What to work on? + +If you're looking for specific areas to improve, there are [tickets +tagged +"documentation"](https://github.com/beeware/BeeWare/issues?q=is%3Aopen+is%3Aissue+label%3Adocumentation) +in BeeWare's issue tracker. + +However, you don't need to be constrained by these tickets. If you can +identify an error in the tutorial, or an improvement that can be made, +start writing! Anything that improves the experience of the end user is +a welcome change. + +## Submitting a pull request + +Before you submit a pull request, there's a few bits of housekeeping to +do. + +### Submit from a feature branch, not your `main` branch + +Before you start working on your change, make sure you've created a +branch. By default, when you clone your repository fork, you'll be +checked out on your `main` branch. This is a direct copy of BeeWare's +`main` branch. To contribute to BeeWare itself, not the docs, please +review the repo README. + +While you *can* submit a pull request from your `main` branch, it's +preferable if you *don't* do this. If you submit a pull request that is +*almost* right, the core team member who reviews your pull request may +be able to make the necessary changes, rather than giving feedback +asking for a minor change. However, if you submit your pull request from +your `main` branch, reviewers are prevented from making modifications. + +Instead, you should make your changes on a *feature branch*. A feature +branch has a simple name to identify the change that you've made. + +To create a feature branch, run: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(venv) $ git checkout -b fix-layout-bug +``` +::: + +::: {.group-tab} +Linux + +``` console +(venv) $ git checkout -b fix-layout-bug +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(venv) C:\...>git checkout -b fix-layout-bug +``` +::: +:::::: + +Commit your changes to this branch, then push to GitHub and create a +pull request. diff --git a/docs/how-to/index.rst b/docs/en/how-to/index.rst similarity index 100% rename from docs/how-to/index.rst rename to docs/en/how-to/index.rst diff --git a/docs/en/index.md b/docs/en/index.md new file mode 100644 index 00000000..e28bf19b --- /dev/null +++ b/docs/en/index.md @@ -0,0 +1,94 @@ +# Welcome to the BeeWare Tutorial! + +**Write Python. Run Anywhere.** + +Welcome to BeeWare! In this tutorial, we're going to build a graphical +user interface using Python, and deploy it as a desktop application, as +a mobile application, and as a single page web app. We'll also look at +how you can use BeeWare tools to perform some of the common tasks that +you'll need to do as an app developer, such as testing your app. + +:::: {.only} +original_translation + +::: {.admonition} +Translations are available + +If you're not comfortable with English, translations of this tutorial +are available in [Deutsch](https://docs.beeware.org/de), +[Español](https://docs.beeware.org/es), +[Français](https://docs.beeware.org/fr), +[Italiano](https://docs.beeware.org/it), +[Português](https://docs.beeware.org/pt), +[中文(简体)](https://docs.beeware.org/zh-cn), and +[中文(繁體)](https://docs.beeware.org/zh-tw). +::: +:::: + +:::: {.only} +machine_translation + +::: {.admonition} +This is a machine translation! + +This version of the tutorial has been generated by machine translation. +We know this isn't ideal, but we felt that a bad translation was better +than no translation at all. + +If you'd like the help improve the translation, get in touch! We have a +`#translations` channel in [Discord](https://beeware.org/bee/chat/). +Introduce yourself there and we will add you to the translation team. +::: +:::: + +:::: {.only} +human_translation + +::: {.admonition} +This is a translation! + +This document is a translation of the English version. The translation +has been reviewed by humans, but newer sections may be generated by +machine translation, or not translated at all. + +If you'd like the help improve the translation, get in touch! We have a +`#translations` channel in [Discord](https://beeware.org/bee/chat/). +Introduce yourself there and we will add you to the translation team. +::: +:::: + +## What is BeeWare? + +BeeWare is not a single product, or tool, or library - it's a collection +of tools and libraries, each of which works together to help you write +cross platform Python applications with a native GUI. It includes: + +- [Toga](https://toga.beeware.org), a cross platform widget toolkit; +- [Briefcase](https://briefcase.beeware.org), a tool for packaging + Python projects as distributable artefacts that can be shipped to end + users; +- Libraries (such as [Rubicon ObjC](https://rubicon-objc.beeware.org)) + for accessing platform-native libraries; +- Pre-compiled builds of Python that can be used on platforms where + official Python installers aren't available. + +In this tutorial, we'll be using all these tools, but as a user, you'll +only need to interact with the first two (Toga and Briefcase). However, +each of the tools can also be used individually - for example, you can +use Briefcase to deploy an app without using Toga as a GUI toolkit. + +The BeeWare suite is available on macOS, Windows, Linux (using GTK); on +mobile platforms such as Android and iOS; and for the Web. + +## Let's go! + +Ready to try BeeWare for yourself? +`Let's build a cross platform application in +Python! `{.interpreted-text role="doc"} + +::: {.toctree maxdepth="2" hidden=""} +tutorial/tutorial-0 tutorial/tutorial-1 tutorial/tutorial-2 +tutorial/tutorial-3 tutorial/tutorial-4 tutorial/tutorial-5/index +tutorial/tutorial-6 tutorial/tutorial-7 tutorial/tutorial-8 +tutorial/topics/index how-to/index +::: diff --git a/docs/index.rst b/docs/en/index.rst similarity index 100% rename from docs/index.rst rename to docs/en/index.rst diff --git a/docs/tutorial/images/android/tutorial-5-booting.png b/docs/en/tutorial/images/android/tutorial-5-booting.png similarity index 100% rename from docs/tutorial/images/android/tutorial-5-booting.png rename to docs/en/tutorial/images/android/tutorial-5-booting.png diff --git a/docs/tutorial/images/android/tutorial-5-launched.png b/docs/en/tutorial/images/android/tutorial-5-launched.png similarity index 100% rename from docs/tutorial/images/android/tutorial-5-launched.png rename to docs/en/tutorial/images/android/tutorial-5-launched.png diff --git a/docs/tutorial/images/android/tutorial-5-running.png b/docs/en/tutorial/images/android/tutorial-5-running.png similarity index 100% rename from docs/tutorial/images/android/tutorial-5-running.png rename to docs/en/tutorial/images/android/tutorial-5-running.png diff --git a/docs/tutorial/images/android/tutorial-5-splash.png b/docs/en/tutorial/images/android/tutorial-5-splash.png similarity index 100% rename from docs/tutorial/images/android/tutorial-5-splash.png rename to docs/en/tutorial/images/android/tutorial-5-splash.png diff --git a/docs/tutorial/images/iOS/tutorial-5.png b/docs/en/tutorial/images/iOS/tutorial-5.png similarity index 100% rename from docs/tutorial/images/iOS/tutorial-5.png rename to docs/en/tutorial/images/iOS/tutorial-5.png diff --git a/docs/tutorial/images/linux/tutorial-1.png b/docs/en/tutorial/images/linux/tutorial-1.png similarity index 100% rename from docs/tutorial/images/linux/tutorial-1.png rename to docs/en/tutorial/images/linux/tutorial-1.png diff --git a/docs/tutorial/images/linux/tutorial-2.png b/docs/en/tutorial/images/linux/tutorial-2.png similarity index 100% rename from docs/tutorial/images/linux/tutorial-2.png rename to docs/en/tutorial/images/linux/tutorial-2.png diff --git a/docs/tutorial/images/linux/tutorial-4.png b/docs/en/tutorial/images/linux/tutorial-4.png similarity index 100% rename from docs/tutorial/images/linux/tutorial-4.png rename to docs/en/tutorial/images/linux/tutorial-4.png diff --git a/docs/tutorial/images/linux/tutorial-7.png b/docs/en/tutorial/images/linux/tutorial-7.png similarity index 100% rename from docs/tutorial/images/linux/tutorial-7.png rename to docs/en/tutorial/images/linux/tutorial-7.png diff --git a/docs/tutorial/images/linux/tutorial-8.png b/docs/en/tutorial/images/linux/tutorial-8.png similarity index 100% rename from docs/tutorial/images/linux/tutorial-8.png rename to docs/en/tutorial/images/linux/tutorial-8.png diff --git a/docs/tutorial/images/macOS/tutorial-1.png b/docs/en/tutorial/images/macOS/tutorial-1.png similarity index 100% rename from docs/tutorial/images/macOS/tutorial-1.png rename to docs/en/tutorial/images/macOS/tutorial-1.png diff --git a/docs/tutorial/images/macOS/tutorial-2.png b/docs/en/tutorial/images/macOS/tutorial-2.png similarity index 100% rename from docs/tutorial/images/macOS/tutorial-2.png rename to docs/en/tutorial/images/macOS/tutorial-2.png diff --git a/docs/tutorial/images/macOS/tutorial-4.png b/docs/en/tutorial/images/macOS/tutorial-4.png similarity index 100% rename from docs/tutorial/images/macOS/tutorial-4.png rename to docs/en/tutorial/images/macOS/tutorial-4.png diff --git a/docs/tutorial/images/macOS/tutorial-7-crash.png b/docs/en/tutorial/images/macOS/tutorial-7-crash.png similarity index 100% rename from docs/tutorial/images/macOS/tutorial-7-crash.png rename to docs/en/tutorial/images/macOS/tutorial-7-crash.png diff --git a/docs/tutorial/images/macOS/tutorial-7.png b/docs/en/tutorial/images/macOS/tutorial-7.png similarity index 100% rename from docs/tutorial/images/macOS/tutorial-7.png rename to docs/en/tutorial/images/macOS/tutorial-7.png diff --git a/docs/tutorial/images/macOS/tutorial-8.png b/docs/en/tutorial/images/macOS/tutorial-8.png similarity index 100% rename from docs/tutorial/images/macOS/tutorial-8.png rename to docs/en/tutorial/images/macOS/tutorial-8.png diff --git a/docs/tutorial/images/tutorial-6.png b/docs/en/tutorial/images/tutorial-6.png similarity index 100% rename from docs/tutorial/images/tutorial-6.png rename to docs/en/tutorial/images/tutorial-6.png diff --git a/docs/tutorial/images/windows/tutorial-1.png b/docs/en/tutorial/images/windows/tutorial-1.png similarity index 100% rename from docs/tutorial/images/windows/tutorial-1.png rename to docs/en/tutorial/images/windows/tutorial-1.png diff --git a/docs/tutorial/images/windows/tutorial-2.png b/docs/en/tutorial/images/windows/tutorial-2.png similarity index 100% rename from docs/tutorial/images/windows/tutorial-2.png rename to docs/en/tutorial/images/windows/tutorial-2.png diff --git a/docs/tutorial/images/windows/tutorial-4.png b/docs/en/tutorial/images/windows/tutorial-4.png similarity index 100% rename from docs/tutorial/images/windows/tutorial-4.png rename to docs/en/tutorial/images/windows/tutorial-4.png diff --git a/docs/tutorial/images/windows/tutorial-7-crash.png b/docs/en/tutorial/images/windows/tutorial-7-crash.png similarity index 100% rename from docs/tutorial/images/windows/tutorial-7-crash.png rename to docs/en/tutorial/images/windows/tutorial-7-crash.png diff --git a/docs/tutorial/images/windows/tutorial-7.png b/docs/en/tutorial/images/windows/tutorial-7.png similarity index 100% rename from docs/tutorial/images/windows/tutorial-7.png rename to docs/en/tutorial/images/windows/tutorial-7.png diff --git a/docs/tutorial/images/windows/tutorial-8.png b/docs/en/tutorial/images/windows/tutorial-8.png similarity index 100% rename from docs/tutorial/images/windows/tutorial-8.png rename to docs/en/tutorial/images/windows/tutorial-8.png diff --git a/docs/tutorial/resources/icon.png b/docs/en/tutorial/resources/icon.png similarity index 100% rename from docs/tutorial/resources/icon.png rename to docs/en/tutorial/resources/icon.png diff --git a/docs/tutorial/resources/icons.zip b/docs/en/tutorial/resources/icons.zip similarity index 100% rename from docs/tutorial/resources/icons.zip rename to docs/en/tutorial/resources/icons.zip diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md new file mode 100644 index 00000000..2f184f76 --- /dev/null +++ b/docs/en/tutorial/topics/camera-access.md @@ -0,0 +1,190 @@ +# Using the camera + +Almost every modern computing device has a camera of some sort. In this +tutorial, we'll write new application that is able to request access to +this camera, take a photograph, and then display that photograph in the +new application that uses your device's camera. + +::: {.admonition} +This tutorial won't work on all platforms! + +Unfortunately, at present, this tutorial will only work on macOS and +Android. + +Although iPhones all have cameras, the iOS *Simulator* doesn't have a +working camera. Windows and Linux devices also have cameras, but Toga +doesn't currently have the ability to access the camera on these +platforms. + +The code presented here will *run* on Windows or Linux; but it will +raise an error when you try to take a photograph. + +The code will work if it is run on an actual iOS device, but will fail +to take a photograph if deployed to the iOS simulator. +::: + +## Start a new project + +For this tutorial, we're not going to build onto the application from +the core tutorial - we're going to start a fresh project. You can use +the same virtual environment you used in the first project; but we need +to re-run the `briefcase new` wizard. + +Change back to the directory that contains the `helloworld` project +folder, and start a new project named "Hello Camera": + +``` console +(beeware-venv) $ cd .. +(beeware-venv) $ briefcase new +... +[hellocamera] Generated new application 'Hello Camera' + +To run your application, type: + + $ cd hellocamera + $ briefcase dev + +(beeware-venv) $ cd hellocamera +``` + +## Add code to take a photo + +The wizard has generated a new empty Toga project. We can now add the +code to take and display a photograph. Edit the `app.py` for the new +application so that it has the following content: + +``` {.python emphasize-lines="9-18, 23-44"} +import toga +from toga.style.pack import COLUMN, ROW + + +class HelloCamera(toga.App): + def startup(self): + main_box = toga.Box() + + self.photo = toga.ImageView(height=300, margin=5) + camera_button = toga.Button( + "Take photo", + on_press=self.take_photo, + margin=5, + ) + + main_box.add(self.photo) + main_box.add(camera_button) + + self.main_window = toga.MainWindow(title=self.formal_name) + self.main_window.content = main_box + self.main_window.show() + + async def take_photo(self, widget, **kwargs): + try: + if not self.camera.has_permission: + await self.camera.request_permission() + + image = await self.camera.take_photo() + if image: + self.photo.image = image + except NotImplementedError: + await self.main_window.dialog( + toga.InfoDialog( + "Oh no!", + "The Camera API is not implemented on this platform", + ) + ) + except PermissionError: + await self.main_window.dialog( + toga.InfoDialog( + "Oh no!", + "You have not granted permission to take photos", + ) + ) + + +def main(): + return HelloCamera() +``` + +This code has two changes over the default app that is generated by +Briefcase. These additions are highlighted above: + +1. The first highlighted code block (in the `startup()` method) adds + the two widgets needed to control the camera: an `ImageView` to + display a photo; and a `Button` to trigger the camera. +2. The second highlighted code block (the `take_photo()` method) + defines the event handler when the button is pressed. This handler + first confirms if the application has permission to take a photo; if + permission doesn't exist, it is requested. Then, a photo is taken. + The request for permission and the request to take a photo are both + asynchronous requests, so they require the use of `await`; while the + app is waiting for the user to confirm permissions or take the + photo, the app's event loop can continue in the background. + +If the camera successfully takes a photo, it will return an `Image` +object that can be assigned as the content of the `ImageView`. If the +photo request was canceled by the user, the `self.camera.take_photo()` +call will return `None`, and the result can be ignored. If the user +doesn't grant permission to use the camera, or the camera isn't +implemented on the current platform, an error will be raised, and a +dialog will be shown to the user. + +## Adding device permissions + +Part of this code we've just added asks for permission to use the +camera. This is a common feature of modern app platforms - you can't +access hardware features without explicitly asking the user's permission +first. + +However, this request comes in two parts. The first is in the code we've +just seen; but before the app can ask for permissions, it needs to +declare the permissions it is going to ask for. + +The permissions required by each platform are slightly different, but +Briefcase has a cross-platform representation for many common hardware +permissions. In the `[tool.briefcase.app.hellocamera]` configuration +section of your app's `pyproject.toml` file, add the following (just +above the `sources` declaration): + +``` toml +permission.camera = "App will take mugshots." +``` + +This declares that your app needs to access the camera, and provides a +short description why the camera is required. This description is needed +on some platforms (most notably macOS and iOS) and will be displayed to +the user as a additional information when the permission dialog is +presented. + +We can now generate and run the app: + +::::: {.tabs} +::: {.group-tab} +macOS .. code-block:: console + +(beeware-venv)\$ briefcase create (beeware-venv)\$ briefcase build +(beeware-venv)\$ briefcase run +::: + +::: {.group-tab} +Android .. code-block:: console + +(beeware-venv)\$ briefcase create android (beeware-venv)\$ briefcase +build android (beeware-venv)\$ briefcase run android +::: +::::: + +When the app runs, you'll be presented with a button. Press the button, +and the platform's default camera dialog will be displayed. Take a +photo; the camera dialog will disappear, and the photo will be displayed +on in the app, just above the button. You could then take another photo; +this will replace the first photo. + +## Adding more permissions + +Permissions are declared in the files that are generated during the +original call to `briefcase create`. Unfortunately, Briefcase can't +update these files once they've been initially generated; so if you want +to add a new permission to your app, or modify existing permissions, +you'll need to re-create the app. You can do this by re-running +`briefcase create`; this will warn you that the existing app will be +overwritten, and then regenerate the application with the new +permissions. diff --git a/docs/tutorial/topics/camera-access.rst b/docs/en/tutorial/topics/camera-access.rst similarity index 100% rename from docs/tutorial/topics/camera-access.rst rename to docs/en/tutorial/topics/camera-access.rst diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md new file mode 100644 index 00000000..d4c2b5bb --- /dev/null +++ b/docs/en/tutorial/topics/custom-icons.md @@ -0,0 +1,509 @@ +# Customizing icons + +The app we developed in the main tutorial uses a default "gray bee" icon +when it is packaged. Let's personalize this application by configuring +it to use our own icon. + +## Adding an icon + +Every platform uses a different format for application icons - and some +platforms need *multiple* icons in different sizes and shapes. To +account for this, Briefcase provides a shorthand way to configure an +icon once, and then have that definition expand in to all the different +icons needed for each individual platform. + +Edit your `pyproject.toml`, adding a new `icon` configuration item in +the `[tool.briefcase.app.helloworld]` configuration section, just above +the `sources` definition: + + icon = "icons/helloworld" + +This icon definition doesn't specify any file extension. The value will +be used as a prefix; each platform will add additional items to this +prefix to build the files needed for each platform. Some platforms +require *multiple* icon files; this prefix will be combined with file +size and variant modifiers to generate the list of icon files that are +used. + +We can now run `briefcase update` again - but this time, we pass in the +`--update-resources` flag, telling Briefcase that we want to install new +application resources (i.e., the icons): + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase update --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Unable to find icons/helloworld.icns for application icon; using default + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase update --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Unable to find icons/helloworld-16.png for 16px application icon; using default +Unable to find icons/helloworld-32.png for 32px application icon; using default +Unable to find icons/helloworld-64.png for 64px application icon; using default +Unable to find icons/helloworld-128.png for 128px application icon; using default +Unable to find icons/helloworld-256.png for 256px application icon; using default +Unable to find icons/helloworld-512.png for 512px application icon; using default + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase update --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Unable to find icons/helloworld.ico for application icon; using default + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Android + +``` console +(beeware-venv) $ briefcase update android --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Unable to find icons/helloworld-round-48.png for 48px round application icon; using default +Unable to find icons/helloworld-round-72.png for 72px round application icon; using default +Unable to find icons/helloworld-round-96.png for 96px round application icon; using default +Unable to find icons/helloworld-round-144.png for 144px round application icon; using default +Unable to find icons/helloworld-round-192.png for 192px round application icon; using default +Unable to find icons/helloworld-square-48.png for 48px square application icon; using default +Unable to find icons/helloworld-square-72.png for 72px square application icon; using default +Unable to find icons/helloworld-square-96.png for 96px square application icon; using default +Unable to find icons/helloworld-square-144.png for 144px square application icon; using default +Unable to find icons/helloworld-square-192.png for 192px square application icon; using default +Unable to find icons/helloworld-square-320.png for 320px square application icon; using default +Unable to find icons/helloworld-square-480.png for 480px square application icon; using default +Unable to find icons/helloworld-square-640.png for 640px square application icon; using default +Unable to find icons/helloworld-square-960.png for 960px square application icon; using default +Unable to find icons/helloworld-square-1280.png for 1280px square application icon; using default +Unable to find icons/helloworld-adaptive-108.png for 108px adaptive application icon; using default +Unable to find icons/helloworld-adaptive-162.png for 162px adaptive application icon; using default +Unable to find icons/helloworld-adaptive-216.png for 216px adaptive application icon; using default +Unable to find icons/helloworld-adaptive-324.png for 324px adaptive application icon; using default +Unable to find icons/helloworld-adaptive-432.png for 432px adaptive application icon; using default + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +iOS + +``` console +(beeware-venv) $ briefcase iOS --update-resources + + [helloworld] Updating application code... + Installing src/helloworld... done + + [helloworld] Updating application resources... + Unable to find icons/helloworld-20.png for 20px application icon; using default + Unable to find icons/helloworld-29.png for 29px application icon; using default + Unable to find icons/helloworld-40.png for 40px application icon; using default + Unable to find icons/helloworld-58.png for 58px application icon; using default + Unable to find icons/helloworld-60.png for 60px application icon; using default + Unable to find icons/helloworld-76.png for 76px application icon; using default + Unable to find icons/helloworld-80.png for 80px application icon; using default + Unable to find icons/helloworld-87.png for 87px application icon; using default + Unable to find icons/helloworld-120.png for 120px application icon; using default + Unable to find icons/helloworld-152.png for 152px application icon; using default + Unable to find icons/helloworld-167.png for 167px application icon; using default + Unable to find icons/helloworld-180.png for 180px application icon; using default + Unable to find icons/helloworld-640.png for 640px application icon; using default + Unable to find icons/helloworld-1024.png for 1024px application icon; using default + Unable to find icons/helloworld-1280.png for 1280px application icon; using default + Unable to find icons/helloworld-1920.png for 1920px application icon; using default + + [helloworld] Removing unneeded app content... + Removing unneeded app bundle content... done + + [helloworld] Application updated. +``` +::: +:::::::: + +This reports the specific icon file (or files) that Briefcase is +expecting. However, as we haven't provided the actual icon files, the +install fails, and Briefcase falls back to a default value (the same +"gray bee" icon). + +Let's provide some actual icons. Download `this icons.zip bundle +<../resources/icons.zip>`{.interpreted-text role="download"}, and unzip +it into the root of your project directory. After unzipping, your +project directory should look something like: + + beeware-tutorial/ + ├── beeware-venv/ + │ └── ... + └── helloworld/ + ├── ... + ├── icons/ + │ ├── helloworld.icns + │ ├── helloworld.ico + │ ├── helloworld.png + │ ├── helloworld-16.png + │ └──... + ├── src/ + │ └── ... + └── pyproject.toml + +There's a *lot* of icons in this folder, but most of them should look +the same: a green snake on a light blue background: + +![Icon of green snake with a light blue background](../resources/icon.png){.align-center} + +The only exception will be the icons with `-adaptive-` in their name; +these will have a transparent background. This represents all the +different icon sizes and shapes you need to support an app on every +platform that Briefcase supports. + +Now that we have icons, we can update the application again. However, +`briefcase update` will only copy the updated resources into the build +directory; we also want to rebuild the app to make sure the new icon is +included, then start the app. We can shortcut this process by passing +`--update-resources` to our call to `run` - this will update the app, +update the app's resources, and then start the app: + +:::::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Installing icons/helloworld.icns as application icon... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Ad-hoc signing app... + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:01 + +[helloworld] Built build/helloworld/macos/app/Hello World.app + +[helloworld] Starting app... +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Installing icons/helloworld-16.png as 16px application icon... done +Installing icons/helloworld-32.png as 32px application icon... done +Installing icons/helloworld-64.png as 64px application icon... done +Installing icons/helloworld-128.png as 128px application icon... done +Installing icons/helloworld-256.png as 256px application icon... done +Installing icons/helloworld-512.png as 512px application icon... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Building application... +Build bootstrap binary... +... + +[helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld + +[helloworld] Starting app... +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase build --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Installing icons/helloworld.ico as application icon... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Building App... +Removing any digital signatures from stub app... done +Setting stub app details... done + +[helloworld] Built build\helloworld\windows\app\src\Hello World.exe + +[helloworld] Starting app... +``` +::: + +::::: {.group-tab} +Android + +``` console +(beeware-venv) $ briefcase build android --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Installing icons/helloworld-round-48.png as 48px round application icon... done +Installing icons/helloworld-round-72.png as 72px round application icon... done +Installing icons/helloworld-round-96.png as 96px round application icon... done +Installing icons/helloworld-round-144.png as 144px round application icon... done +Installing icons/helloworld-round-192.png as 192px round application icon... done +Installing icons/helloworld-square-48.png as 48px square application icon... done +Installing icons/helloworld-square-72.png as 72px square application icon... done +Installing icons/helloworld-square-96.png as 96px square application icon... done +Installing icons/helloworld-square-144.png as 144px square application icon... done +Installing icons/helloworld-square-192.png as 192px square application icon... done +Installing icons/helloworld-square-320.png as 320px square application icon... done +Installing icons/helloworld-square-480.png as 480px square application icon... done +Installing icons/helloworld-square-640.png as 640px square application icon... done +Installing icons/helloworld-square-960.png as 960px square application icon... done +Installing icons/helloworld-square-1280.png as 1280px square application icon... done +Installing icons/helloworld-adaptive-108.png as 108px adaptive application icon... done +Installing icons/helloworld-adaptive-162.png as 162px adaptive application icon... done +Installing icons/helloworld-adaptive-216.png as 216px adaptive application icon... done +Installing icons/helloworld-adaptive-324.png as 324px adaptive application icon... done +Installing icons/helloworld-adaptive-432.png as 432px adaptive application icon... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Starting app... +``` + +:::: {.note} +::: {.title} +Note +::: + +If you're using a recent version of Android, you may notice that the app +icon has been changed to a green snake, but the background of the icon +is *white*, rather than light blue. We'll fix this in the next step. +:::: +::::: + +::: {.group-tab} +iOS + +``` console +(beeware-venv) $ briefcase build iOS --update-resources + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating application resources... +Installing icons/helloworld-20.png as 20px application icon... done +Installing icons/helloworld-29.png as 29px application icon... done +Installing icons/helloworld-40.png as 40px application icon... done +Installing icons/helloworld-58.png as 58px application icon... done +Installing icons/helloworld-60.png as 60px application icon... done +Installing icons/helloworld-76.png as 76px application icon... done +Installing icons/helloworld-80.png as 80px application icon... done +Installing icons/helloworld-87.png as 87px application icon... done +Installing icons/helloworld-120.png as 120px application icon... done +Installing icons/helloworld-152.png as 152px application icon... done +Installing icons/helloworld-167.png as 167px application icon... done +Installing icons/helloworld-180.png as 180px application icon... done +Installing icons/helloworld-640.png as 640px application icon... done +Installing icons/helloworld-1024.png as 1024px application icon... done +Installing icons/helloworld-1280.png as 1280px application icon... done +Installing icons/helloworld-1920.png as 1920px application icon... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Starting app... +``` +::: +:::::::::: + +:::: {.note} +::: {.title} +Note +::: + +If you get a stack trace referencing `faker` or `httpx` when you run the +app, it's possible you missed running your app during step 7 or 8 of the +tutorial. Re-run the app, adding the `-r` argument to update the app +requirements. +:::: + +When you run the app on iOS or Android, in addition to the icon change, +you should also notice that the splash screen incorporates the new icon. +However, the light blue background of the icon looks a little out of +place against the white background of the splash screen. We can fix this +by customizing the background color of the splash screen. Add the +following definition to your `pyproject.toml`, just after the `icon` +definition: + + splash_background_color = "#D3E6F5" + +Unfortunately, Briefcase isn't able to apply this change to an already +generated project, as it requires making modifications to one of the +files that was generated during the original call to `briefcase create`. +To apply this change, we have to re-create the app by re-running +`briefcase create`. When we do this, we'll be prompted to confirm that +we want to overwrite the existing project: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase create + +Application 'helloworld' already exists; overwrite [y/N]? y + +[helloworld] Removing old application bundle... + +[helloworld] Generating application template... +... + +[helloworld] Created build/helloworld/macos/app +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase create + +Application 'helloworld' already exists; overwrite [y/N]? y + +[helloworld] Removing old application bundle... + +[helloworld] Generating application template... +... + +[helloworld] Created build/helloworld/linux/ubuntu/jammy +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase create + +Application 'helloworld' already exists; overwrite [y/N]? y + +[helloworld] Removing old application bundle... + +[helloworld] Generating application template... +... + +[helloworld] Created build\helloworld\windows\app +``` +::: + +::: {.group-tab} +Android + +``` console +(beeware-venv) $ briefcase create android + +Application 'helloworld' already exists; overwrite [y/N]? y + +[helloworld] Removing old application bundle... + +[helloworld] Generating application template... +... +[helloworld] Created build/helloworld/android/gradle +``` +::: + +::: {.group-tab} +iOS + +``` console +(beeware-venv) $ briefcase create iOS + +Application 'helloworld' already exists; overwrite [y/N]? y + +[helloworld] Removing old application bundle... + +[helloworld] Generating application template... +... +[helloworld] Created build/helloworld/ios/xcode +``` +::: +:::::::: + +You can then re-build and re-run the app using `briefcase run`. You +won't notice any changes to the desktop app; but the Android or iOS apps +should now have a light blue splash screen background. + +You'll need to re-create the app like this whenever you make a change to +your `pyproject.toml` that doesn't relate to source code or +dependencies. Any change to descriptions, version numbers, colors, or +permissions will require a re-create step. Because of this, while you +are developing your project, you shouldn't make any manual changes to +the contents of the `build` folder, and you shouldn't add the `build` +folder to your version control system. The `build` folder should be +considered entirely ephemeral - an output of the build system that can +be recreated as needed to reflect the current configuration of your +project. diff --git a/docs/tutorial/topics/custom-icons.rst b/docs/en/tutorial/topics/custom-icons.rst similarity index 100% rename from docs/tutorial/topics/custom-icons.rst rename to docs/en/tutorial/topics/custom-icons.rst diff --git a/docs/en/tutorial/topics/index.md b/docs/en/tutorial/topics/index.md new file mode 100644 index 00000000..aee3536f --- /dev/null +++ b/docs/en/tutorial/topics/index.md @@ -0,0 +1,35 @@ +# Going further + +Want to go deeper on specific topics? Here are some additional tutorials +that explore common aspects of application development. Each tutorial is +standalone, and can be completed in any order; but they all assume +you've completed the core tutorial. + +:::::: {.grid} +1 1 2 2 + +::: {.grid-item-card link="custom-icons" link-type="doc"} +Customizing icons + +Customize your application's appearance by replacing the default "gray +bee" icon. +::: + +::: {.grid-item-card link="testing" link-type="doc"} +Application Testing + +How do you ensure that your application works, and stays working? By +adding a test suite to your project! +::: + +::: {.grid-item-card link="camera-access" link-type="doc"} +Camera access + +Use the camera on your mobile or desktop device to take and view a +picture from within your application. +::: +:::::: + +::: {.toctree maxdepth="1" hidden=""} +custom-icons testing camera-access +::: diff --git a/docs/tutorial/topics/index.rst b/docs/en/tutorial/topics/index.rst similarity index 100% rename from docs/tutorial/topics/index.rst rename to docs/en/tutorial/topics/index.rst diff --git a/docs/en/tutorial/topics/testing.md b/docs/en/tutorial/topics/testing.md new file mode 100644 index 00000000..f397519e --- /dev/null +++ b/docs/en/tutorial/topics/testing.md @@ -0,0 +1,540 @@ +# Testing times + +Most software development doesn't involve writing new code - it's +modifying existing code. Ensuring that existing code continues to work +in the way we expect is a key part of the software development process. +One way to do ensure the behavior of our app is with a *test suite*. + +## Running the test suite + +It turns out the project from the core tutorial already has a test +suite! When we originally generated our project, two top-level +directories were generated: `src` and `tests`. The `src` folder contains +the code for our app; the `tests` folder contains our test suite. Inside +the `tests` folder is a file named `test_app.py` with the following +content: + + def test_first(): + "An initial test for the app" + assert 1 + 1 == 2 + +This is a [Pytest](https://pytest.org) *test case* - a block of code +that can be executed to verify some behavior of your app. In this case, +the test is a placeholder, and doesn't test anything about our app - but +it is a test that we can perform. + +We can run this test suite using the `--test` option to `briefcase dev`. +As this is the first time we are running tests, we also need to pass in +the `-r` option to ensure that the test requirements are also installed: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev --test -r + +[helloworld] Installing requirements... +... +Installing dev requirements... done + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +platform darwin -- Python 3.11.0, pytest-7.2.0, pluggy-1.0.0 -- /Users/brutus/beeware-tutorial/beeware-venv/bin/python3.11 +cachedir: /var/folders/b_/khqk71xd45d049kxc_59ltp80000gn/T/.pytest_cache +rootdir: /Users/brutus +plugins: anyio-3.6.2 +collecting ... collected 1 item + +tests/test_app.py::test_first PASSED [100%] + +============================== 1 passed in 0.01s =============================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev --test -r + +[helloworld] Installing requirements... +... +Installing dev requirements... done + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +platform linux -- Python 3.11.0 +pytest==7.2.0 +py==1.11.0 +pluggy==1.0.0 +cachedir: /tmp/.pytest_cache +rootdir: /home/brutus +plugins: anyio-3.6.2 +collecting ... collected 1 item + +tests/test_app.py::test_first PASSED [100%] + +============================== 1 passed in 0.01s =============================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev --test -r + +[helloworld] Installing requirements... +... +Installing dev requirements... done + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +platform win32 -- Python 3.11.0 +pytest==7.2.0 +py==1.11.0 +pluggy==1.0.0 +cachedir: C:\Users\brutus\AppData\Local\Temp\.pytest_cache +rootdir: C:\Users\brutus +plugins: anyio-3.6.2 +collecting ... collected 1 item + +tests/test_app.py::test_first PASSED [100%] + +============================== 1 passed in 0.01s =============================== +``` +::: +:::::: + +Success! We've just executed a single test that verifies Python math +works in the way we'd expect (What a relief!). + +Let's replace this placeholder test with a test to verify that our +`greeting()` method behaves the way we'd expect. Replace the contents of +`test_app.py` with the following: + + from helloworld.app import greeting + + + def test_name(): + """If a name is provided, the greeting includes the name""" + + assert greeting("Alice") == "Hello, Alice" + + + def test_empty(): + """If a name is not provided, a generic greeting is provided""" + + assert greeting("") == "Hello, stranger" + +This defines two new tests, verifying the two behaviors we expect to +see: the output when a name is provided, and the output when the name is +empty. + +We can now re-run the test suite. This time, we don't need to provided +the `-r` option, as the test requirements have already been installed; +we only need to use the `--test` option: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 2 items + +tests/test_app.py::test_name PASSED [ 50%] +tests/test_app.py::test_empty PASSED [100%] + +============================== 2 passed in 0.11s =============================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 2 items + +tests/test_app.py::test_name PASSED [ 50%] +tests/test_app.py::test_empty PASSED [100%] + +============================== 2 passed in 0.11s =============================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 2 items + +tests/test_app.py::test_name PASSED [ 50%] +tests/test_app.py::test_empty PASSED [100%] + +============================== 2 passed in 0.11s =============================== +``` +::: +:::::: + +Excellent! Our `greeting()` utility method is working as expected. + +## Test driven development + +Now that we have a test suite, we can use it to drive the development of +new features. Let's modify our app to have a special greeting for one +particular user. We can start by adding a test case for the new behavior +that we'd like to see to the bottom of `test_app.py`: + + def test_brutus(): + """If the name is Brutus, a special greeting is provided""" + + assert greeting("Brutus") == "BeeWare the IDEs of Python!" + +Then, run the test suite with this new test: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus FAILED [100%] + +=================================== FAILURES =================================== +_________________________________ test_brutus __________________________________ + + def test_brutus(): + """If the name is Brutus, a special greeting is provided""" + +> assert greeting("Brutus") == "BeeWare the IDEs of Python!" +E AssertionError: assert 'Hello, Brutus' == 'BeeWare the IDEs of Python!' +E - BeeWare the IDEs of Python! +E + Hello, Brutus + +tests/test_app.py:19: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... +========================= 1 failed, 2 passed in 0.14s ========================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus FAILED [100%] + +=================================== FAILURES =================================== +_________________________________ test_brutus __________________________________ + + def test_brutus(): + """If the name is Brutus, provide a special greeting""" + +> assert greeting("Brutus") == "BeeWare the IDEs of Python!" +E AssertionError: assert 'Hello, Brutus' == 'BeeWare the IDEs of Python!' +E - BeeWare the IDEs of Python! +E + Hello, Brutus + +tests/test_app.py:19: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... +========================= 1 failed, 2 passed in 0.14s ========================== + +============================== 2 passed in 0.11s =============================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus FAILED [100%] + +=================================== FAILURES =================================== +_________________________________ test_brutus __________________________________ + + def test_brutus(): + """If the name is Brutus, provide a special greeting""" + +> assert greeting("Brutus") == "BeeWare the IDEs of Python!" +E AssertionError: assert 'Hello, Brutus' == 'BeeWare the IDEs of Python!' +E - BeeWare the IDEs of Python! +E + Hello, Brutus + +tests/test_app.py:19: AssertionError +=========================== short test summary info ============================ +FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... +========================= 1 failed, 2 passed in 0.14s ========================== +``` +::: +:::::: + +This time, we see a test failure - and the output explains the source of +the failure: the test is expecting the output "BeeWare the IDEs of +Python!", but our implementation of `greeting()` is returning "Hello, +Brutus". Let's modify the implementation of `greeting()` in +`src/helloworld/app.py` to have the new behavior: + + def greeting(name): + if name: + if name == "Brutus": + return "BeeWare the IDEs of Python!" + else: + return f"Hello, {name}" + else: + return "Hello, stranger" + +If we run the tests again, we'll now see our tests pass: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus PASSED [100%] + +============================== 3 passed in 0.15s =============================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus PASSED [100%] + +============================== 3 passed in 0.15s =============================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev --test + +[helloworld] Running test suite in dev environment... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus PASSED [100%] + +============================== 3 passed in 0.15s =============================== +``` +::: +:::::: + +## Runtime tests + +So far, we've been running the tests in development mode. This is +especially useful when you're developing new features, as you can +rapidly iterate on adding tests, and adding code to make those tests +pass. However, at some point, you'll want to verify that your code also +runs correctly when inside the bundle app environment. + +The `--test` and `-r` options can also be passed to the `run` command. +If you use `briefcase run --test -r`, the same test suite will run, but +it will run inside the packaged application bundle rather than your +development environment: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run --test -r + +[helloworld] Updating application code... +Installing src/helloworld... done +Installing tests... done + +[helloworld] Updating requirements... +... +[helloworld] Built build/helloworld/macos/app/Hello World.app (test mode) + +[helloworld] Starting test suite... +=========================================================================== +Configuring isolated Python... +Pre-initializing Python runtime... +PythonHome: /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib +PYTHONPATH: +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python311.zip +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib/lib-dynload +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app_packages +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app +Configure argc/argv... +Initializing Python runtime... +Installing Python NSLog handler... +Running app module: tests.helloworld +--------------------------------------------------------------------------- +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus PASSED [100%] + +============================== 3 passed in 0.21s =============================== + +[helloworld] Test suite passed! +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run --test -r + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Updating application code... +Installing src/helloworld... done +Installing tests... done + +[helloworld] Updating requirements... +... +[helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld (test mode) + +[helloworld] Starting test suite... +=========================================================================== +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus PASSED [100%] + +============================== 3 passed in 0.21s =============================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run --test -r + +[helloworld] Updating application code... +Installing src/helloworld... done +Installing tests... done + +[helloworld] Updating requirements... +... +[helloworld] Built build\helloworld\windows\app\src\Hello World.exe (test mode) + +=========================================================================== +Log started: 2022-12-02 10:57:34Z +PreInitializing Python runtime... +PythonHome: C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src +PYTHONPATH: +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\python311.zip +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app_packages +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app +Configure argc/argv... +Initializing Python runtime... +Running app module: tests.helloworld +--------------------------------------------------------------------------- +============================= test session starts ============================== +... +collecting ... collected 3 items + +tests/test_app.py::test_name PASSED [ 33%] +tests/test_app.py::test_empty PASSED [ 66%] +tests/test_app.py::test_brutus PASSED [100%] + +============================== 3 passed in 0.21s =============================== +``` +::: +:::::: + +As with `briefcase dev --test`, the `-r` option is only needed the first +time you run the test suite to ensure that the test dependencies are +present. On subsequent runs, you can omit this option. + +You can also use the `--test` option on mobile backends: - so +`briefcase run iOS --test` and `briefcase run android --test` will both +work, running the test suite on the mobile device you select. diff --git a/docs/tutorial/topics/testing.rst b/docs/en/tutorial/topics/testing.rst similarity index 100% rename from docs/tutorial/topics/testing.rst rename to docs/en/tutorial/topics/testing.rst diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md new file mode 100644 index 00000000..b33d7a11 --- /dev/null +++ b/docs/en/tutorial/tutorial-0.md @@ -0,0 +1,240 @@ +# Tutorial 0 - Let's get set up! + +Before we build our first BeeWare app, we have to make sure we've got +all the prerequisites for running BeeWare. + +## Install Python + +The first thing we'll need is a working Python interpreter. + +:::::: {.tabs} +::: {.group-tab} +macOS + +If you're on macOS, you can get an official Python installer from [the +Python website](https://www.python.org/downloads). You can use any +version of Python from 3.10 or newer (although you should avoid alphas, +betas and release candidates). We strongly recommend using Python 3.13 +or newer. + +You can also install Python through +[homebrew](https://docs.brew.sh/Homebrew-and-Python), use +[pyenv](https://github.com/pyenv/pyenv#simple-python-version-management-pyenv) +to manage multiple Python installs, or use +[Anaconda](https://docs.anaconda.com/anaconda/install/) or +[Miniconda](https://docs.conda.io/en/latest/miniconda.html). It doesn't +matter *how* you've installed Python - it only matters that you can run +`python3` from your terminal and get a working, supported Python +interpreter. + +Xcode and the Command-line Developer Tools provide a version of Python; +however that Python is version 3.9. Python 3.9 has reached end-of-life, +and is no longer supported by Python or BeeWare. You will *not* be able +to the Xcode-provided version of Python to run this tutorial. + +To check the version of Python that you have installed, run the +following command: + +``` console +$ python3 --version +``` + +If Python is installed, you'll see its version number. +::: + +::: {.group-tab} +Linux + +If you're on Linux, you'll install Python using the system package +manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on +Arch). + +You should ensure that the system Python is Python 3.10 or newer; if it +isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade +your Linux distribution to something more recent. + +Support for Raspberry Pi is limited at this time. + +**Important:** You *must* use the system Python provided by your +operating system. Alternative Python installations (pyenv, Anaconda, +manually compiled Python, etc.) will prevent you from successfully +packaging your application for distribution in later steps of this +tutorial. +::: + +::: {.group-tab} +Windows + +If you're on Windows, you can get the official installer from [the +Python website](https://www.python.org/downloads). You can use any +version of Python from 3.10 to 3.13 (although you should avoid alphas, +betas and release candidates). We strongly recommend using Python 3.13. + +Support for Windows on ARM64 is limited at this time. + +You can also install Python from the Windows App Store, or use +[Anaconda](https://docs.anaconda.com/anaconda/install/) or +[Miniconda](https://docs.conda.io/en/latest/miniconda.html). It doesn't +matter *how* you've installed Python - it only matters that you can run +`python3` from your command prompt and get a working, supported Python +interpreter. +::: +:::::: + +## Install dependencies + +Next, install the additional dependencies needed for your operating +system: + +:::::: {.tabs} +::: {.group-tab} +macOS + +Building BeeWare apps on macOS requires: + +- **Git**, a version control system. This is included with Xcode or the + command line developer tools, which you installed above. You may need + to open Xcode for the first time in order for Git to work in your + terminal session. If it still doesn't register that Git is installed, + you may need to restart your terminal session. +::: + +::: {.group-tab} +Linux + +To support local development, you'll need to install some system +packages. The list of packages required varies depending on your +distribution: + +**Ubuntu / Debian** + +``` console +$ sudo apt update +$ sudo apt install git build-essential pkg-config python3-dev python3-venv libgirepository1.0-dev libcairo2-dev gir1.2-gtk-3.0 libcanberra-gtk3-module +``` + +**Fedora** + +``` console +$ sudo dnf install git gcc make pkg-config rpm-build python3-devel gobject-introspection-devel cairo-gobject-devel gtk3 libcanberra-gtk3 +``` + +**Arch / Manjaro** + +``` console +$ sudo pacman -Syu git base-devel pkgconf python3 gobject-introspection cairo gtk3 libcanberra +``` + +**OpenSUSE Tumbleweed** + +``` console +$ sudo zypper install git patterns-devel-base-devel_basis pkgconf-pkg-config python3-devel gobject-introspection-devel cairo-devel gtk3 'typelib(Gtk)=3.0' libcanberra-gtk3-module +``` +::: + +::: {.group-tab} +Windows + +Building BeeWare apps on Windows requires: + +- **Git**, a version control system. You can download Git from from + [git-scm.com](https://git-scm.com/downloads/). + +After installing these tools, you should ensure you restart any terminal +sessions. Windows will only expose newly installed tools terminals +started *after* the install has completed. +::: +:::::: + +## Set up a virtual environment + +We're now going to create a virtual environment - a "sandbox" that we +can use to isolate our work on this tutorial from our main Python +installation. If we install packages into the virtual environment, our +main Python installation (and any other Python projects on our computer) +won't be affected. If we make a complete mess of our virtual +environment, we'll be able to simply delete it and start again, without +affecting any other Python project on our computer, and without the need +to re-install Python. + +::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +$ mkdir beeware-tutorial +$ cd beeware-tutorial +$ python3 -m venv beeware-venv +$ source beeware-venv/bin/activate +``` +::: + +::: {.group-tab} +Linux + +``` console +$ mkdir beeware-tutorial +$ cd beeware-tutorial +$ python3 -m venv beeware-venv +$ source beeware-venv/bin/activate +``` +::: + +:::: {.group-tab} +Windows + +``` doscon +C:\...>md beeware-tutorial +C:\...>cd beeware-tutorial +C:\...>py -3.12 -m venv beeware-venv +C:\...>beeware-venv\Scripts\activate +``` + +If you're not using Python 3.12, replace the `-3.12` in these +instructions with the version number that you are using. + +::: {.admonition} +Errors running PowerShell Scripts + +If you're using PowerShell, and you receive the error: + + File C:\...\beeware-tutorial\beeware-venv\Scripts\activate.ps1 cannot be loaded because running scripts is disabled on this system. + +Your Windows account doesn't have permissions to run scripts. To fix +this: + +1. Run [Windows PowerShell as + Administrator](https://learn.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7.4). +2. Run `set-executionpolicy RemoteSigned` +3. Select `Y` to change the execution policy. + +Once you've done this you can rerun `beeware-venv\Scripts\activate.ps1` +in your original PowerShell session (or a new session in the same +directory). +::: +:::: +::::::: + +If this worked, your prompt should now be changed - it should have a +`(beeware-venv)` prefix. This lets you know that you're currently in +your BeeWare virtual environment. Whenever you're working on this +tutorial, you should make sure your virtual environment is activated. If +it isn't, re-run the last command (the `activate` command) to +re-activate your environment. + +::: {.admonition} +Alternative virtual environments + +If you're using Anaconda or miniconda, you may be more familiar with +using conda environments. You might also have heard of `virtualenv`, a +predecessor to Python's built in `venv` module. As with Python installs +-if you're on macOS or Windows, it doesn't matter *how* you create your +virtual environment, as long as you have one. If you're on Linux, you +should stick to `venv` and the system Python. +::: + +## Next steps + +We've now set up our environment. We're ready to +`create our first BeeWare +application `{.interpreted-text role="doc"}. diff --git a/docs/tutorial/tutorial-0.rst b/docs/en/tutorial/tutorial-0.rst similarity index 100% rename from docs/tutorial/tutorial-0.rst rename to docs/en/tutorial/tutorial-0.rst diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md new file mode 100644 index 00000000..0e8b8b96 --- /dev/null +++ b/docs/en/tutorial/tutorial-1.md @@ -0,0 +1,259 @@ +# Tutorial 1 - Your first app + +We're ready to create our first application. + +## Install the BeeWare tools + +First, we need to install **Briefcase**. Briefcase is a BeeWare tool +that can be used to package your application for distribution to end +users - but it can also be used to bootstrap a new project. Make sure +you're in the `beeware-tutorial` directory you created in +`Tutorial 0 `{.interpreted-text role="doc"}, with the +`beeware-venv` virtual environment activated, and run: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ python -m pip install briefcase +``` +::: + +:::: {.group-tab} +Linux + +``` console +(beeware-venv) $ python -m pip install briefcase +``` + +::: {.admonition} +Possible errors during installation + +If you see errors during installation, it's almost certainly because +some of the system requirements haven't been installed. Make sure you +have `installed all the platform pre-requisites +`{.interpreted-text role="ref"}. +::: +:::: + +:::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>python -m pip install briefcase +``` + +::: {.admonition} +Possible errors during installation + +It is important that you use `python -m pip`, rather than a bare `pip`. +Briefcase needs to ensure that it has an up-to-date version of `pip` and +`setuptools`, and a bare invocation of `pip` can't self-update. If you +want to know more, [Brett Cannon has a detailed blog post about the +issue](https://snarky.ca/why-you-should-use-python-m-pip/). +::: +:::: +:::::::: + +## Bootstrap a new project + +Let's start our first BeeWare project! We're going to use the Briefcase +`new` command to create an application called **Hello World**. Run the +following from your command prompt: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase new +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase new +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase new +``` +::: +:::::: + +Briefcase will ask us for some details of our new application. For the +purposes of this tutorial, use the following: + +- **Formal Name** - Accept the default value: `Hello World`. +- **App Name** - Accept the default value: `helloworld`. +- **Bundle Identifier** - If you own your own domain, enter that domain + in reversed order. (For example, if you own the domain "cupcakes.com", + enter `com.cupcakes` as the bundle). If you don't own your own domain, + accept the default bundle (`com.example`). +- **Project Name** - Accept the default value: `Hello World`. +- **Description** - Accept the default value (or, if you want to be + really creative, come up with your own description!) +- **Author** - Enter your own name here. +- **Author's Email** - Enter your own email address. This will be used + in the configuration file, in help text, and anywhere that an email is + required when submitting the app to an app store. +- **Application URL** - The URL of the landing page for your + application. Again, if you own your own domain, enter a URL at that + domain (including the `https://`). Otherwise, just accept the default + URL (`https://example.com/helloworld`). This URL doesn't need to + actually exist (for now); it will only be used if you publish your + application to an app store. +- **Project License** - Accept the default license (BSD). This won't + affect anything about the operation of the tutorial, though - so if + you have particularly strong feelings about license choice, feel free + to choose another license. +- **GUI framework** - Accept the default option, Toga (BeeWare's own GUI + toolkit). + +Briefcase will then generate a project skeleton for you to use. If +you've followed this tutorial so far, and accepted the defaults as +described, your file system should look something like: + + beeware-tutorial/ + ├── beeware-venv/ + │ └── ... + └── helloworld/ + ├── CHANGELOG + ├── LICENSE + ├── pyproject.toml + ├── README.rst + ├── src/ + │ └── helloworld/ + │ ├── app.py + │ ├── __init__.py + │ ├── __main__.py + │ └── resources/ + │ └── README + └── tests/ + ├── helloworld.py + ├── __init__.py + └── test_app.py + +This skeleton is actually a fully functioning application without adding +anything else. The `src` folder contains all the code for the +application, the `tests` folder contains an initial test suite, and the +`pyproject.toml` file describes how to package the application for +distribution. If you open `pyproject.toml` in an editor, you'll see the +configuration details you just provided to Briefcase. + +Now that we have a stub application, we can use Briefcase to run the +application. + +## Run the app in developer mode + +Move into the `helloworld` project directory and tell briefcase to start +the project in Developer (or `dev`) mode: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ cd helloworld +(beeware-venv) $ briefcase dev + +[hello-world] Installing requirements... +... + +[helloworld] Starting in dev mode... +=========================================================================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ cd helloworld +(beeware-venv) $ briefcase dev + +[hello-world] Installing requirements... +... + +[helloworld] Starting in dev mode... +=========================================================================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>cd helloworld +(beeware-venv) C:\...>briefcase dev + +[hello-world] Installing requirements... +... + +[helloworld] Starting in dev mode... +=========================================================================== +``` +::: +:::::: + +This should open a GUI window: + +::::::: {.tabs} +::: {.group-tab} +macOS + +![Hello World Tutorial 1 window, on macOS](images/macOS/tutorial-1.png){.align-center} +::: + +::: {.group-tab} +Linux + +![Hello World Tutorial 1 window, on Linux](images/linux/tutorial-1.png){.align-center} +::: + +:::: {.group-tab} +Windows + +![Hello World Tutorial 1 window, on Windows](images/windows/tutorial-1.png){.align-center} + +::: {.admonition} +Invalid requirements or pip unable to connect + +If you encounter the error: + +``` doscon +Unable to install requirements. This may be because one of your +requirements is invalid, or because pip was unable to connect +to the PyPI server. +``` + +Confirm that you are running a +`version of python that this tutorial supports +`{.interpreted-text role="ref"}. + +If your version of python is *not* a supported version, you will have to +restart the tutorial. +::: +:::: +::::::: + +Close the application - either by pressing the close button on the +application window, by selecting Quit/Exit from the application's menu, +or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - +and you're done! Congratulations - you've just written a standalone, +native application in Python! + +## Next steps + +We now have a working application, running in developer mode. Now we can +add some logic of our own to make our application do something a little +more interesting. In `Tutorial 2 `{.interpreted-text +role="doc"}, we'll put a more useful user interface onto our +application. diff --git a/docs/tutorial/tutorial-1.rst b/docs/en/tutorial/tutorial-1.rst similarity index 100% rename from docs/tutorial/tutorial-1.rst rename to docs/en/tutorial/tutorial-1.rst diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md new file mode 100644 index 00000000..dc2ac6e0 --- /dev/null +++ b/docs/en/tutorial/tutorial-2.md @@ -0,0 +1,342 @@ +# Tutorial 2 - Making it interesting + +In `Tutorial 1 `{.interpreted-text role="doc"}, we generated +a stub project that was able to run, but we didn't write any code +ourselves. Let's take a look at what was generated for us. + +## What was generated + +In the `src/helloworld` directory, you should see 3 files: +`__init__.py`, `__main__.py` and `app.py`. + +`__init__.py` marks the `helloworld` directory as an importable Python +module. It is an empty file; the very fact it exists tells the Python +interpreter that the `helloworld` directory defines a module. + +`__main__.py` marks the `helloworld` module as a special kind of module +-an executable module. If you try to run the `helloworld` module using +`python -m helloworld`, the `__main__.py` file is where Python will +start executing. The contents of `__main__.py` is relatively simple: + + from helloworld.app import main + + if __name__ == "__main__": + main().main_loop() + +This file does two things: + +- It imports the `main` method from from the `helloworld` app. +- Then, it starts the application’s main loop. The main loop is the way + a GUI application listens for user input (like mouse clicks and + keyboard presses). + +The more interesting file is `app.py` - this contains the logic that +creates our application window: + + import toga + from toga.style.pack import COLUMN, ROW + + class HelloWorld(toga.App): + def startup(self): + main_box = toga.Box() + + self.main_window = toga.MainWindow(title=self.formal_name) + self.main_window.content = main_box + self.main_window.show() + + def main(): + return HelloWorld() + +Let's go through this line by line: + + import toga + from toga.style.pack import COLUMN, ROW + +First, we import the `toga` widget toolkit, as well as some +style-related utility constants. Our code doesn't use these yet - but +we'll make use of them shortly. + +Then, we define a class: + + class HelloWorld(toga.App): + +Each Toga application has a single `toga.App` instance, representing the +running entity that is the application. The app may end up managing +multiple windows; but for simple applications, there will be a single +main window. + +Next, we define a `startup()` method: + + def startup(self): + main_box = toga.Box() + +The first thing the startup method does is to define a main box. Toga's +layout scheme behaves similar to HTML. You build an application by +constructing a collection of boxes, each of which contains other boxes, +or actual widgets. You then apply styles to these boxes to define how +they will consume the available window space. + +In this application, we define a single box, but we don't put anything +into it. + +Next, we define a window into which we can put this empty box: + + self.main_window = toga.MainWindow(title=self.formal_name) + +This creates an instance of a `toga.MainWindow`, which will have a title +matching the application's name. A Main Window is a special kind of +window in Toga - it's a window that is closely bound to the life cycle +of the app. When the Main Window is closed, the application exits. The +Main Window is also the window that has the application's menu (if +you're on a platform like Windows where menu bars are part of the +window). + +::: {.admonition} +Where is my window? + +If you have made an error in your code, the main window of the app may +not display. If this happens, you can type **Ctrl+C** in the terminal +where you started the app. This will stop the app. You can then fix the +error and restart the app. +::: + +We then add our empty box as the content of the main window, and +instruct the application to show our window: + + self.main_window.content = main_box + self.main_window.show() + +Last of all, we define a `main()` function. This is what creates the +instance of our application: + + def main(): + return HelloWorld() + +This `main()` method is the one that is imported and invoked by +`__main__.py`. It creates and returns an instance of our `HelloWorld` +application. + +That's the simplest possible Toga application. Let's put some of our own +content into the application, and make the app do something interesting. + +## Adding some content of our own + +Let's do something more interesting with our `HelloWorld` app. + +:::: {.note} +::: {.title} +Note +::: + +When you make these changes, make sure you keep the imports at the top +of the file, and the `main()` at the bottom of the file. You only need +to update the `HelloWorld` class. +:::: + +Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it +looks like this: + + class HelloWorld(toga.App): + def startup(self): + main_box = toga.Box(direction=COLUMN) + + name_label = toga.Label( + "Your name: ", + margin=(0, 5), + ) + self.name_input = toga.TextInput(flex=1) + + name_box = toga.Box(direction=ROW, margin=5) + name_box.add(name_label) + name_box.add(self.name_input) + + button = toga.Button( + "Say Hello!", + on_press=self.say_hello, + margin=5, + ) + + main_box.add(name_box) + main_box.add(button) + + self.main_window = toga.MainWindow(title=self.formal_name) + self.main_window.content = main_box + self.main_window.show() + + def say_hello(self, widget): + print(f"Hello, {self.name_input.value}") + +Let's look in detail at what has changed. + +We're still creating a main box; however, we are now applying a style: + + main_box = toga.Box(direction=COLUMN) + +Toga's built-in layout system is called "Pack". It behaves a lot like +CSS. You define objects in a hierarchy - in HTML, the objects are +`
`, ``, and other DOM elements; in Toga, they're widgets and +boxes. You can then assign styles to the individual elements. In this +case, we're indicating that this is a `COLUMN` box - that is, it is a +box that will consume all the available width, and will expand its +height as content is added, but it will try to be as short as possible. + +:::: {.note} +::: {.title} +Note +::: + +For more advanced uses, Toga also supports a separate style object, +which is used like this: + + from toga.style import Pack + main_box = toga.Box(style=Pack(direction=COLUMN)) +:::: + +Next, we define a couple of widgets: + + name_label = toga.Label( + "Your name: ", + margin=(0, 5), + ) + self.name_input = toga.TextInput(flex=1) + +Here, we define a Label and a TextInput. Both widgets have styles +associated with them; the label will have 5px of margin on its left and +right, and no margin on the top and bottom. The TextInput is marked as +being flexible - that is, it will absorb all available space in its +layout axis. + +The TextInput is assigned as an instance variable of the class. This +gives us easy access to the widget instance - something that we'll use +in a moment. + +Next, we define a box to hold these two widgets: + + name_box = toga.Box(direction=ROW, margin=5) + name_box.add(name_label) + name_box.add(self.name_input) + +The `name_box` is a box just like the main box; however, this time, it's +a `ROW` box. That means content will be added horizontally, and it will +try to make its width as narrow as possible. The box also has some +margin - 5px on all sides. + +Now we define a button: + + button = toga.Button( + "Say Hello!", + on_press=self.say_hello, + margin=5, + ) + +The button also has 5px of margin on all sides. We also define a +*handler* -a method to invoke when the button is pressed. + +Then, we add the name box and the button to the main box: + + main_box.add(name_box) + main_box.add(button) + +This completes our layout; the rest of the startup method is as it was +previously - defining a `MainWindow`, and assigning the main box as the +window's content: + + self.main_window = toga.MainWindow(title=self.formal_name) + self.main_window.content = main_box + self.main_window.show() + +The last thing we need to do is define the handler for the button. A +handler can be any method, generator, or asynchronous coroutine; it +accepts the widget that generated the event as an argument, and will be +invoked whenever the button is pressed: + + def say_hello(self, widget): + print(f"Hello, {self.name_input.value}") + +The body of the method is a simple print statement - however, it will +interrogate the current value of the name input, and use that content as +the text that is printed. + +Now that we've made these changes we can see what they look like by +starting the application again. As before, we'll use developer mode: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev + +[helloworld] Starting in dev mode... +=========================================================================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev + +[helloworld] Starting in dev mode... +=========================================================================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev + +[helloworld] Starting in dev mode... +=========================================================================== +``` +::: +:::::: + +You'll notice that this time, it *doesn't* install dependencies. +Briefcase can detect that the application has been run before, and to +save time, will only run the application. If you add new dependencies to +your app, you need to make sure that they're installed by passing in a +`-r` option when you run `briefcase dev`. + +This should open a GUI window: + +:::::: {.tabs} +::: {.group-tab} +macOS + +![Hello World Tutorial 2 window, on macOS](images/macOS/tutorial-2.png){.align-center} +::: + +::: {.group-tab} +Linux + +![Hello World Tutorial 2 window, on Linux](images/linux/tutorial-2.png){.align-center} +::: + +::: {.group-tab} +Windows + +![Hello World Tutorial 2 window, on Windows](images/windows/tutorial-2.png){.align-center} +::: +:::::: + +If you enter a name in the text box, and press the GUI button, you +should see output appear in the console where you started the +application. + +Before continuing, close the app. As with Tutorial 1, you can do this by +pressing the close button on the application window, by selecting +Quit/Exit from the application's menu, or by typing **Ctrl+C** in the +terminal where you ran `briefcase dev`. + +## Next steps + +We've now got an application that does something a little more +interesting. But it only runs on our own computer. Let's package this +application for distribution. In +`Tutorial 3 `{.interpreted-text role="doc"}, we'll wrap our +application up as a standalone installer that we could send to a friend, +a customer, or upload to an App Store. diff --git a/docs/tutorial/tutorial-2.rst b/docs/en/tutorial/tutorial-2.rst similarity index 100% rename from docs/tutorial/tutorial-2.rst rename to docs/en/tutorial/tutorial-2.rst diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md new file mode 100644 index 00000000..4cbd26d4 --- /dev/null +++ b/docs/en/tutorial/tutorial-3.md @@ -0,0 +1,612 @@ +# Tutorial 3 - Packaging for distribution + +So far, we've been running our application in "Developer mode". This +makes it easy for us to run our application locally - but what we really +want is to be able to give our application to others. + +However, we don't want to have to teach our users how to install Python, +create a virtual environment, clone a git repository, and run Briefcase +in developer mode. We'd rather just give them an installer, and have the +application Just Work. + +Briefcase can be used to package your application for distribution in +this way. + +## Creating your application scaffold + +Since this is the first time we're packaging our application, we need to +create some configuration files and other scaffolding to support the +packaging process. From the `helloworld` directory, run: + +::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase create + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-macOS-app-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +... + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +... + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build/helloworld/macos/app +``` +::: + +:::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase create + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-linux-AppImage-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +... + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build/helloworld/linux/ubuntu/jammy +``` + +::: {.admonition} +Errors about Python versions + +If you receive an error that reads something like: + +> The version of Python being used to run Briefcase (3.12) is not the +> system python3 (3.10). + +You will need to recreate your virtual environment using the system +`python3`. Using the system Python is a requirement for packaging your +application. +::: +:::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase create + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-windows-app-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +... + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +... + +[helloworld] Installing application resources... +... + +[helloworld] Created build\helloworld\windows\app +``` +::: +::::::: + +You've probably just seen pages of content go past in your terminal... +so what just happened? Briefcase has done the following: + +1. It **generated an application template**. There's a lot of files and + configurations required to build a native installer, above and + beyond the code of your actual application. This extra scaffolding + is almost the same for every application on the same platform, + except for the name of the actual application being constructed - so + Briefcase provides an application template for each platform it + supports. This step rolls out the template, substituting the name of + your application, bundle ID, and other properties of your + configuration file as required to support the platform you're + building on. + + If you're not happy with the template provided by Briefcase, you can + provide your own. However, you probably don't want to do this until + you've got a bit more experience using Briefcase's default template. + +2. It **downloaded and installed a support package**. The packaging + approach taken by Briefcase is best described as "the simplest thing + that could possibly work" - it ships a complete, isolated Python + interpreter as part of every application it builds (except for Linux + native system package builds). This is slightly space inefficient - + if you have 5 applications packaged with Briefcase, you'll have 5 + copies of the Python interpreter. However, this approach guarantees + that every application is completely independent, using a specific + version of Python that is known to work with the application. + + Again, Briefcase provides a default support package for each + platform; if you want, you can provide your own support package, and + have that package included as part of the build process. You may + want to do this if you have particular options in the Python + interpreter that you need to have enabled, or if you want to strip + modules out of the standard library that you don't need at runtime. + + Briefcase maintains a local cache of support packages, so once + you've downloaded a specific support package, that cached copy will + be used on future builds. + + As noted above, when Briefcase packages an app as a native Linux + system package (the default package format for Linux), a support + package is not included with the app. Instead, the app will use the + Python that is provided by the distribution of Linux being targeted. + +3. It **installed application requirements**. Your application can + specify any third-party modules that are required at runtime. These + will be installed using `pip` into your application's installer. + +4. It **Installed your application code**. Your application will have + its own code and resources (e.g., images that are needed at + runtime); these files are copied into the installer. + +5. It **installed your resources needed by your application.** Lastly, + it adds any additional resources that are needed by the installer + itself. This includes things like icons that need to be attached to + the final application and splash screen images. + +Once this completes, if you look in the project directory, you should +now see a directory corresponding to your platform (`macOS`, `linux`, or +`windows`) that contains additional files. This is the platform-specific +packaging configuration for your application. + +## Building your application + +You can now compile your application. This step performs any binary +compilation that is necessary for your application to be executable on +your target platform. + +::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase build + +[helloworld] Adhoc signing app... +... +Signing build/helloworld/macos/app/Hello World.app +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:07 + +[helloworld] Built build/helloworld/macos/app/Hello World.app +``` + +On macOS, the `build` command doesn't need to *compile* anything, but it +does need to sign the contents of binary so that it can be executed. +This signature is an *ad hoc* signature - it will only work on *your* +machine; if you want to distribute the application to others, you'll +need to provide a full signature. +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase build + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Building application... +Build bootstrap binary... +make: Entering directory '/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/bootstrap' +... +make: Leaving directory '/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/bootstrap' +Building bootstrap binary... done +Installing license... done +Installing changelog... done +Installing man page... done +Updating file permissions... done +Stripping binary... done + +[helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld +``` + +Once this step completes, the `build` folder will contain a +`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file +system. This file system mirror will contain a `bin` folder with a +`helloworld` binary, plus `lib` and `share` folders needed to support +the binary. +::: + +:::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase build +Setting stub app details... done + +[helloworld] Built build\helloworld\windows\app\src\Hello World.exe +``` + +On Windows, the `build` command doesn't need to *compile* anything, but +it does need to write some metadata so that the application knows its +name, version, and so on. + +::: {.admonition} +Triggering antivirus + +Since this metadata is being written directly in to the pre-compiled +binary rolled out from the template during the `create` command, this +may trigger antivirus software running on your machine and prevent the +metadata from being written. In that case, instruct the antivirus to +allow the tool (named `rcedit-x64.exe`) to run and re-run the command +above. +::: +:::: +::::::: + +## Running your app + +You can now use Briefcase to run your application: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run + +[helloworld] Starting app... +=========================================================================== +Configuring isolated Python... +Pre-initializing Python runtime... +PythonHome: /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib +PYTHONPATH: +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python311.zip +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib/lib-dynload +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app_packages +- /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app +Configure argc/argv... +Initializing Python runtime... +Installing Python NSLog handler... +Running app module: helloworld +--------------------------------------------------------------------------- +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Starting app... +=========================================================================== +Install path: /home/brutus/beeware-tutorial/helloworld/build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr +Pre-initializing Python runtime... +PYTHONPATH: +- /usr/lib/python3.10 +- /usr/lib/python3.10/lib-dynload +- /home/brutus/beeware-tutorial/helloworld/build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/lib/helloworld/app +- /home/brutus/beeware-tutorial/helloworld/build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/lib/helloworld/app_packages +Configure argc/argv... +Initializing Python runtime... +Running app module: helloworld +--------------------------------------------------------------------------- +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run + +[helloworld] Starting app... + +=========================================================================== +Log started: 2023-04-23 04:47:45Z +PreInitializing Python runtime... +PythonHome: C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src +PYTHONPATH: +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\python39.zip +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app_packages +- C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app +Configure argc/argv... +Initializing Python runtime... +Running app module: helloworld +--------------------------------------------------------------------------- +``` +::: +:::::: + +This will start to run your native application, using the app bundle +created by the `build` command. + +You might notice some small differences in the way your application +looks when it's running. For example, icons and the name displayed by +the operating system may be slightly different to those you saw when +running under developer mode. This is also because you're using the +packaged application, not just running Python code. From the operating +system's perspective, you're now running "an app", not "a Python +program", and this is reflected in how the application appears. + +Before continuing, close the app. As with previous tutorial steps, you +can do this by pressing the close button on the application window, by +selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** +in the terminal where you ran `briefcase run`. + +## Building your installer + +You can now package your application for distribution, using the +`package` command. The package command does any compilation that is +required to convert the scaffolded project into a final, distributable +product. Depending on the platform, this may involve compiling an +installer, performing code signing, or doing other pre-distribution +tasks. + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase package --adhoc-sign + +[helloworld] Signing app... + +************************************************************************* +** WARNING: Signing with an ad-hoc identity ** +************************************************************************* + + This app is being signed with an ad-hoc identity. The resulting + app will run on this computer, but will not run on anyone else's + computer. + + To generate an app that can be distributed to others, you must + obtain an application distribution certificate from Apple, and + select the developer identity associated with that certificate + when running 'briefcase package'. + +************************************************************************* + +Signing app with ad-hoc identity... + ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:07 + +[helloworld] Building DMG... +Building dist/Hello World-0.0.1.dmg + +[helloworld] Packaged dist/Hello World-0.0.1.dmg +``` + +The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If +you locate this file in the Finder, and double click on its icon, you'll +mount the DMG, giving you a copy of the Hello World app, and a link to +your Applications folder for easy installation. Drag the app file into +Applications, and you've installed your application. Send the DMG file +to a friend, and they should be able to do the same. + +In this example, we've used the `--adhoc-sign` option - that is, we're +signing our application with *ad hoc* credentials - temporary +credentials that will only work on your machine. We've done this to keep +the tutorial simple. Setting up code signing identities is a little +fiddly, and they're only *required* if you're intending to distribute +your application to others. If we were publishing a real application for +others to use, we would need to specify real credentials. + +When you're ready to publish a real application, check out the Briefcase +How-To guide on [Setting up a macOS code signing +identity](https://briefcase.beeware.org/en/latest/how-to/code-signing/macOS.html). +::: + +::: {.group-tab} +Linux + +The output of the package step will be slightly different depending on +your Linux distribution. If you're on a Debian-derived distribution, +you'll see: + +``` console +(beeware-venv) $ briefcase package + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Building .deb package... +Write Debian package control file... done + +dpkg-deb: building package 'helloworld' in 'helloworld-0.0.1.deb'. +Building Debian package... done + +[helloworld] Packaged dist/helloworld_0.0.1-1~ubuntu-jammy_amd64.deb +``` + +The `dist` folder will contain the `.deb` file that was generated. + +If you're on a RHEL-based distribution, you'll see: + +``` console +(beeware-venv) $ briefcase package + +[helloworld] Finalizing application configuration... +Targeting fedora:40 (Vendor base rhel) +Determining glibc version... done +Targeting glibc 2.39 +Targeting Python3.12 + +[helloworld] Building .rpm package... +Generating rpmbuild layout... done + +Write RPM spec file... done + +Building source archive... done + +Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Kav9H7 ++ umask 022 +... ++ exit 0 +Building RPM package... done + +[helloworld] Packaged dist/helloworld-0.0.1-1.fc40.x86_64.rpm +``` + +The `dist` folder will contain the `.rpm` file that was generated. + +If you're on an Arch-based distribution, you'll see: + +``` console +(beeware-venv) $ briefcase package + +[helloworld] Finalizing application configuration... +Targeting arch:20240101 (Vendor base arch) +Determining glibc version... done +Targeting glibc 2.38 +Targeting Python3.12 + +[helloworld] Building .pkg.tar.zst package... +... +Building Arch package... done + +[helloworld] Packaged dist/helloworld-0.0.1-1-x86_64.pkg.tar.zst +``` + +The `dist` folder will contain the `.pkg.tar.zst` file that was +generated. + +Other Linux distributions aren't currently supported for packaging. + +If you want to build a package for a Linux distribution other than the +one you're using, Briefcase can also help - but you'll need to install +Docker. + +Official installers for [Docker +Engine](https://docs.docker.com/engine/install) are available for a +range of Unix distributions. Follow the instructions for your platform; +however, ensure you don't install Docker in "rootless" mode. + +Once you've installed Docker, you should be able to start an Linux +container - for example: + +``` console +$ docker run --rm -it ubuntu:22.04 +``` + +will show you a Unix prompt (something like `root@84444e31cff9:/#`) +inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and +return to your local shell. + +Once you've got Docker installed, you can use Briefcase to build a +package for any Linux distribution that Briefcase supports by passing in +a Docker image as an argument. For example, to build a DEB package for +Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you +can run: + +``` console +$ briefcase package --target ubuntu:jammy +``` + +This will download the Docker image for your selected operating system, +create a container that is able to run Briefcase builds, and build the +app package inside the image. Once it's completed, the `dist` folder +will contain the package for the target Linux distribution. +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase package + +************************************************************************* +** WARNING: No signing identity provided ** +************************************************************************* + + Briefcase will not sign the app. To provide a signing identity, + use the `--identity` option; or, to explicitly disable signing, + use `--adhoc-sign`. + +************************************************************************* + +[helloworld] Building MSI... +Compiling application manifest... +Compiling... done + +Compiling application installer... +helloworld.wxs +helloworld-manifest.wxs +Compiling... done + +Linking application installer... +Linking... done + +[helloworld] Packaged dist\Hello_World-0.0.1.msi +``` + +In this example, we're not signing our app. As a result, when you use +the installer, you'll get a system warning that the application comes +from an unknown developer. We've done this to keep the tutorial simple. +Setting up code signing identities is a little fiddly, and they're only +*required* if you're intending to distribute your application to others. +If we were publishing a real application for others to use, we would +need to specify a real signing identity; when that signed app is +installed, the system will notify the user that the application is from +the known identity associated with the certificate. + +When you're ready to publish a real application, check out the Briefcase +How-To guide on [Setting up a Windows code signing +identity](https://briefcase.beeware.org/en/latest/how-to/code-signing/windows.html). + +Once this step completes, the `dist` folder will contain a file named +`Hello_World-0.0.1.msi`. If you double click on this installer to run +it, you should go through a familiar Windows installation process. Once +this installation completes, there will be a "Hello World" entry in your +start menu. +::: +:::::: + +## Next steps + +We now have our application packaged for distribution on desktop +platforms. But what happens when we need to update the code in our +application? How do we get those updates into our packaged application? +Turn to `Tutorial 4 <./tutorial-4>`{.interpreted-text role="doc"} to +find out... diff --git a/docs/tutorial/tutorial-3.rst b/docs/en/tutorial/tutorial-3.rst similarity index 100% rename from docs/tutorial/tutorial-3.rst rename to docs/en/tutorial/tutorial-3.rst diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md new file mode 100644 index 00000000..ccbd7011 --- /dev/null +++ b/docs/en/tutorial/tutorial-4.md @@ -0,0 +1,271 @@ +# Tutorial 4 - Updating your application + +In the last tutorial, we packaged our application as a native +application. If you're dealing with a real-world app, that isn't going +to be the end of the story - you'll likely do some testing, discover +problems, and need to make some changes. Even if your application is +perfect, you'll eventually want to publish version 2 of your application +with improvements. + +So - how do you update your installed app when you make code changes? + +## Updating application code + +Our application currently prints to the console when you press the +button. However, GUI applications shouldn't really use the console for +output. They need to use dialogs to communicate with users. + +Let's add a dialog box to say hello, instead of writing to the console. +Modify the `say_hello` callback so it looks like this: + + async def say_hello(self, widget): + await self.main_window.dialog( + toga.InfoDialog( + f"Hello, {self.name_input.value}", + "Hi there!", + ) + ) + +We need to make the method `async` so that when we display the dialog, +the rest of the application continues to run. Don't worry about this +detail too much right now -we'll give a more detailed explanation in +`Tutorial 8 `{.interpreted-text role="doc"}. + +This directs Toga to open a modal dialog box when the button is pressed. + +If you run `briefcase dev`, enter a name, and press the button, you'll +see the new dialog box: + +:::::: {.tabs} +::: {.group-tab} +macOS + +![Hello World Tutorial 4 dialog, on macOS](images/macOS/tutorial-4.png){.align-center} +::: + +::: {.group-tab} +Linux + +![Hello World Tutorial 4 dialog, on Linux](images/linux/tutorial-4.png){.align-center} +::: + +::: {.group-tab} +Windows + +![Hello World Tutorial 4 dialog, on Windows](images/windows/tutorial-4.png){.align-center} +::: +:::::: + +However, if you run `briefcase run`, the dialog box won't appear. + +Why is this? Well, `briefcase dev` operates by running your code in +place -it tries to produce as realistic runtime environment for your +code as possible, but it doesn't provide or use any of the platform +infrastructure for wrapping your code as an application. Part of the +process of packaging your app involves copying your code *into* the +application bundle - and at the moment, your application still has the +old code in it. + +So - we need to tell briefcase to update your app, copying in the new +version of the code. We *could* do this by deleting the old platform +directory and starting from scratch. However, Briefcase provides an +easier way - you can update the code for your existing bundled +application: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase update + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase update + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase update + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: +:::::: + +If Briefcase can't find the scaffolded template, it will automatically +invoke `create` to generate a fresh scaffold. + +Now that we've updated the installer code, we can then run +`briefcase build` to re-compile the app, `briefcase run` to run the +updated app, and `briefcase package` to repackage the application for +distribution. + +(macOS users, remember that as noted in +`Tutorial 3 `{.interpreted-text role="doc"}, for the +tutorial we recommend running `briefcase package` with the +`--adhoc-sign` flag to avoid the complexity of setting up a code signing +identity and keep the tutorial as simple as possible.) + +## Update and run in one step + +If you're rapidly iterating code changes, you'll likely want to make a +code change, update the application, and immediately re-run your +application. For most purposes, developer mode (`briefcase dev`) will be +the easiest way to do this sort of rapid iteration; however, if you're +testing something about how your application runs as a native binary, or +hunting a bug that only manifests when your application is in packaged +form, you may need to use repeated calls to `briefcase run`. To simplify +the process of updating and running the bundled app, Briefcase has a +shortcut to support this usage pattern - the `-u` (or `--update`) option +on the `run` command. + +Let's try making another change. You may have noticed that if you don't +type a name in the text input box, the dialog will say "Hello, ". Let's +modify the `say_hello` function again to handle this edge case. + +At the top of the file, between the imports and the `class HelloWorld` +definition, add a utility method to generate an appropriate greeting +depending on the value of the name that has been provided: + + def greeting(name): + if name: + return f"Hello, {name}" + else: + return "Hello, stranger" + +Then, modify the `say_hello` callback to use this new utility method: + + async def say_hello(self, widget): + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + "Hi there!", + ) + ) + +Run your app in development mode (with `briefcase dev`) to confirm that +the new logic works; then update, build and run the app with one +command: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run -u + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Building application... +... + +[helloworld] Built build/helloworld/macos/app/Hello World.app + +[helloworld] Starting app... +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run -u + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.10 + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Building application... +... + +[helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld + +[helloworld] Starting app... +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run -u + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. + +[helloworld] Starting app... +``` +::: +:::::: + +The package command also accepts the `-u` argument, so if you make a +change to your application code and want to repackage immediately, you +can run `briefcase package -u`. + +## Next steps + +We now have our application packaged for distribution on desktop +platforms, and we've been able to update the code in our application. + +But what about mobile? In +`Tutorial 5 `{.interpreted-text role="doc"}, we'll +convert our application into a mobile application, and deploy it onto a +device simulator, and onto a phone. diff --git a/docs/tutorial/tutorial-4.rst b/docs/en/tutorial/tutorial-4.rst similarity index 100% rename from docs/tutorial/tutorial-4.rst rename to docs/en/tutorial/tutorial-4.rst diff --git a/docs/en/tutorial/tutorial-5/android.md b/docs/en/tutorial/tutorial-5/android.md new file mode 100644 index 00000000..8d78ba4a --- /dev/null +++ b/docs/en/tutorial/tutorial-5/android.md @@ -0,0 +1,413 @@ +# Tutorial 5 - Taking it mobile: Android + +Now, we're going to take our application, and deploy it as an Android +application. + +The process of deploying an application to Android is very similar to +the process for deploying as a desktop application. Briefcase handles +installing dependencies for Android, including the Android SDK, the +Android emulator, and a Java compiler. + +## Create an Android app and compile it + +First, run the `create` command. This downloads an Android app template +and adds your Python code to it. + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase create android + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +Writing requirements file... done + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build/helloworld/android/gradle +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase create android + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +Writing requirements file... done + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build/helloworld/android/gradle +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase create android + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +Writing requirements file... done + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build\helloworld\android\gradle +``` +::: +:::::: + +When you run `briefcase create android` for the first time, Briefcase +downloads a Java JDK, and the Android SDK. File sizes and download times +can be considerable; this may take a while (10 minutes or longer, +depending on the speed of your Internet connection). When the download +has completed, you will be prompted to accept Google's Android SDK +license. There's a number of licenses you'll need to agree too - keep +entering `y` at the prompt to review and accept each of the necessary +the license agreements. + +Once this completes, we'll have a `build\helloworld\android\gradle` +directory in our project, which will contain an Android project with a +Gradle build configuration. This project will contain your application +code, and a support package containing the Python interpreter. + +We can then use Briefcase's `build` command to compile this into an +Android APK app file. + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase build android + +[helloworld] Updating app metadata... +Setting main module... done + +[helloworld] Building Android APK... +Starting a Gradle Daemon +... +BUILD SUCCESSFUL in 1m 1s +28 actionable tasks: 17 executed, 11 up-to-date +Building... done + +[helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase build android + +[helloworld] Updating app metadata... +Setting main module... done + +[helloworld] Building Android APK... +Starting a Gradle Daemon +... +BUILD SUCCESSFUL in 1m 1s +28 actionable tasks: 17 executed, 11 up-to-date +Building... done + +[helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase build android + +[helloworld] Updating app metadata... +Setting main module... done + +[helloworld] Building Android APK... +Starting a Gradle Daemon +... +BUILD SUCCESSFUL in 1m 1s +28 actionable tasks: 17 executed, 11 up-to-date +Building... done + +[helloworld] Built build\helloworld\android\gradle\app\build\outputs\apk\debug\app-debug.apk +``` +::: +:::::: + +::: {.admonition} +Gradle may look stuck + +During the `briefcase build android` step, Gradle (the Android platform +build tool) will print `CONFIGURING: 100%`, and appear to be doing +nothing. Don't worry, it's not stuck - it's downloading more Android SDK +components. Depending on your Internet connection speed, this may take +another 10 minutes (or longer). This lag should only happen the very +first time you run `build`; the tools are cached, and on your next +build, the cached versions will be used. +::: + +## Run the app on a virtual device + +We're now ready to run our application. You can use Briefcase's `run` +command to run the app on an Android device. Let's start by running on +an Android emulator. + +To run your application, run `briefcase run android`. When you do this, +you'll be prompted with a list of devices that you could run the app on. +The last item will always be an option to create a new Android emulator. + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run android + +Select device: + + 1) Create a new Android emulator + +> +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run android + +Select device: + + 1) Create a new Android emulator + +> +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run android + +Select device: + + 1) Create a new Android emulator + +> +``` +::: +:::::: + +We can now choose our desired device. Select the "Create a new Android +emulator" option, and accept the default choice for the device name +(`beePhone`). + +Briefcase `run` will automatically boot the virtual device. When the +device is booting, you will see the Android logo: + +
+ +
Android virtual device booting
+
+ +Once the device has finished booting, Briefcase will install your app on +the device. You will briefly see a launcher screen: + +
+ +
Android virtual device fully started, on the launcher +screen
+
+ +The app will then start. You'll see a splash screen while the app starts +up: + +
+ +
App splash screen
+
+ +::: {.admonition} +The emulator didn't start! + +The Android emulator is a complex piece of software that relies on a +number of hardware and operating system features - features that may not +be available or enabled on older machines. If you experience any +difficulties starting the Android emulator, consult the [Requirements +and +recommendations](https://developer.android.com/studio/run/emulator#requirements) +section of the Android developer documentation. +::: + +The first time the app starts, it needs to unpack itself onto the +device. This may take a few seconds. Once it's unpacked, you'll see the +Android version of our desktop app: + +
+ +
Demo app fully launched
+
+ +If you fail to see your app launching, you may need to check your +terminal where you ran `briefcase run` and look for any error messages. + +While the app is running, you'll see a lot of messages being streamed in +the console. This is a stream of the application's logs from the +emulator. Typing Ctrl+C into the terminal will halt the streamed +information in the console, but it will not close the emulator. This is +so you can test new changes without restarting the emulator. + +In future, if you want to run on this device without using the menu, you +can provide the emulator's name to Briefcase, using +`briefcase run android -d "@beePhone"` to run on the virtual device +directly. + +## Run the app on a physical device + +If you have a physical Android phone or tablet, you can connect it to +your computer with a USB cable, and then use the Briefcase to target +your physical device. + +Android requires that you prepare your device before it can be used for +development. You will need to make 2 changes to the options on your +device: + +> - Enable developer options +> - Enable USB debugging + +Details on how to make these changes can be found [in the Android +developer +documentation](https://developer.android.com/studio/debug/dev-options#enable). + +Once these steps have been completed, your device should appear in the +list of available devices when you run `briefcase run android`. + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run android + +Select device: + + 1) Pixel 3a (94ZZY0LNE8) + 2) @beePhone (emulator) + 3) Create a new Android emulator + +> +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run android + +Select device: + + 1) Pixel 3a (94ZZY0LNE8) + 2) @beePhone (emulator) + 3) Create a new Android emulator + +> +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run android + +Select device: + + 1) Pixel 3a (94ZZY0LNE8) + 2) @beePhone (emulator) + 3) Create a new Android emulator + +> +``` +::: +:::::: + +Here we can see a new physical device with it's serial number on the +deployment list - in this case, a Pixel 3a. In the future, if you want +to run on this device without using the menu, you can provide the +phone's serial number to Briefcase (in this case, +`briefcase run android -d 94ZZY0LNE8`). This will run on the device +directly, without prompting. + +::: {.admonition} +My device doesn't appear! + +If your device doesn't appear on this list at all, either you haven't +enabled USB debugging, (or the device isn't plugged in!). + +If your device appears, but is listed as "Unknown device (not authorized +for development)", developer mode hasn't been correctly enabled. Re-run +[the steps to enable developer +options](https://developer.android.com/studio/debug/dev-options#enable), +and re-run `briefcase run android`. +::: + +## Next steps + +We've now got an application on our phone! Is there anywhere else we can +deploy a BeeWare app? Turn to +`Tutorial 6 <../tutorial-6>`{.interpreted-text role="doc"} to find +out... diff --git a/docs/tutorial/tutorial-5/android.rst b/docs/en/tutorial/tutorial-5/android.rst similarity index 100% rename from docs/tutorial/tutorial-5/android.rst rename to docs/en/tutorial/tutorial-5/android.rst diff --git a/docs/en/tutorial/tutorial-5/iOS.md b/docs/en/tutorial/tutorial-5/iOS.md new file mode 100644 index 00000000..8ddb9fb0 --- /dev/null +++ b/docs/en/tutorial/tutorial-5/iOS.md @@ -0,0 +1,155 @@ +# Tutorial 5 - Taking it mobile: iOS + +To compile iOS applications we'll need Xcode, which is available for +free from [the macOS App +Store](https://apps.apple.com/au/app/xcode/id497799835?mt=12). Once +Xcode is installed, launch it from Applications and accept the Xcode +License Agreement. Next, Xcode will show which components are built-in, +and which components you may download. Select the checkbox next to iOS +(followed by the current version number), and then click "Download and +Install" to install it. Xcode will install the system components, +followed by the iOS Simulator. + +Once we've got Xcode and the iOS simulator installed, we can take our +application and deploy it as an iOS app. + +The process of deploying an application to iOS is very similar to the +process for deploying as a desktop application. First, you run the +`create` command -but this time, we specify that we want to create an +iOS application: + +``` console +(beeware-venv) $ briefcase create iOS + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-iOS-Xcode-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +... + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +... + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +... + +[helloworld] Created build/helloworld/ios/xcode +``` + +Once this completes, we'll have a `build/helloworld/ios/xcode` directory +containing an Xcode project, as well as the support libraries and the +application code needed for the application. + +You can then use Briefcase to compile your app using +`briefcase build iOS`: + +``` console +(beeware-venv) $ briefcase build iOS + +[helloworld] Updating app metadata... +Setting main module... done + +[helloworld] Building Xcode project... +... +Building... done + +[helloworld] Built build/helloworld/ios/xcode/build/Debug-iphonesimulator/Hello World.app +``` + +We're now ready to run our application, using `briefcase run iOS`. +You'll be prompted to select a device to compile for; if you've got +simulators for multiple iOS SDK versions installed, you may also be +asked which iOS version you want to target. The options you are shown +may differ from the options show in this output - at the very least, the +list of devices will likely be different. For our purposes, it doesn't +matter which simulator you pick. + +``` console +(beeware-venv) $ briefcase run iOS + +Select simulator device: + + 1) iPad (10th generation) + 2) iPad Air (5th generation) + 3) iPad Pro (11-inch) (4th generation) + 4) iPad Pro (12.9-inch) (6th generation) + 5) iPad mini (6th generation) + 6) iPhone 14 + 7) iPhone 14 Plus + 8) iPhone 14 Pro + 9) iPhone 14 Pro Max + 10) iPhone SE (3rd generation) + +> 10 + +In the future, you could specify this device by running: + + $ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 16.2" + +or: + + $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E + +[helloworld] Starting app on an iPhone SE (3rd generation) running iOS 16.2 (device UDID 2614A2DD-574F-4C1F-9F1E-478F32DE282E) +Booting simulator... done +Opening simulator... done + +[helloworld] Installing app... +Uninstalling any existing app version... done +Installing new app version... done + +[helloworld] Starting app... +Launching app... done + +[helloworld] Following simulator log output (type CTRL-C to stop log)... +=========================================================================== +... +``` + +This will start the iOS simulator, install your app, and start it. You +should see the simulator start, and eventually open your iOS +application: + +![Hello World Tutorial 5 window, on iOS](../images/iOS/tutorial-5.png) + +While the app is running, you'll see a series of Simulator log output +messages in the console. Typing Ctrl+C into the terminal will halt the +messages in the console, but it will not close the simulator. This is so +you can test new changes without restarting the simulator. + +If you know ahead of time which iOS simulator you want to target, you +can tell Briefcase to use that simulator by providing a `-d` (or +`--device`) option. Using the name of the device you selected when you +built your application, run: + +``` console +$ briefcase run iOS -d "iPhone SE (3rd generation)" +``` + +If you have multiple iOS versions available, Briefcase will pick the +highest iOS version; if you want to pick a particular iOS version, you +tell it to use that specific version: + +``` console +$ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 15.5" +``` + +Or, you can name a specific device UDID: + +``` console +$ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E +``` + +## Next steps + +We've now got an application on our phone! Is there anywhere else we can +deploy a BeeWare app? Turn to +`Tutorial 6 <../tutorial-6>`{.interpreted-text role="doc"} to find +out... diff --git a/docs/tutorial/tutorial-5/iOS.rst b/docs/en/tutorial/tutorial-5/iOS.rst similarity index 100% rename from docs/tutorial/tutorial-5/iOS.rst rename to docs/en/tutorial/tutorial-5/iOS.rst diff --git a/docs/en/tutorial/tutorial-5/index.md b/docs/en/tutorial/tutorial-5/index.md new file mode 100644 index 00000000..e43c37f9 --- /dev/null +++ b/docs/en/tutorial/tutorial-5/index.md @@ -0,0 +1,25 @@ +# Tutorial 5 - Taking it Mobile + +So far, we've been running and testing our application on the desktop. +However, BeeWare also supports mobile platforms - and the application +we've written can be deployed to your mobile device, too! + +::::: {.grid} +1 1 2 2 + +::: {.grid-item-card link="iOS" link-type="doc"} +iOS + +iOS applications can only be compiled on macOS. +::: + +::: {.grid-item-card link="android" link-type="doc"} +Android + +Android applications can be compiled on macOS, Windows or Linux. +::: +::::: + +::: {.toctree maxdepth="1" hidden=""} +iOS android +::: diff --git a/docs/tutorial/tutorial-5/index.rst b/docs/en/tutorial/tutorial-5/index.rst similarity index 100% rename from docs/tutorial/tutorial-5/index.rst rename to docs/en/tutorial/tutorial-5/index.rst diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md new file mode 100644 index 00000000..e38db2f8 --- /dev/null +++ b/docs/en/tutorial/tutorial-6.md @@ -0,0 +1,182 @@ +# Tutorial 6 - Put it on the web! + +In addition to supporting mobile platforms, the Toga widget toolkit also +supports the web! Using the same API that you used to deploy your +desktop and mobile applications, you can deploy your application as a +single-page web app. + +::: {.admonition} +Proof of Concept + +The Toga Web backend is the least mature of all the Toga backends. It's +mature enough to show off a few features, but it's likely to be buggy, +and will be missing many of the widgets that are available on other +platforms. At this point in time, Web deployment should be considered a +"Proof of Concept" - enough to demonstrate what can be done, but not +enough to be relied on for serious development. + +If you have problems with this step of the tutorial, you can skip to the +next page. +::: + +## Deploying as a web app + +The process of deploying as a single-page web app follows the same +familiar pattern - you create the application, then build the +application, then run it. However, Briefcase can be a little bit smart; +if you attempt to run an application, and Briefcase determines that it +hasn't been created or built for the platform being targeted, it will do +the create and build steps for you. Since this is our first time running +the app for the web, we can perform all three steps with one command: + +:::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run web + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-web-static-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +Writing requirements file... done + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build/helloworld/web/static + +[helloworld] Building web project... +... + +[helloworld] Built build/helloworld/web/static/www/index.html + +[helloworld] Starting web server... +Web server open on http://127.0.0.1:8080 + +[helloworld] Web server log output (type CTRL-C to stop log)... +=========================================================================== +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run web + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-web-static-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +Writing requirements file... done + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build/helloworld/web/static + +[helloworld] Building web project... +... + +[helloworld] Built build/helloworld/web/static/www/index.html + +[helloworld] Starting web server... +Web server open on http://127.0.0.1:8080 + +[helloworld] Web server log output (type CTRL-C to stop log)... +=========================================================================== +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run web + +[helloworld] Generating application template... +Using app template: https://github.com/beeware/briefcase-web-static-template.git, branch v0.3.18 +... + +[helloworld] Installing support package... +No support package required. + +[helloworld] Installing application code... +Installing src/helloworld... done + +[helloworld] Installing requirements... +Writing requirements file... done + +[helloworld] Installing application resources... +... + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Created build\helloworld\web\static + +[helloworld] Building web project... +... + +[helloworld] Built build\helloworld\web\static\www\index.html + +[helloworld] Starting web server... +Web server open on http://127.0.0.1:8080 + +[helloworld] Web server log output (type CTRL-C to stop log)... +=========================================================================== +``` +::: +:::::: + +This will open a web browser, pointing at : + +![Hello World Tutorial 6 dialog, in a browser](images/tutorial-6.png) + +If you enter your name and click the button, a dialog will appear. + +## How does this work? + +This web app is a static website - a single HTML source page, with some +CSS and other resources. Briefcase has started a local web server to +serve this page so your browser can view the page. If you wanted to put +this web page into production, you could copy the contents of the `www` +folder onto any web server that can serve static content. + +But when you press the button, you're running Python code... how does +that work? Toga uses [PyScript](https://pyscript.net) to provide a +Python interpreter in the browser. Briefcase packages your app's code as +wheels that PyScript can load in the browser. When the page is loaded, +the application code runs in the browser, building the UI using the +browser DOM. When you click a button, that button runs the event +handling code in the browser. + +## Next steps + +Although we've now deployed this app on desktop, mobile and the web, the +app is fairly simple, and doesn't involve any third-party libraries. Can +we include libraries from the Python Package Index (PyPI) in our app? +Turn to `Tutorial 7 `{.interpreted-text role="doc"} to find +out... diff --git a/docs/tutorial/tutorial-6.rst b/docs/en/tutorial/tutorial-6.rst similarity index 100% rename from docs/tutorial/tutorial-6.rst rename to docs/en/tutorial/tutorial-6.rst diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md new file mode 100644 index 00000000..69fbbec6 --- /dev/null +++ b/docs/en/tutorial/tutorial-7.md @@ -0,0 +1,719 @@ +# Tutorial 7 - Get this (third)-party started + +So far, the app we've built has only used our own code, plus the code +provided by BeeWare. However, in a real-world app, you'll likely want to +use a third-party library, downloaded from the Python Package Index +(PyPI). + +Let's modify our app to include a third-party library. + +## Adding a package + +Let's modify our application to say a little bit more than just "Hi, +there!". + +To generate some more interesting text for the dialog, we're going to +use a library called [Faker](https://faker.readthedocs.io/en/stable/) . +Faker is a Python package that generates fake content, including names +and text blocks. The names and words in the text block are generated +from an arbitrary list of words provided by Faker. We're going to use +Faker to construct a fake message, as if someone is responding to the +user. + +We start by adding `faker` to our app. Add an import to the top of the +`app.py` to import `faker`: + + import faker + +Then modify the `say_hello()` callback so it looks like this: + + async def say_hello(self, widget): + fake = faker.Faker() + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + f"A message from {fake.name()}: {fake.text()}", + ) + ) + +Let's run our updated app in Briefcase developer mode to check that our +change has worked. + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev +Traceback (most recent call last): +File ".../venv/bin/briefcase", line 5, in + from briefcase.__main__ import main +File ".../venv/lib/python3.13/site-packages/briefcase/__main__.py", line 3, in + from .cmdline import parse_cmdline +File ".../venv/lib/python3.13/site-packages/briefcase/cmdline.py", line 6, in + from briefcase.commands import DevCommand, NewCommand, UpgradeCommand +File ".../venv/lib/python3.13/site-packages/briefcase/commands/__init__.py", line 1, in + from .build import BuildCommand # noqa +File ".../venv/lib/python3.13/site-packages/briefcase/commands/build.py", line 5, in + from .base import BaseCommand, full_options +File ".../venv/lib/python3.13/site-packages/briefcase/commands/base.py", line 14, in + import faker +ModuleNotFoundError: No module named 'faker' +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev +Traceback (most recent call last): +File ".../venv/bin/briefcase", line 5, in + from briefcase.__main__ import main +File ".../venv/lib/python3.13/site-packages/briefcase/__main__.py", line 3, in + from .cmdline import parse_cmdline +File ".../venv/lib/python3.13/site-packages/briefcase/cmdline.py", line 6, in + from briefcase.commands import DevCommand, NewCommand, UpgradeCommand +File ".../venv/lib/python3.13/site-packages/briefcase/commands/__init__.py", line 1, in + from .build import BuildCommand # noqa +File ".../venv/lib/python3.13/site-packages/briefcase/commands/build.py", line 5, in + from .base import BaseCommand, full_options +File ".../venv/lib/python3.13/site-packages/briefcase/commands/base.py", line 14, in + import faker +ModuleNotFoundError: No module named 'faker' +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev +Traceback (most recent call last): +File "...\venv\bin\briefcase", line 5, in + from briefcase.__main__ import main +File "...\venv\lib\python3.13\site-packages\briefcase\__main__.py", line 3, in + from .cmdline import parse_cmdline +File "...\venv\lib\python3.13\site-packages\briefcase\cmdline.py", line 6, in + from briefcase.commands import DevCommand, NewCommand, UpgradeCommand +File "...\venv\lib\python3.13\site-packages\briefcase\commands\__init__.py", line 1, in + from .build import BuildCommand # noqa +File "...\venv\lib\python3.13\site-packages\briefcase\commands\build.py", line 5, in + from .base import BaseCommand, full_options +File "...\venv\lib\python3.13\site-packages\briefcase\commands\base.py", line 14, in + import faker +ModuleNotFoundError: No module named 'faker' +``` +::: + +::: {.group-tab} +Android + +You can't run an Android app in developer mode - use the instructions +for your chosen desktop platform. +::: + +::: {.group-tab} +iOS + +You can't run an iOS app in developer mode - use the instructions for +your chosen desktop platform. +::: +:::::::: + +What happened? We've added `faker` to our *code*, but we haven't added +it to our development virtual environment. We can fix this by installing +`faker` with `pip`, and then re-running `briefcase dev`: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ python -m pip install faker +(beeware-venv) $ briefcase dev +``` + +When you enter a name and press the button, you should see a dialog that +looks something like: + +![Hello World Tutorial 7 dialog, on macOS](images/macOS/tutorial-7.png){.align-center} +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ python -m pip install faker +(beeware-venv) $ briefcase dev +``` + +When you enter a name and press the button, you should see a dialog that +looks something like: + +![Hello World Tutorial 7 dialog, on Linux](images/linux/tutorial-7.png){.align-center} +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>python -m pip install faker +(beeware-venv) C:\...>briefcase dev +``` + +When you enter a name and press the button, you should see a dialog that +looks something like: + +![Hello World Tutorial 7 dialog, on Windows](images/windows/tutorial-7.png){.align-center} +::: + +::: {.group-tab} +Android + +You can't run an Android app in developer mode - use the instructions +for your chosen desktop platform. +::: + +::: {.group-tab} +iOS + +You can't run an iOS app in developer mode - use the instructions for +your chosen desktop platform. +::: +:::::::: + +We've now got a working app, using a third party library, running in +development mode! + +## Running the updated app + +Let's get this updated application code packaged as a standalone app. +Since we've made code changes, we need to follow the same steps as in +`Tutorial 4 `{.interpreted-text role="doc"}: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +Update the code in the packaged app: + +``` console +(beeware-venv) $ briefcase update + +[helloworld] Updating application code... +... + +[helloworld] Application updated. +``` + +Rebuild the app: + +``` console +(beeware-venv) $ briefcase build + +[helloworld] Adhoc signing app... +[helloworld] Built build/helloworld/macos/app/Hello World.app +``` + +And finally, run the app: + +``` console +(beeware-venv) $ briefcase run + +[helloworld] Starting app... +=========================================================================== +``` + +However, when the app runs, you'll see an error in the console, plus a +crash dialog: + +![Hello World Tutorial 7 app crash, on macOS](images/macOS/tutorial-7-crash.png){.align-center} +::: + +::: {.group-tab} +Linux + +Update the code in the packaged app: + +``` console +(beeware-venv) $ briefcase update + +[helloworld] Updating application code... +... + +[helloworld] Application updated. +``` + +Rebuild the app: + +``` console +(beeware-venv) $ briefcase build + +[helloworld] Finalizing application configuration... +... + +[helloworld] Building application... +... + +[helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld +``` + +And finally, run the app: + +``` console +(beeware-venv) $ briefcase run + +[helloworld] Starting app... +=========================================================================== +``` + +However, when the app runs, you'll see an error in the console: + +``` console +Traceback (most recent call last): + File "/usr/lib/python3.13/runpy.py", line 194, in _run_module_as_main + return _run_code(code, main_globals, None, + File "/usr/lib/python3.13/runpy.py", line 87, in _run_code + exec(code, run_globals) + File "/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/helloworld-0.0.1/usr/app/hello_world/__main__.py", line 1, in + from helloworld.app import main + File "/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/helloworld-0.0.1/usr/app/hello_world/app.py", line 8, in + import faker +ModuleNotFoundError: No module named 'faker' + +Unable to start app helloworld. +``` +::: + +::: {.group-tab} +Windows + +Update the code in the packaged app: + +``` doscon +(beeware-venv) C:\...>briefcase update + +[helloworld] Updating application code... +... + +[helloworld] Application updated. +``` + +Rebuild the app: + +``` doscon +(beeware-venv) C:\...>briefcase build +... + +[helloworld] Built build\helloworld\windows\app\src\Toga Test.exe +``` + +And finally, run the app: + +``` doscon +(beeware-venv) C:\...>briefcase run + +[helloworld] Starting app... +=========================================================================== +``` + +However, when the app runs, you'll see an error in the console, plus a +crash dialog: + +![Hello World Tutorial 7 app crash, on Windows](images/windows/tutorial-7-crash.png){.align-center} +::: + +::: {.group-tab} +Android + +Update the code in the packaged app: + +``` console +(beeware-venv) $ briefcase update android + +[helloworld] Updating application code... +... + +[helloworld] Application updated. +``` + +Rebuild the app: + +``` console +(beeware-venv) $ briefcase build android + +[helloworld] Updating app metadata... +... +[helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk +``` + +And finally, run the app (selecting a simulator when prompted): + +``` console +(beeware-venv) $ briefcase run android + +[helloworld] Following device log output (type CTRL-C to stop log)... +=========================================================================== +``` + +However, when the app runs, you'll see an error in the console: + +``` console +--------- beginning of crash +E/AndroidRuntime: FATAL EXCEPTION: main +E/AndroidRuntime: Process: com.example.helloworld, PID: 8289 +E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloworld/org.beeware.android.MainActivity}: com.chaquo.python.PyException: ModuleNotFoundError: No module named 'faker' +E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3635) +E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792) +E/AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) +E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) +E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) +E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210) +E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) +E/AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201) +E/AndroidRuntime: at android.os.Looper.loop(Looper.java:288) +E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7839) +E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) +E/AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) +E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) +E/AndroidRuntime: Caused by: com.chaquo.python.PyException: ModuleNotFoundError: No module named 'faker' +E/AndroidRuntime: at .helloworld.app.(app.py:8) +E/AndroidRuntime: at .java.chaquopy.import_override(import.pxi:60) +E/AndroidRuntime: at .__main__.(__main__.py:1) +E/AndroidRuntime: at .runpy._run_code(:88) +E/AndroidRuntime: at .runpy._run_module_code(:98) +E/AndroidRuntime: at .runpy.run_module(:226) +E/AndroidRuntime: at .chaquopy_java.call(chaquopy_java.pyx:352) +E/AndroidRuntime: at .chaquopy_java.Java_com_chaquo_python_PyObject_callAttrThrowsNative(chaquopy_java.pyx:324) +E/AndroidRuntime: at com.chaquo.python.PyObject.callAttrThrowsNative(Native Method) +E/AndroidRuntime: at com.chaquo.python.PyObject.callAttrThrows(PyObject.java:232) +E/AndroidRuntime: at com.chaquo.python.PyObject.callAttr(PyObject.java:221) +E/AndroidRuntime: at org.beeware.android.MainActivity.onCreate(MainActivity.java:85) +E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8051) +E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8031) +E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) +E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608) +E/AndroidRuntime: ... 12 more +I/Process : Sending signal. PID: 8289 SIG: 9 +``` +::: + +::: {.group-tab} +iOS + +Update the code in the packaged app: + +``` console +(beeware-venv) $ briefcase update iOS + +[helloworld] Updating application code... +... + +[helloworld] Application updated. +``` + +Rebuild the app: + +``` console +(beeware-venv) $ briefcase build iOS + +[helloworld] Updating app metadata... +... +[helloworld] Built build/helloworld/ios/xcode/build/Debug-iphonesimulator/Hello World.app +``` + +And finally, run the app (selecting a simulator when prompted): + +``` console +(beeware-venv) $ briefcase run iOS + +... +[helloworld] Following simulator log output (type CTRL-C to stop log)... +=========================================================================== +``` + +However, when the app runs, you'll see an error in the console + +``` console +Application has crashed! +======================== +Traceback (most recent call last): + File "/Users/rkm/Library/Developer/CoreSimulator/Devices/FD7EA28A-6D72-4064-9D8A-53CC8308BB6F/data/Containers/Bundle/Application/D9DD590B-DA32-4EE1-8F78-78658379CAB7/Hello World.app/app/helloworld/__main__.py", line 1, in + from helloworld.app import main + File "/Users/rkm/Library/Developer/CoreSimulator/Devices/FD7EA28A-6D72-4064-9D8A-53CC8308BB6F/data/Containers/Bundle/Application/D9DD590B-DA32-4EE1-8F78-78658379CAB7/Hello World.app/app/helloworld/app.py", line 8, in + import faker +ModuleNotFoundError: No module named 'faker' +``` +::: +:::::::: + +Once again, the app has failed to start because `faker` has not been +installed -but why? Haven't we already installed `faker`? + +We have - but only in the development environment. Your development +environment is entirely local to your machine - and is only enabled when +you explicitly activate it. Although Briefcase has a development mode, +the main reason you'd use Briefcase is to package up your code so you +can give it to someone else. + +The only way to guarantee that someone else will have a Python +environment that contains everything it needs is to build a completely +isolated Python environment. This means there's a completely isolated +Python install, and a completely isolated set of dependencies. This is +what Briefcase is building when you run `briefcase build` - an isolated +Python environment. This also explains why `faker` isn't installed - it +has been installed in your *development* environment, but not in the +packaged app. + +So - we need to tell Briefcase that our app has an external dependency. + +## Updating dependencies + +In the root directory of your app, there is a file named +`pyproject.toml`. This file contains all the app configuration details +that you provided when you originally ran `briefcase new`. + +`pyproject.toml` is broken up into sections; one of the sections +describes the settings for your app: + + [tool.briefcase.app.helloworld] + formal_name = "Hello World" + description = "A Tutorial app" + long_description = """More details about the app should go here. + """ + sources = ["src/helloworld"] + requires = [] + +The `requires` option describes the dependencies of our application. It +is a list of strings, specifying libraries (and, optionally, versions) +of libraries that you want to be included with your app. + +Modify the `requires` setting so that it reads: + + requires = [ + "faker", + ] + +By adding this setting, we're telling Briefcase "when you build my app, +run `pip install faker` into the application bundle". Anything that +would be legal input to `pip install` can be used here - so, you could +specify: + +- A specific library version (e.g., `"faker==37.3.0"`); +- A range of library versions (e.g., `"faker>=37"`); +- A path to a git repository (e.g., + `"git+https://github.com/joke2k/faker/"`); or +- A local file path (However - be warned: if you give your code to + someone else, this path probably won't exist on their machine!) + +Further down in `pyproject.toml`, you'll notice other sections that are +operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` +and `[tool.briefcase.app.helloworld.windows]`. These sections *also* +have a `requires` setting. These settings allow you to define additional +platform-specific dependencies - so, for example, if you need a +platform-specific library to handle some aspect of your app, you can +specify that library in the platform-specific `requires` section, and +that setting will only be used for that platform. You will notice that +the `toga` libraries are all specified in the platform-specific +`requires` section - this is because the libraries needed to display a +user interface are platform specific. + +In our case, we want `faker` to be installed on all platforms, so we use +the app-level `requires` setting. The app-level dependencies will always +be installed; the platform-specific dependencies are installed *in +addition* to the app-level ones. + +Now that we've told Briefcase about our additional requirements, we can +try packaging our app again. Ensure that you've saved your changes to +`pyproject.toml`, and then update your app again - this time, passing in +the `-r` flag. This tells Briefcase to update requirements in the +packaged app: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase update -r + +[helloworld] Updating application code... +Installing src/hello_world... + +[helloworld] Updating requirements... +Collecting faker + Using cached faker-37.3.0-py3-none-any.whl.metadata (15 kB) +... +Installing collected packages: tzdata, travertino, std-nslog, rubicon-objc, fonttools, toga-core, faker, toga-cocoa +Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslog-1.0.3 toga-cocoa-0.5.1 toga-core-0.5.1 travertino-0.5.1 tzdata-2025.2 + +[helloworld] Removing unneeded app content... +... + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase update -r + +[helloworld] Finalizing application configuration... +Targeting ubuntu:jammy (Vendor base debian) +Determining glibc version... done +Targeting glibc 2.35 +Targeting Python3.13 + +[helloworld] Updating application code... +Installing src/hello_world... + +[helloworld] Updating requirements... +Collecting faker + Using cached faker-37.3.0-py3-none-any.whl.metadata (15 kB) +... +Installing collected packages: tzdata, travertino, std-nslog, rubicon-objc, fonttools, toga-core, faker, toga-cocoa +Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslog-1.0.3 toga-cocoa-0.5.1 toga-core-0.5.1 travertino-0.5.1 tzdata-2025.2 + +[helloworld] Removing unneeded app content... +... + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase update -r + +[helloworld] Updating application code... +Installing src/helloworld... + +[helloworld] Updating requirements... +Collecting faker + Using cached faker-37.3.0-py3-none-any.whl.metadata (15 kB) +... +Installing collected packages: tzdata, travertino, std-nslog, rubicon-objc, fonttools, toga-core, faker, toga-cocoa +Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslog-1.0.3 toga-cocoa-0.5.1 toga-core-0.5.1 travertino-0.5.1 tzdata-2025.2 + +[helloworld] Removing unneeded app content... +... + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +Android + +``` console +(beeware-venv) $ briefcase update android -r + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating requirements... +Writing requirements file... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: + +::: {.group-tab} +iOS + +``` console +(beeware-venv) $ briefcase update iOS -r + +[helloworld] Updating application code... +Installing src/helloworld... done + +[helloworld] Updating requirements... +Looking in indexes: https://pypi.org/simple, https://pypi.anaconda.org/beeware/simple +Collecting faker + Using cached faker-37.4.0-py3-none-any.whl.metadata (15 kB) +... + +Installing app requirements for iPhone simulator... done + +[helloworld] Removing unneeded app content... +Removing unneeded app bundle content... done + +[helloworld] Application updated. +``` +::: +:::::::: + +Once you've updated, you can run `briefcase build` and `briefcase run` - +and you should see your packaged app, with the new dialog behavior. + +:::: {.note} +::: {.title} +Note +::: + +The `-r` option for updating requirements is also honored by the `build` +and `run` command, so if you want to update, build, and run in one step, +you could use `briefcase run -u -r`. +:::: + +## Third-Party Python Packages for Mobile and Web + +Faker is just one example of a third-party Python package - a collection +of code that isn't part what Python provides out of the box. These +third-party packages are most commonly distributed using the [Python +Package Index (PyPI)](https://pypi.org), and installed into your local +virtual environment. We've been using `pip` in this tutorial, but there +are other options. + +On desktop platforms (macOS, Windows, Linux), essentially any package on +PyPI package can be installed into your virtual environment, or added to +your app's requirements. However, when building an app for mobile or web +platforms, [your options are slightly +limited](https://briefcase.beeware.org/en/latest/about/faq.html#can-i-use-third-party-python-packages-in-my-app). + +In short; any *pure Python* package (i.e. any package created from a +project written *only* in Python) can be used without difficulty. Some +packages, though, are created from projects that contain both Python and +other languages (e.g. C, C++, Rust, etc). Code written in those +languages needs to be compiled to platform-specific binary modules +before it can be used, and those pre-compiled binary modules are only +available on specific platforms. Mobile and web platforms have very +different requirements than "standard" desktop platforms. At this time, +most Python packages don't provide pre-compiled binaries for mobile and +web platforms. + +On PyPI, packages are often provided in a pre-built distribution format +called *wheels*. To check whether a package is pure Python, look at the +PyPI downloads page for the project. If the wheels provided have a +`-py3-none-any.whl` suffix (e.g., +[Faker](https://pypi.org/project/Faker/37.3.0/#files)), then they are +pure Python wheels. However, if the wheels have version and +platform-specific extensions (e.g., +[Pillow](https://pypi.org/project/pillow/11.2.1/#files), which has +wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and +`-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary +component*. That package cannot be installed on mobile or web platforms +unless a wheel compatible with those platforms has been provided. + +At this time, *most* binary packages on PyPI don't provide mobile- or +web-compatible wheels. To fill this gap, BeeWare provides binaries for +some popular binary modules (including `numpy`, `pandas`, and +`cryptography`). These wheels are *not* distributed on PyPI, but +Briefcase will install those wheels if they're available. + +It's *usually* possible to compile binary packages for mobile platforms, +but it's not easy to set up -- well outside the scope of an introductory +tutorial like this one. + +## Next steps + +We've now got an app that uses a third-party library! In `Tutorial 8 +`{.interpreted-text role="doc"} we'll learn how to ensure +our app remains responsive as we add more complex application logic. diff --git a/docs/tutorial/tutorial-7.rst b/docs/en/tutorial/tutorial-7.rst similarity index 100% rename from docs/tutorial/tutorial-7.rst rename to docs/en/tutorial/tutorial-7.rst diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md new file mode 100644 index 00000000..e5b3e912 --- /dev/null +++ b/docs/en/tutorial/tutorial-8.md @@ -0,0 +1,384 @@ +# Tutorial 8 - Making it Smooooth + +So far, our application has been relatively simple - displaying GUI +widgets, calling a simple third-party library, and displaying output in +a dialog. All these operations happen very quickly, and our application +remains responsive. + +However, in a real world application, we'll need to perform complex +tasks or calculations that may take a while to complete - and as those +tasks are performed, we want our application to remain responsive. Let's +make a change to our application that might take a little time to +complete, and see the changes that need to be made to accommodate that +behavior. + +## Accessing an API + +A common time-consuming task an app will need to perform is to make a +request on a web API to retrieve data, and display that data to the +user. Web APIs sometimes take a second or two to respond, so if we're +calling an API like that, we need to ensure our application doesn't +become unresponsive while we wait for the web API to return an answer. + +This is a toy app, so we don't have a *real* API to work with, so we'll +use the [{JSON} Placeholder API](https://jsonplaceholder.typicode.com) +as a source of data. The {JSON} Placeholder API has a number of "fake" +API endpoints you can use as test data. One of those APIs is the +`/posts/` endpoint, which returns fake blog posts. If you open +`https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll +get a JSON payload describing a single post - some [Lorum +ipsum](https://en.wikipedia.org/wiki/Lorem_ipsum) content for a blog +post with ID 42. + +The Python standard library contains all the tools you'd need to access +an API. However, the built-in APIs are very low level. They are good +implementations of the HTTP protocol - but they require the user to +manage lots of low-level details, like URL redirection, sessions, +authentication, and payload encoding. As a "normal browser user" you're +probably used to taking these details for granted, as a browser manages +them for you. + +As a result, people have developed third-party libraries that wrap the +built-in APIs and provide a simpler API that is a closer match for the +everyday browser experience. We're going to use one of those libraries +to access the {JSON} Placeholder API - a library called +[httpx](https://www.python-httpx.org). Briefcase uses `httpx` +internally, so it's already in your local environment -you don't need to +install it separately to use it here. + +Let's add a `httpx` API call to our app. Modify the `requires` setting +in our `pyproject.toml` to include the new requirement: + + requires = [ + "faker", + "httpx", + ] + +Add an import to the top of the `app.py` to import `httpx`: + + import httpx + +Then modify the `say_hello()` callback so it looks like this: + + async def say_hello(self, widget): + fake = faker.Faker() + with httpx.Client() as client: + response = client.get("https://jsonplaceholder.typicode.com/posts/42") + + payload = response.json() + + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + f"A message from {fake.name()}: {payload['body']}", + ) + ) + +This will change the `say_hello()` callback so that when it is invoked, +it will: + +- make a GET request on the JSON placeholder API to obtain post 42; +- decode the response as JSON; +- extract the body of the post; and +- include the body of that post as the text of the "message" dialog, in + place of the text generated by Faker. + +Lets run our updated app in Briefcase developer mode to check that our +change has worked. As we've added a new requirement, we need to tell +developer mode to reinstall requirements, by using the `-r` argument: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase dev -r + +[helloworld] Installing requirements... +... +[helloworld] Starting in dev mode... +=========================================================================== +``` + +When you enter a name and press the button, you should see a dialog that +looks something like: + +![Hello World Tutorial 8 dialog, on macOS](images/macOS/tutorial-8.png){.align-center} +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase dev -r + +[helloworld] Installing requirements... +... +[helloworld] Starting in dev mode... +=========================================================================== +``` + +When you enter a name and press the button, you should see a dialog that +looks something like: + +![Hello World Tutorial 8 dialog, on Linux](images/linux/tutorial-8.png){.align-center} +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase dev -r + +[helloworld] Installing requirements... +... +[helloworld] Starting in dev mode... +=========================================================================== +``` + +When you enter a name and press the button, you should see a dialog that +looks something like: + +![Hello World Tutorial 8 dialog, on Windows](images/windows/tutorial-8.png){.align-center} +::: + +::: {.group-tab} +Android + +You can't run an Android app in developer mode - use the instructions +for your chosen desktop platform. +::: + +::: {.group-tab} +iOS + +You can't run an iOS app in developer mode - use the instructions for +your chosen desktop platform. +::: +:::::::: + +Unless you've got a *really* fast internet connection, you may notice +that when you press the button, the GUI for your app locks up for a +little bit. The operating system may even manifest this with a +"beachball" or "spinner" cursor to indicate that the app is being +unresponsive. + +This is because the web request we have made is *synchronous*. When our +application makes the web request, it waits for the API to return a +response before continuing. While it's waiting, it *isn't* allowing the +application to redraw - and as a result, the application locks up. + +## GUI Event Loops + +To understand why this happens, we need to dig into the details of how a +GUI application works. The specifics vary depending on the platform; but +the high level concepts are the same, no matter the platform or GUI +environment you're using. + +A GUI app is, fundamentally, a single loop that looks something like: + + while not app.quit_requested(): + app.process_events() + app.redraw() + +This loop is called the *Event Loop*. (These aren't actual method +names - it's an illustration of what is going on using "pseudo-code"). + +When you click on a button, or drag a scroll bar, or type a key, you are +generating an "event". That "event" is put onto a queue, and the app +will process the queue of events when it next has the opportunity to do +so. The user code that is triggered in response to the event is called +an *event handler*. These event handlers are invoked as part of the +`process_events()` call. + +Once an app has processed all the available events, it will `redraw()` +the GUI. This takes into account any changes that the events have caused +to the display of the app, as well as anything else that is going on in +the operating system - for example, the windows of another app may +obscure or reveal part of our app's window, and our app's redraw will +need to reflect the portion of the window that is currently visible. + +The important detail to notice: while an application is processing an +event, *it can't redraw*, and *it can't process other events*. + +This means any user logic contained in an event handler needs to +complete quickly. Any delay in completing the event handler will be +observed by the user as a slowdown (or stop) in GUI updates. If this +delay is long enough, your operating system may report this as a +problem - the macOS "beachball" and Windows "spinner" icons are the +operating system telling you that your app is taking too long in an +event handler. + +Simple operations like "update a label", or "recompute the total of the +inputs" are easy to complete quickly. However, there are a lot of +operations that can't be completed quickly. If you're performing a +complex mathematical calculation, or indexing all the files on a file +system, or performing a large network request, you can't "just do it +quickly" - the operations are inherently slow. + +So - how do we perform long-lived operations in a GUI application? + +## Asynchronous programming + +What we need is a way to tell an app in the middle of a long-lived event +handler that it is OK to temporarily release control back to the event +loop, as long as we can resume where we left off. It's up to the app to +determine when this release can occur; but if the app releases control +to the event loop regularly, we can have a long-running event handler +*and* maintain a responsive UI. + +We can do this by using *asynchronous programming*. Asynchronous +programming is a way to describe a program that allows the interpreter +to run multiple functions at the same time, sharing resources between +all the concurrently running functions. + +Asynchronous functions (known as *coroutines*) need to be explicitly +declared as being asynchronous. They also need to internally declare +when an opportunity exists to change context to another coroutine. + +In Python, asynchronous programming is implemented using the `async` and +`await` keywords, and the +[asyncio](https://docs.python.org/3/library/asyncio.html) module in the +standard library. The `async` keyword allows us to declare that a +function is an asynchronous coroutine. The `await` keyword provides a +way to declare when an opportunity exists to change context to another +coroutine. The [asyncio](https://docs.python.org/3/library/asyncio.html) +module provides some other useful tools and primitives for asynchronous +coding. + +## Making the tutorial asynchronous + +To make our tutorial asynchronous, modify the `say_hello()` event +handler so it looks like this: + + async def say_hello(self, widget): + fake = faker.Faker() + async with httpx.AsyncClient() as client: + response = await client.get("https://jsonplaceholder.typicode.com/posts/42") + + payload = response.json() + + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + f"A message from {fake.name()}: {payload['body']}", + ) + ) + +There are only three changes to this callback from the previous version: + +1. The client that is created is an asynchronous `AsyncClient()`, + rather than a synchronous `Client()`. This tells `httpx` that it + should operate in asynchronous mode, rather than synchronous mode. +2. The context manager used to create the client is marked as `async`. + This tells Python that there is an opportunity to release control as + the context manager is entered and exited. +3. The `get` call is made with an `await` keyword. This instructs the + app that while we are waiting for the response from the network, the + app can release control to the event loop. We've seen this keyword + before - we also use `await` when displaying the dialog box. The + reason for that usage is the same as it is for the HTTP request - we + need to tell the app that while the dialog is displayed, and we're + waiting for the user to push a button, it's OK to release control + back to the event loop. + +It's also important to note that the handler itself is defined as +`async def`, rather than just `def`. This tells Python that the method +is an asynchronous coroutine. We made this change back in Tutorial 3 +when we added the dialog box. You can only use `await` statements inside +a method that is declared as `async def`. + +Toga allows you to use regular methods or asynchronous coroutines as +handlers; Toga manages everything behind the scenes to make sure the +handler is invoked or awaited as required. + +If you save these changes and re-run the app in development mode, there +won't be any obvious changes to the app. However, when you click on the +button to trigger the dialog, you may notice a number of subtle +improvements: + +- The button returns to an "unclicked" state, rather than being stuck in + a "clicked" state. +- The "beachball"/"spinner" icon won't appear +- If you move/resize the app window while waiting for the dialog to + appear, the window will redraw. +- If you try to open an app menu, the menu will appear immediately. + +We can now run the full app. However, as we've added an extra +requirement (`httpx`) we also need to update our app's requirements; we +can do this by passing `-r` to `briefcase run`. This will update our +app's requirements, then re-build the app, then launch the app: + +:::::::: {.tabs} +::: {.group-tab} +macOS + +``` console +(beeware-venv) $ briefcase run -r +``` +::: + +::: {.group-tab} +Linux + +``` console +(beeware-venv) $ briefcase run -r +``` +::: + +::: {.group-tab} +Windows + +``` doscon +(beeware-venv) C:\...>briefcase run -r +``` +::: + +::: {.group-tab} +Android + +``` console +(beeware-venv) $ briefcase run android -r +``` +::: + +::: {.group-tab} +iOS + +``` console +(beeware-venv) $ briefcase run iOS -r +``` +::: +:::::::: + +You should see you app running, and remaining responsive when you press +the button and network content is retrieved. + +## Next steps + +This has been a taste for what you can do with the tools provided by the +BeeWare project. Over the course of this tutorial, you have: + +- Created a new GUI app project; +- Run that app in development mode; +- Built the app as a standalone binary for a desktop operating system; +- Packaged that project for distribution to others; +- Run the app on a mobile simulator and/or device; +- Run the app as a web app; +- Added a third-party dependency to your app; and +- Modified the app so that it remains responsive. + +So - where to from here? + +- If you'd like to go further, there are some additional + `topic tutorials + `{.interpreted-text role="doc"} that go into + detail on specific aspects of application development. +- If you'd like to know more about how to build complex user interfaces + with Toga, you can dive into [Toga's + documentation](https://toga.beeware.org). Toga also has it's own + tutorial [demonstrating how to use various features of the widget + toolkit](https://toga.beeware.org/en/latest/tutorial/index.html). +- If you'd like to know more about the capabilities of Briefcase, you + can dive into [Briefcase's + documentation](https://briefcase.beeware.org). diff --git a/docs/tutorial/tutorial-8.rst b/docs/en/tutorial/tutorial-8.rst similarity index 100% rename from docs/tutorial/tutorial-8.rst rename to docs/en/tutorial/tutorial-8.rst diff --git a/docs/make.bat b/docs/make.bat deleted file mode 100644 index 02fa087d..00000000 --- a/docs/make.bat +++ /dev/null @@ -1,41 +0,0 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=. -set BUILDDIR=_build - -if "%1" == "" goto help -if "%1" == "livehtml" goto livehtml - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.Build finished; now you can process the pickle files. - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:livehtml -sphinx-autobuild -b html %SPHINXOPTS% %SOURCEDIR% %BUILDDIR%/html -goto end - -:end -popd diff --git a/docs/mkdocs.en.yml b/docs/mkdocs.en.yml new file mode 100644 index 00000000..2ffdc93e --- /dev/null +++ b/docs/mkdocs.en.yml @@ -0,0 +1,4 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/ +docs_dir: en diff --git a/docs/mkdocs.fr.yml b/docs/mkdocs.fr.yml new file mode 100644 index 00000000..19b43943 --- /dev/null +++ b/docs/mkdocs.fr.yml @@ -0,0 +1,7 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/fr +docs_dir: fr + +theme: + language: fr diff --git a/docs/spelling_wordlist b/docs/spelling_wordlist.txt similarity index 98% rename from docs/spelling_wordlist rename to docs/spelling_wordlist.txt index ea3e9691..4b074143 100644 --- a/docs/spelling_wordlist +++ b/docs/spelling_wordlist.txt @@ -20,7 +20,6 @@ miniconda pre Pre px -pyenv Pygame pytest runtime diff --git a/docs/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/how-to/index.po rename to locales/de/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/index.po rename to locales/de/LC_MESSAGES/index.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/de/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/topics/index.po b/locales/de/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/topics/index.po rename to locales/de/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/topics/testing.po b/locales/de/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/topics/testing.po rename to locales/de/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/de/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/de/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/how-to/index.po rename to locales/es/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/index.po rename to locales/es/LC_MESSAGES/index.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/es/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/topics/index.po b/locales/es/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/topics/index.po rename to locales/es/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/topics/testing.po b/locales/es/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/topics/testing.po rename to locales/es/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/es/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/es/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/how-to/index.po rename to locales/fr/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/index.po rename to locales/fr/LC_MESSAGES/index.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/topics/index.po b/locales/fr/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/topics/index.po rename to locales/fr/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/topics/testing.po rename to locales/fr/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/fr/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/how-to/index.po rename to locales/it/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/index.po rename to locales/it/LC_MESSAGES/index.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/it/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/topics/index.po b/locales/it/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/topics/index.po rename to locales/it/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/topics/testing.po b/locales/it/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/topics/testing.po rename to locales/it/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/it/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/it/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/how-to/index.po rename to locales/pt/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/index.po rename to locales/pt/LC_MESSAGES/index.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/topics/index.po b/locales/pt/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/topics/index.po rename to locales/pt/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/topics/testing.po rename to locales/pt/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/pt/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/how-to/index.po rename to locales/zh_CN/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/index.po rename to locales/zh_CN/LC_MESSAGES/index.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po rename to locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po rename to locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po similarity index 100% rename from docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po rename to locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/how-to/index.po rename to locales/zh_TW/LC_MESSAGES/how-to/index.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/index.po rename to locales/zh_TW/LC_MESSAGES/index.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po rename to locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po rename to locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po rename to locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po rename to locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po rename to locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/pyproject.toml b/pyproject.toml index c1de40c6..7f115ee9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -9,7 +9,7 @@ build-backend = "setuptools.build_meta" dynamic = ["version"] name = "beeware" description = "A metapackage to install the full BeeWare suite of tools." -readme = "README.md" +readme = "README.rst" requires-python = ">= 3.8" license.text = "New BSD" authors = [ @@ -45,31 +45,47 @@ Source = "https://github.com/beeware" dev = [ # Pre-commit 3.6.0 deprecated support for Python 3.8 "pre-commit == 3.5.0 ; python_version < '3.9'", - "pre-commit == 4.3.0 ; python_version >= '3.9'", + "pre-commit == 4.2.0 ; python_version >= '3.9'", "pytest == 8.4.1", "pytest-tldr == 0.2.5", "setuptools_scm == 8.3.1", - "tox == 4.28.4", + "tox == 4.27.0", ] # Docs are always built on a specific Python version; see RTD and tox config files. docs = [ - "furo == 2025.7.19", - "pyenchant == 3.2.2", - "sphinx == 8.2.3", - "sphinx_design == 0.6.1", - "sphinx_tabs == 3.4.7", - "sphinx-autobuild == 2024.10.3", - "sphinx-copybutton == 0.5.2", - "sphinx-intl == 2.3.2", - "sphinxcontrib-spelling == 8.0.1", + "black", + "codespell", + "markdown-checker", + "mkdocs", # Is this needed? + "mkdocs-autorefs", + "mkdocs-include-markdown-plugin", + "mkdocs-literate-nav", + "mkdocs-macros-plugin", + "mkdocs-material", + "mkdocs-spellcheck", + "mkdocs-table-reader-plugin", + "mkdocstrings-python", + "mistletoe", + "pymdown-extensions", + "python-Levenshtein", + "symspellpy", # Not used, but spellcheck fails without it. Bug report filed. + "translate-toolkit @ git+https://github.com/translate/translate@master", # Update to latest on next release; release notifications enabled. ] [tool.codespell] skip = ".git,*.pdf,*.svg" -# the way to make case sensitive skips of words etc +# The way to make case-sensitive skips of words, etc. ignore-regex = "\bNd\b" ignore-words-list = "re-use" +[tool.isort] +profile = "black" +split_on_trailing_comma = true +combine_as_imports = true + +[tool.setuptools] +py-modules = [] + [tool.setuptools_scm] # To enable SCM versioning, we need an empty tool configuration for setuptools_scm @@ -77,28 +93,3 @@ ignore-words-list = "re-use" # WOO7: wheel library is empty # W008: wheel is empty ignore = "W007,W008" - -[tool.ruff.lint] -# In addition to the default rules, these additional rules will be used: -extend-select = [ - "E", # pycodestyle - "W", # pycodestyle - "F", # pyflakes - "UP", # pyupgrade - "B", # flake8-bugbear - "YTT", # flake8-2020 - "ASYNC", # flake8-async - "C4", # flake8-comprehensions - "I", # isort - # The SIM rules are *very* opinionated, and don't necessarily make for better code. - # They may be worth occasionally turning on just to see if something could actually - # use improvement. - # "SIM", # flake8-simplify -] -ignore = [ - "F821", # Undefined name `tags` - "E501" # Line too long - ] - -[tool.ruff.lint.isort] -combine-as-imports = true diff --git a/tox.ini b/tox.ini index 32f9ad1c..dc414379 100644 --- a/tox.ini +++ b/tox.ini @@ -1,3 +1,20 @@ +# Flake8 doesn't believe in pyproject.toml, so we put the configuration here. +[flake8] +# https://flake8.readthedocs.org/en/latest/ +exclude=\ + venv*/*,\ + local/*,\ + docs/*,\ + build/*,\ + tests/apps/*,\ + .eggs/*,\ + .tox/* +max-line-length = 119 +extend-ignore = + # whitespace before : + # See https://github.com/PyCQA/pycodestyle/issues/373 + E203, + [tox] envlist = pre-commit,package,docs-lint,docs-all @@ -15,35 +32,24 @@ commands = python -m pytest {posargs:-vv --color yes} [docs] docs_dir = {tox_root}{/}docs -build_dir = {[docs]docs_dir}{/}_build -sphinx_args = --show-traceback --fail-on-warning --keep-going --jobs auto +build_dir = {tox_root}{/}_build{/}html +config_dir = {tox_root}{/}docs{/}config +templates_dir = {tox_root}{/}locales{/}templates +exclude_translate = *.txt -[testenv:docs{,-lint,-translate,-all,-live}] +[testenv:docs{,-lint,-translate,-all,-live,-en,-fr}] # Docs are always built on Python 3.12. See also the RTD config. base_python = py312 package = wheel wheel_build_env = .pkg extras = docs -passenv = - # On macOS M1, you need to manually set the location of the PyEnchant - # library: - # export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib - PYENCHANT_LIBRARY_PATH -commands = - !lint-!all-!translate-!live : python -m sphinx {[docs]sphinx_args} {posargs} --builder html {[docs]docs_dir} {[docs]build_dir}{/}html{/}en - lint : python -m sphinx {[docs]sphinx_args} {posargs} --builder linkcheck {[docs]docs_dir} {[docs]build_dir}{/}links - lint : python -m sphinx {[docs]sphinx_args} {posargs} --builder spelling {[docs]docs_dir} {[docs]build_dir}{/}spell - live : sphinx-autobuild {[docs]sphinx_args} {posargs} --builder html {[docs]docs_dir} {[docs]build_dir}{/}live - translate : python -m sphinx {[docs]sphinx_args} {posargs} --builder gettext {[docs]docs_dir} {[docs]build_dir}{/}gettext - translate : python -m sphinx_intl update -p {[docs]build_dir}{/}gettext -d {[docs]docs_dir}{/}locales -w 0 -l de,es,fr,it,pt,zh_CN,zh_TW - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html {[docs]docs_dir} {[docs]build_dir}{/}html{/}en - # Replace `-t machine_translation` with `-t human_translation` if/when a translation - # has been audited by a human. The ReadTheDocs environment variable should also be - # updated to read `TRANSLATION=human`. - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=de -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}de - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=es -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}es - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=fr -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}fr - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=it -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}it - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=pt -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}pt - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=zh_CN -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}zh-cn - all : python -m sphinx {[docs]sphinx_args} {posargs} --verbose --write-all --fresh-env --builder html -D language=zh_TW -t machine_translation {[docs]docs_dir} {[docs]build_dir}{/}html{/}zh-tw +commands: + !lint-!all-!translate-!live-!en-!fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat en + translate : md2po --input {[docs]docs_dir} --output {[docs]templates_dir} --pot --duplicates=merge --exclude={[docs]exclude_translate} + translate : python {tox_root}{/}translation_tools{/}build_po_translations.py fr + lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_paths + lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls + live : python -m mkdocs serve --clean --config-file {[docs]docs_dir}{/}mkdocs.en.yml + all : python {tox_root}{/}translation_tools{/}build_md_translations.py en fr + en : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat {posargs} en + fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat {posargs} fr From d2e1584c81057a0e6a2c3a9f953df1ecd928a680 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 10 Aug 2025 20:29:45 -0400 Subject: [PATCH 02/24] Add config file, add header anchors. --- docs/config.yml | 73 ++++++++++++++++++++++++++++++++++ docs/en/tutorial/tutorial-0.md | 2 +- docs/en/tutorial/tutorial-1.md | 2 +- docs/en/tutorial/tutorial-2.md | 2 +- docs/en/tutorial/tutorial-3.md | 2 +- docs/en/tutorial/tutorial-4.md | 2 +- docs/en/tutorial/tutorial-6.md | 2 +- docs/en/tutorial/tutorial-7.md | 2 +- docs/en/tutorial/tutorial-8.md | 2 +- 9 files changed, 81 insertions(+), 8 deletions(-) create mode 100644 docs/config.yml diff --git a/docs/config.yml b/docs/config.yml new file mode 100644 index 00000000..8e2079b4 --- /dev/null +++ b/docs/config.yml @@ -0,0 +1,73 @@ +# yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json + +not_in_nav: | + /index.md + +validation: + omitted_files: warn + absolute_links: relative_to_docs + anchors: warn + unrecognized_links: warn + +theme: + name: material + language: en + features: + - content.tabs.link + - toc.follow + - navigation.path + - content.code.copy + - navigation.indexes + palette: + # Palette toggle for light mode + - scheme: default + primary: deep purple + toggle: + icon: material/brightness-7 + name: Switch to dark mode + + # Palette toggle for dark mode + - scheme: slate + primary: deep purple + toggle: + icon: material/brightness-4 + name: Switch to light mode + +markdown_extensions: + pymdownx.highlight: + anchor_linenums: true + pymdownx.superfences: {} + pymdownx.blocks.admonition: {} + pymdownx.caret: {} + pymdownx.blocks.tab: + alternate_style: true + toc: + permalink: true + title: On this page + attr_list: {} + +extra: + "beta_support": ^β^ + "not_supported": ^❌^ + +plugins: + search: {} + autorefs: {} + include-markdown: {} + literate-nav: + nav_file: SUMMARY.md + macros: + # Remove the below customisations after markdown is cleaned up + j2_comment_start_string: '[#' # Set temporarily to deal with title anchors + j2_comment_end_string: '#]' # Set temporarily to deal with title anchors + include_yaml: + - extra: reference_index.yaml + table-reader: {} + spellcheck: + backends: + - codespell: + dictionaries: [clear] + # Location of spelling_wordlist.txt is relative to docs_dir in mkdocs.x.yml. + # This is the location of it relative to the temp directory for translations. + known_words: ../spelling_wordlist.txt + ignore_code: yes diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md index b33d7a11..d2fd53de 100644 --- a/docs/en/tutorial/tutorial-0.md +++ b/docs/en/tutorial/tutorial-0.md @@ -1,4 +1,4 @@ -# Tutorial 0 - Let's get set up! +# Tutorial 0 - Let's get set up! { #tutorial-0 } Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare. diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index 0e8b8b96..878704d7 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -1,4 +1,4 @@ -# Tutorial 1 - Your first app +# Tutorial 1 - Your first app { #tutorial-1 } We're ready to create our first application. diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index dc2ac6e0..5fad4fda 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -1,4 +1,4 @@ -# Tutorial 2 - Making it interesting +# Tutorial 2 - Making it interesting { #tutorial-2 } In `Tutorial 1 `{.interpreted-text role="doc"}, we generated a stub project that was able to run, but we didn't write any code diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index 4cbd26d4..ad715fdd 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -1,4 +1,4 @@ -# Tutorial 3 - Packaging for distribution +# Tutorial 3 - Packaging for distribution { #tutorial-3 } So far, we've been running our application in "Developer mode". This makes it easy for us to run our application locally - but what we really diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index ccbd7011..c5857b6c 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -1,4 +1,4 @@ -# Tutorial 4 - Updating your application +# Tutorial 4 - Updating your application { #tutorial-4 } In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md index e38db2f8..8c0077e9 100644 --- a/docs/en/tutorial/tutorial-6.md +++ b/docs/en/tutorial/tutorial-6.md @@ -1,4 +1,4 @@ -# Tutorial 6 - Put it on the web! +# Tutorial 6 - Put it on the web! { #tutorial-6 } In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index 69fbbec6..aa674139 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -1,4 +1,4 @@ -# Tutorial 7 - Get this (third)-party started +# Tutorial 7 - Get this (third)-party started { #tutorial-7 } So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index e5b3e912..10bd0fb7 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -1,4 +1,4 @@ -# Tutorial 8 - Making it Smooooth +# Tutorial 8 - Making it Smooooth { #tutorial-8 } So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in From 9a76f9c48580360b11071111d9c3d5663d2db52b Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 10 Aug 2025 20:33:15 -0400 Subject: [PATCH 03/24] End-of-file fixes on PO files. --- .pre-commit-config.yaml | 2 +- locales/de/LC_MESSAGES/how-to/index.po | 1 - locales/de/LC_MESSAGES/index.po | 1 - locales/de/LC_MESSAGES/tutorial/topics/camera-access.po | 1 - locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-3.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 1 - locales/de/LC_MESSAGES/tutorial/tutorial-8.po | 1 - locales/es/LC_MESSAGES/how-to/index.po | 1 - locales/es/LC_MESSAGES/index.po | 1 - locales/es/LC_MESSAGES/tutorial/topics/camera-access.po | 1 - locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-3.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 1 - locales/es/LC_MESSAGES/tutorial/tutorial-8.po | 1 - locales/fr/LC_MESSAGES/how-to/index.po | 1 - locales/fr/LC_MESSAGES/index.po | 1 - locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-3.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po | 1 - locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 - locales/it/LC_MESSAGES/how-to/index.po | 1 - locales/it/LC_MESSAGES/index.po | 1 - locales/it/LC_MESSAGES/tutorial/topics/camera-access.po | 1 - locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-3.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 1 - locales/it/LC_MESSAGES/tutorial/tutorial-8.po | 1 - locales/pt/LC_MESSAGES/how-to/index.po | 1 - locales/pt/LC_MESSAGES/index.po | 1 - locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po | 1 - locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po | 1 - locales/pt/LC_MESSAGES/tutorial/topics/index.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-3.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 1 - locales/pt/LC_MESSAGES/tutorial/tutorial-8.po | 1 - locales/zh_CN/LC_MESSAGES/how-to/index.po | 1 - locales/zh_CN/LC_MESSAGES/index.po | 1 - locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 1 - locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 1 - locales/zh_TW/LC_MESSAGES/how-to/index.po | 1 - locales/zh_TW/LC_MESSAGES/index.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 1 - locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 1 - 85 files changed, 1 insertion(+), 85 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 49d64a2e..de2f0d8a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -31,4 +31,4 @@ repos: # remove toml extra once Python 3.10 is no longer supported additional_dependencies: ['.[toml]'] # Can't spell check a file that isn't in english... - exclude: "docs/locales" + exclude: "locales" diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po index fb545a41..876c0587 100644 --- a/locales/de/LC_MESSAGES/how-to/index.po +++ b/locales/de/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po index 2346e210..42ac4ae1 100644 --- a/locales/de/LC_MESSAGES/index.po +++ b/locales/de/LC_MESSAGES/index.po @@ -98,4 +98,3 @@ msgstr "Los geht's!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? :doc:`Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen! `" - diff --git a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po index 5ae3dd14..db6e4c67 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po @@ -128,4 +128,3 @@ msgstr "Weitere Berechtigungen hinzufügen" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von ``briefcase create`` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie ``briefcase create`` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." - diff --git a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po index 892ea09c..2bff3eae 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -139,4 +139,3 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po index 2afc8638..ba9b7993 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -230,4 +230,3 @@ msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, :doc:`uns #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von `der Python-Website `_ herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po index f3f9f476..809755a1 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -189,4 +189,3 @@ msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus l #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Eines der BeeWare-Tools ist **Briefcase**. Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - es kann aber auch zur Erstellung eines neuen Projekts verwendet werden." - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index 84cd1a6a..0fd9a6cd 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -285,4 +285,3 @@ msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber si #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po index 39583df3..d777ee2a 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po @@ -310,4 +310,3 @@ msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattform #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po index 7b1ed0ae..027dc283 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -168,4 +168,3 @@ msgstr "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattfo #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Aber was ist mit mobilen Geräten? In :doc:`Tutorial 5 ` werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po index 47da3151..b7f58d55 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -211,4 +211,3 @@ msgstr "Nächste Schritte" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich :doc:`Tutorial 6 <../tutorial-6>` an, um das herauszufinden..." - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 2f9dad67..74478796 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -80,4 +80,3 @@ msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen a #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po index c6fa4355..eb827bb6 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -372,4 +372,3 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir :doc:`Tutorial 8 ` an, um das herauszufinden..." - diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po index 6313c0e6..a05f8f8f 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -368,4 +368,3 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" - diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po index 80001c2b..dcc93ecd 100644 --- a/locales/es/LC_MESSAGES/how-to/index.po +++ b/locales/es/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po index 5a14617c..7069ecc5 100644 --- a/locales/es/LC_MESSAGES/index.po +++ b/locales/es/LC_MESSAGES/index.po @@ -98,4 +98,3 @@ msgstr "¡Vamos!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "¿Listo para probar BeeWare por ti mismo? :doc:`¡Construyamos una aplicación multiplataforma en Python! `" - diff --git a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po index 627f7ab7..becfe16b 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po @@ -128,4 +128,3 @@ msgstr "Agregar más permisos" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a ``briefcase create``. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar ``briefcase create``; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." - diff --git a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po index fb4a7e63..7a1aa994 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -140,4 +140,3 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po index af4feb60..746eca7b 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po @@ -230,4 +230,3 @@ msgstr "Ya hemos configurado nuestro entorno. Estamos listos para :doc:`crear nu #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde `La página web de Python `_. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po index 28c1a75c..64faab85 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po @@ -206,4 +206,3 @@ msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarr #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Una de las herramientas de BeeWare es **Briefcase**. Briefcase se puede utilizar para empaquetar su aplicación para su distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto." - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po index 19e25b9e..b2d8bff5 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -288,4 +288,3 @@ msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pe #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po index a5351795..2a30720d 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po @@ -310,4 +310,3 @@ msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plat #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po index 77319775..cf564a77 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po @@ -169,4 +169,3 @@ msgstr "Ahora tenemos nuestra aplicación empaquetada para su distribución en p #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Pero, ¿qué pasa con los móviles? En :doc:`Tutorial 5 `, convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po index ab7d2910..3d6f3c5e 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -211,4 +211,3 @@ msgstr "Siguientes pasos" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita :doc:`Tutorial 6 <../tutorial-6>` para averiguarlo..." - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 7f114b4e..d7c578ce 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -78,4 +78,3 @@ msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lug #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." #~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en `la App Store de macOS `__." - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po index 96a6a235..99e60d3f 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -43,4 +43,3 @@ msgstr "Las aplicaciones Android pueden compilarse en macOS, Windows o Linux." #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`¡Creemos nuestra aplicación para Android! `" - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po index ee62315f..3e4804dd 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po @@ -371,4 +371,3 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita :doc:`Tutorial 8 ` para averiguarlo..." - diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po index 2af6b407..853f2200 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po @@ -365,4 +365,3 @@ msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" - diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po index 782ddae5..20056857 100644 --- a/locales/fr/LC_MESSAGES/how-to/index.po +++ b/locales/fr/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index da3973b0..856105c3 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -98,4 +98,3 @@ msgstr "C'est parti !" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Prêt à essayer BeeWare par vous-même ? :doc:`Créons une application multiplateforme en Python ! `" - diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po index 1cee1dc4..5d9dbac7 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,4 +135,3 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po index 5fa9ca83..b65a0a29 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po @@ -232,4 +232,3 @@ msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prê #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du `site web de Python `_. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po index d6cdaa00..5848aabf 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po @@ -188,4 +188,3 @@ msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mod #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "L'un des outils de BeeWare est **Briefcase**. Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux, mais il peut également être utilisé pour démarrer un nouveau projet." - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po index d1f689df..225b62d1 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -259,4 +259,3 @@ msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu pl #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po index eddfbf86..03cebb32 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po @@ -310,4 +310,3 @@ msgstr "Notre application est désormais prête à être distribuée sur les pla #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po index 955038c9..1b5e5528 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po @@ -169,4 +169,3 @@ msgstr "Notre application est désormais prête à être distribuée sur les pla #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Mais qu'en est-il de l'application mobile ? Dans :doc:`Tutoriel 5 `, nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po index 08c945d0..a3a6da40 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -249,4 +249,3 @@ msgstr "Étapes suivantes" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez :doc:`Tutoriel 6 <../tutorial-6>` pour le savoir..." - diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 534feec5..d0289ef3 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -91,4 +91,3 @@ msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il u #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po index 1a029932..82997b18 100644 --- a/locales/it/LC_MESSAGES/how-to/index.po +++ b/locales/it/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po index c345f04a..0f466f26 100644 --- a/locales/it/LC_MESSAGES/index.po +++ b/locales/it/LC_MESSAGES/index.po @@ -119,4 +119,3 @@ msgstr "Andiamo!" #, fuzzy msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Siete pronti a provare BeeWare? :doc:`Costruiamo un'applicazione multipiattaforma in Python! `" - diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po index 3ce9e387..860548c4 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,4 +135,3 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po index a0c8f567..7b373332 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -146,4 +146,3 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po index 18aecb50..cfab3a93 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po @@ -263,4 +263,3 @@ msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a :doc:`creare #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale dal sito web di Python `_. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index d4a2bc62..6826d2a5 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -218,4 +218,3 @@ msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppat #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Uno degli strumenti di BeeWare è **Briefcase**. Briefcase può essere utilizzato per confezionare l'applicazione da distribuire agli utenti finali, ma anche per avviare un nuovo progetto." - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index de2caf22..da357048 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -298,4 +298,3 @@ msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma fun #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po index e06de15c..1655a50f 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -315,4 +315,3 @@ msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index 703ea728..ffb5912e 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -174,4 +174,3 @@ msgstr "Ora abbiamo la nostra applicazione confezionata per la distribuzione su #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Ma che dire della telefonia mobile? In :doc:`Tutorial 5 `, convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po index bca1044a..d26d76b9 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -254,4 +254,3 @@ msgstr "Prossimi passi" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate :doc:`Tutorial 6 <../tutorial-6>` per scoprirlo..." - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po index b8c915e0..22bc6392 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -96,4 +96,3 @@ msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dov #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po index ba2fdf59..9456fa47 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -52,4 +52,3 @@ msgstr "Le applicazioni Android possono essere compilate su macOS, Windows o Lin #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`Costruiamo la nostra applicazione per Android! `" - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index 7a03dbcb..4833e634 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -377,4 +377,3 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate :doc:`Tutorial 8 ` per scoprirlo..." - diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po index 193360ed..88ee5b72 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -373,4 +373,3 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po index 97d337fa..791630ed 100644 --- a/locales/pt/LC_MESSAGES/how-to/index.po +++ b/locales/pt/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po index 3b58c683..c02ce82f 100644 --- a/locales/pt/LC_MESSAGES/index.po +++ b/locales/pt/LC_MESSAGES/index.po @@ -103,4 +103,3 @@ msgstr "Vamos lá!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Pronto para experimentar o BeeWare por conta própria? :doc:`Vamos construir um aplicativo multiplataforma em Python! `" - diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po index 77319f52..b921a507 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,4 +135,3 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po index cfcd55cf..c493ad3a 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -145,4 +145,3 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/index.po b/locales/pt/LC_MESSAGES/tutorial/topics/index.po index 06d82d63..3b00187b 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/index.po @@ -65,4 +65,3 @@ msgstr "" #~ msgid "Custom icons" #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po index 26b5d80f..a498acea 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po @@ -236,4 +236,3 @@ msgstr "Agora que configuramos nosso ambiente, estamos prontos para :doc:`criar #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial `no site do Python `_. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po index 3c35d87d..7e00c01c 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po @@ -191,4 +191,3 @@ msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolve #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Uma das ferramentas do BeeWare é o Briefcase. O Briefcase pode ser usado para empacotar sua aplicação para distribuição aos usuários finais - mas ele também pode ser usado para iniciar um novo projeto." - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po index b692dea1..d8bf4442 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -263,4 +263,3 @@ msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela som #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po index f93d3a74..dd024ced 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po @@ -289,4 +289,3 @@ msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataform #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po index 5a70753c..45ec2ad4 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po @@ -172,4 +172,3 @@ msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataform #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Mas e quanto ao celular? No :doc:`Tutorial 5 `, converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po index 67568eed..5ef7cdb7 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -252,4 +252,3 @@ msgstr "Próximos passos" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte :doc:`Tutorial 6 <../tutorial-6>` para descobrir..." - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 44ed426c..1f9f241d 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -94,4 +94,3 @@ msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po index 373c8296..66f3af75 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -47,4 +47,3 @@ msgstr "Os aplicativos Android podem ser compilados no macOS, Windows ou Linux." #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`Vamos criar nosso aplicativo para Android! `" - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po index 79936de5..2fd71bb5 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po @@ -375,4 +375,3 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o :doc:`Tutorial 8 ` para descobrir..." - diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po index 384590c7..ca413524 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po @@ -371,4 +371,3 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" - diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po index 888b88d9..c08c5fbc 100644 --- a/locales/zh_CN/LC_MESSAGES/how-to/index.po +++ b/locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po index 111dae7d..21e53853 100644 --- a/locales/zh_CN/LC_MESSAGES/index.po +++ b/locales/zh_CN/LC_MESSAGES/index.po @@ -95,4 +95,3 @@ msgstr "让我们开始吧!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "准备好亲身体验 BeeWare 了吗?:doc:`让我们用 Python 构建一个跨平台应用程序! `" - diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po index 02406e9c..5804648a 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po @@ -144,4 +144,3 @@ msgstr "" #~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." #~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." - diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po index 04e3d1e0..31937087 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po @@ -162,4 +162,3 @@ msgstr "" #~ msgid "Details on the `options available when configuring your Briefcase project `__." #~ msgstr "配置您的 Briefcase 项目 `__ 时可用选项的详细信息。" - diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po index 4a57e7a6..be3d695d 100644 --- a/locales/zh_TW/LC_MESSAGES/how-to/index.po +++ b/locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -324,4 +324,3 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po index 515d39d8..e89e9737 100644 --- a/locales/zh_TW/LC_MESSAGES/index.po +++ b/locales/zh_TW/LC_MESSAGES/index.po @@ -102,4 +102,3 @@ msgstr "讓我們開始吧!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "準備好親自嘗試 BeeWare 了嗎? :doc:`讓我們用 Python 建立一個跨平台應用程式! `" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po index 78b0f680..2872f632 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,4 +135,3 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po index 08993a3a..9f9548ae 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -144,4 +144,3 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po index d496973b..61979c85 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po @@ -236,4 +236,3 @@ msgstr "我們現在已經設定好了我們的環境。我們準備好 :doc:` #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站 `_ 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po index bd5ecb1d..b3e1a374 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -191,4 +191,3 @@ msgstr "我們現在有了一個可以運行的應用程序,在開發人員模 #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "BeeWare 工具之一是 **Briefcase** 。它可用於打包您的應用程式以分發給最終用戶 - 但它也可用於初始化新專案。" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po index b579d8b4..ea849c04 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po @@ -294,4 +294,3 @@ msgstr "我們現在有了一個可以做一些更有趣的事情的應用程式 #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po index 9d9bc7c9..30fc5550 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po @@ -314,4 +314,3 @@ msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。 #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po index 55d43bc6..2c5abca0 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po @@ -173,4 +173,3 @@ msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發 #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "但行動裝置呢?在 :doc:`教程 5 ` 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po index 15b2eb80..f373cdc3 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -253,4 +253,3 @@ msgstr "下一步" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 :doc:`教學 6 <../tutorial-6>` 以了解..." - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 85121d59..7f6617e6 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -96,4 +96,3 @@ msgstr "現在我們的手機上已經有一個應用程式了!我們還有其 #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po index b02fe8c8..64771ca8 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -52,4 +52,3 @@ msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`讓我們為 Android 建立應用程式!`" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po index 6e46356d..198eecc0 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -376,4 +376,3 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 :doc:`教學 8 ` 找出..." - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po index 377a8070..7606bf81 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po @@ -352,4 +352,3 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" - From 1d75266111c8ee98703d10bb4853ef6249d37b09 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 10 Aug 2025 22:53:45 -0400 Subject: [PATCH 04/24] Building - no errors. Time to optimise. --- .pre-commit-config.yaml | 2 +- docs/config.yml | 13 +- docs/en/SUMMARY.md | 19 + docs/en/how-to/index.md | 380 +++++++++--------- docs/en/index.md | 48 +-- docs/en/tutorial/topics/camera-access.md | 23 +- docs/en/tutorial/topics/custom-icons.md | 144 ++++--- docs/en/tutorial/topics/index.md | 8 +- docs/en/tutorial/topics/testing.md | 135 +++---- docs/en/tutorial/tutorial-0.md | 99 +++-- docs/en/tutorial/tutorial-1.md | 184 +++++---- docs/en/tutorial/tutorial-2.md | 260 ++++++------ docs/en/tutorial/tutorial-3.md | 134 +++--- docs/en/tutorial/tutorial-4.md | 95 ++--- docs/en/tutorial/tutorial-5/android.md | 151 ++++--- docs/en/tutorial/tutorial-5/android.rst | 8 +- docs/en/tutorial/tutorial-5/iOS.md | 16 +- docs/en/tutorial/tutorial-5/iOS.rst | 2 +- docs/en/tutorial/tutorial-5/index.md | 6 +- docs/en/tutorial/tutorial-6.md | 40 +- docs/en/tutorial/tutorial-7.md | 226 ++++++----- docs/en/tutorial/tutorial-8.md | 135 ++++--- docs/mkdocs.en.yml | 3 + docs/mkdocs.fr.yml | 4 + ...pelling_wordlist.txt => spelling_wordlist} | 1 + pyproject.toml | 1 + 26 files changed, 1085 insertions(+), 1052 deletions(-) create mode 100644 docs/en/SUMMARY.md rename docs/{spelling_wordlist.txt => spelling_wordlist} (97%) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index de2f0d8a..8fc10de8 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,7 +8,7 @@ repos: - id: check-docstring-first - id: end-of-file-fixer # PO files may not have a trailing EOL, as they are tool generated - exclude: "docs/locales" + exclude: "locales" - id: trailing-whitespace - repo: https://github.com/asottile/pyupgrade rev: v3.20.0 diff --git a/docs/config.yml b/docs/config.yml index 8e2079b4..65cb2f2a 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -4,7 +4,7 @@ not_in_nav: | /index.md validation: - omitted_files: warn + omitted_files: info absolute_links: relative_to_docs anchors: warn unrecognized_links: warn @@ -15,9 +15,9 @@ theme: features: - content.tabs.link - toc.follow - - navigation.path - content.code.copy - navigation.indexes + - navigation.expand palette: # Palette toggle for light mode - scheme: default @@ -56,12 +56,7 @@ plugins: include-markdown: {} literate-nav: nav_file: SUMMARY.md - macros: - # Remove the below customisations after markdown is cleaned up - j2_comment_start_string: '[#' # Set temporarily to deal with title anchors - j2_comment_end_string: '#]' # Set temporarily to deal with title anchors - include_yaml: - - extra: reference_index.yaml + macros: {} table-reader: {} spellcheck: backends: @@ -69,5 +64,5 @@ plugins: dictionaries: [clear] # Location of spelling_wordlist.txt is relative to docs_dir in mkdocs.x.yml. # This is the location of it relative to the temp directory for translations. - known_words: ../spelling_wordlist.txt + known_words: ../spelling_wordlist ignore_code: yes diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md new file mode 100644 index 00000000..a3ad1724 --- /dev/null +++ b/docs/en/SUMMARY.md @@ -0,0 +1,19 @@ +- [BeeWare Tutorial](index.md) +- [Tutorial 0 - Let's get set up!](tutorial/tutorial-0.md) +- [Tutorial 1 - Your first app](tutorial/tutorial-1.md) +- [Tutorial 2 - Making it interesting](tutorial/tutorial-2.md) +- [Tutorial 3 - Packaging for distribution](tutorial/tutorial-3.md) +- [Tutorial 4 - Updating your application](tutorial/tutorial-4.md) +- Tutorial 5 - Taking it Mobile + - [Tutorial 5 - Taking it Mobile](tutorial/tutorial-5/index.md) + - [Tutorial 5 - Taking it mobile: Android](tutorial/tutorial-5/android.md) + - [Tutorial 5 - Taking it mobile: iOS](tutorial/tutorial-5/iOS.md) +- [Tutorial 6 -Put it on the web!](tutorial/tutorial-6.md) +- [Tutorial 7 - Get this (third-)party started](tutorial/tutorial-7.md) +- [Tutorial 8 - Making it Smooooth](tutorial/tutorial-8.md) +- Going further + - [Going further](tutorial/topics/index.md) + - [Customizing icons](tutorial/topics/custom-icons.md) + - [Using the camera](tutorial/topics/camera-access.md) + - [Testing times](tutorial/topics/testing.md) +- [Contributing to this tutorial](how-to/index.md) diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md index 952ef9dc..bb26f5de 100644 --- a/docs/en/how-to/index.md +++ b/docs/en/how-to/index.md @@ -16,95 +16,93 @@ To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter). -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console $ python3 --version $ pip3 --version ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console $ python3 --version $ pip3 --version ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon C:\...>python3 --version C:\...>pip3 --version ``` -::: -:::::: + +/// + ### Install Enchant You'll also need to install the Enchant spell checking library. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS Enchant can be installed using [Homebrew](https://brew.sh): -``` console +```console (venv) $ brew install enchant ``` If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library: -``` console +```console (venv) $ export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux Enchant can be installed as a system package: **Ubuntu / Debian** -``` console +```console $ sudo apt update $ sudo apt install enchant-2 ``` **Fedora** -``` console +```console $ sudo dnf install enchant ``` **Arch / Manjaro** -``` console +```console $ sudo pacman -Syu enchant ``` **OpenSUSE Tumbleweed** -``` console +```console $ sudo zypper install enchant ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows Enchant is installed automatically when you set up your development environment. -::: -:::::: + +/// + ### Create a virtual environment @@ -112,34 +110,33 @@ The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console $ python3 -m venv venv $ source venv/bin/activate ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console $ python3 -m venv venv $ source venv/bin/activate ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon C:\...>python3 -m venv venv C:\...>venv\Scripts\activate ``` -::: -:::::: + +/// + Your prompt should now have a `(venv)` prefix in front of it. @@ -155,39 +152,38 @@ desktop application installed on your computer, you can select "Open in Desktop"; otherwise, copy the URL provided, and use it to clone using the command line: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS Fork the BeeWare repository, and then: (venv) $ git clone https://github.com//beeware.git (substituting your GitHub username) -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux Fork the BeeWare repository, and then: (venv) $ git clone https://github.com//beeware.git (substituting your GitHub username) -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows Fork the BeeWare repository, and then: -``` doscon +```doscon (venv) C:\...>git clone https://github.com//beeware.git ``` (substituting your GitHub username) -::: -:::::: + +/// + ### Install BeeWare tutorial docs dependencies @@ -196,34 +192,33 @@ requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ cd beeware (venv) $ python -m pip install -e ".[dev]" ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (venv) $ cd beeware (venv) $ python -m pip install -e .[dev] ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (venv) C:\...>cd beeware (venv) C:\...>python -m pip install -e .[dev] ``` -::: -:::::: + +/// + ### Install pre-commit @@ -232,45 +227,42 @@ identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ pre-commit install pre-commit installed at .git/hooks/pre-commit ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (venv) $ pre-commit install pre-commit installed at .git/hooks/pre-commit ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (venv) C:\...>pre-commit install pre-commit installed at .git/hooks/pre-commit ``` -::: -:::::: + +/// + When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ git add some/interesting_file.py (venv) $ git commit -m "Minor change" black....................................................................Failed @@ -293,12 +285,12 @@ isort....................................................................Passed pyupgrade................................................................Passed docformatter.............................................................Passed ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (venv) $ git add some/interesting_file.py (venv) $ git commit -m "Minor change" black....................................................................Failed @@ -321,12 +313,12 @@ isort....................................................................Passed pyupgrade................................................................Passed docformatter.............................................................Passed ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (venv) C:\...>git add some/interesting_file.py (venv) C:\...>git commit -m "Minor change" black....................................................................Failed @@ -349,17 +341,16 @@ isort....................................................................Passed pyupgrade................................................................Passed docformatter.............................................................Passed ``` -::: -:::::: + +/// + You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ git add some/interesting_file.py (venv) $ git commit -m "Minor change" black....................................................................Passed @@ -376,12 +367,12 @@ docformatter.............................................................Passed [bugfix e3e0f73] Minor change 1 file changed, 4 insertions(+), 2 deletions(-) ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (venv) $ git add some/interesting_file.py (venv) $ git commit -m "Minor change" black....................................................................Passed @@ -398,12 +389,12 @@ docformatter.............................................................Passed [bugfix e3e0f73] Minor change 1 file changed, 4 insertions(+), 2 deletions(-) ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (venv) C:\...>git add some\interesting_file.py (venv) C:\...>git commit -m "Minor change" black....................................................................Passed @@ -418,8 +409,9 @@ isort....................................................................Passed pyupgrade................................................................Passed docformatter.............................................................Passed ``` -::: -:::::: + +/// + Now you are ready to start hacking on BeeWare docs! @@ -429,31 +421,30 @@ Now you are ready to start hacking on BeeWare docs! Once your development environment is set up, run: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ tox -e docs ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (venv) $ tox -e docs ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (venv) C:\...>tox -e docs ``` -::: -:::::: + +/// + The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error. @@ -463,31 +454,30 @@ there are any markup problems, they'll raise an error. To support rapid editing of documentation, BeeWare also has a "live preview" mode: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ tox -e docs-live ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (venv) $ tox -e docs-live ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (venv) C:\...>tox -e docs-live ``` -::: -:::::: + +/// + This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the @@ -499,31 +489,30 @@ Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ tox -e docs-live-src ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (venv) $ tox -e docs-live-src ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (venv) C:\...>tox -e docs-live-src ``` -::: -:::::: + +/// + This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline @@ -536,31 +525,30 @@ documentation. The build process will identify reStructuredText problems, but BeeWare performs some additional "lint" checks. To run the lint checks: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ tox -e docs-lint ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (venv) $ tox -e docs-lint ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (venv) C:\...>tox -e docs-lint ``` -::: -:::::: + +/// + This will validate the documentation does not contain: @@ -583,31 +571,30 @@ the spellchecker's dictionary. When adding to this list, remember: To force a rebuild for all of the documentation: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ tox -e docs-all ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (venv) $ tox -e docs-all ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (venv) C:\...>tox -e docs-all ``` -::: -:::::: + +/// + The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error. @@ -649,31 +636,30 @@ branch has a simple name to identify the change that you've made. To create a feature branch, run: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (venv) $ git checkout -b fix-layout-bug ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (venv) $ git checkout -b fix-layout-bug ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (venv) C:\...>git checkout -b fix-layout-bug ``` -::: -:::::: + +/// + Commit your changes to this branch, then push to GitHub and create a pull request. diff --git a/docs/en/index.md b/docs/en/index.md index e28bf19b..cb3d11a0 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -8,11 +8,8 @@ a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app. -:::: {.only} -original_translation - -::: {.admonition} -Translations are available +{% if config.extra.original_translation == true %} +/// admonition | Translations are available If you're not comfortable with English, translations of this tutorial are available in [Deutsch](https://docs.beeware.org/de), @@ -22,14 +19,13 @@ are available in [Deutsch](https://docs.beeware.org/de), [Português](https://docs.beeware.org/pt), [中文(简体)](https://docs.beeware.org/zh-cn), and [中文(繁體)](https://docs.beeware.org/zh-tw). -::: -:::: -:::: {.only} -machine_translation -::: {.admonition} -This is a machine translation! +/// +{% endif %} + +{% if config.extra.machine_translation == true %} +/// admonition | This is a machine translation! This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better @@ -38,14 +34,13 @@ than no translation at all. If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord](https://beeware.org/bee/chat/). Introduce yourself there and we will add you to the translation team. -::: -:::: -:::: {.only} -human_translation -::: {.admonition} -This is a translation! +/// +{% endif %} + +{% if config.extra.human_translation == true %} +/// admonition | This is a translation! This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by @@ -54,8 +49,11 @@ machine translation, or not translated at all. If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord](https://beeware.org/bee/chat/). Introduce yourself there and we will add you to the translation team. -::: -:::: + + +/// +{% endif %} + ## What is BeeWare? @@ -63,7 +61,7 @@ BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes: -- [Toga](https://toga.beeware.org), a cross platform widget toolkit; +- [Toga](https://toga.beeware.org), a cross-platform widget toolkit; - [Briefcase](https://briefcase.beeware.org), a tool for packaging Python projects as distributable artefacts that can be shipped to end users; @@ -83,12 +81,4 @@ mobile platforms such as Android and iOS; and for the Web. ## Let's go! Ready to try BeeWare for yourself? -`Let's build a cross platform application in -Python! `{.interpreted-text role="doc"} - -::: {.toctree maxdepth="2" hidden=""} -tutorial/tutorial-0 tutorial/tutorial-1 tutorial/tutorial-2 -tutorial/tutorial-3 tutorial/tutorial-4 tutorial/tutorial-5/index -tutorial/tutorial-6 tutorial/tutorial-7 tutorial/tutorial-8 -tutorial/topics/index how-to/index -::: +[Let's build a cross-platform application in Python!][tutorial-0] diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index 2f184f76..dd2ebae8 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -5,8 +5,7 @@ tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera. -::: {.admonition} -This tutorial won't work on all platforms! +/// admonition | This tutorial won't work on all platforms! Unfortunately, at present, this tutorial will only work on macOS and Android. @@ -21,7 +20,9 @@ raise an error when you try to take a photograph. The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator. -::: + + +/// ## Start a new project @@ -33,7 +34,7 @@ to re-run the `briefcase new` wizard. Change back to the directory that contains the `helloworld` project folder, and start a new project named "Hello Camera": -``` console +```console (beeware-venv) $ cd .. (beeware-venv) $ briefcase new ... @@ -53,7 +54,7 @@ The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content: -``` {.python emphasize-lines="9-18, 23-44"} +```{.python emphasize-lines="9-18, 23-44"} import toga from toga.style.pack import COLUMN, ROW @@ -144,7 +145,7 @@ permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration): -``` toml +```toml permission.camera = "App will take mugshots." ``` @@ -156,16 +157,14 @@ presented. We can now generate and run the app: -::::: {.tabs} -::: {.group-tab} -macOS .. code-block:: console +/// tab | macOS .. code-block:: console (beeware-venv)\$ briefcase create (beeware-venv)\$ briefcase build (beeware-venv)\$ briefcase run -::: -::: {.group-tab} -Android .. code-block:: console +/// + +/// tab | Android .. code-block:: console (beeware-venv)\$ briefcase create android (beeware-venv)\$ briefcase build android (beeware-venv)\$ briefcase run android diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index d4c2b5bb..65f936c5 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -29,11 +29,9 @@ We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons): -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase update --update-resources [helloworld] Updating application code... @@ -47,12 +45,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase update --update-resources [helloworld] Updating application code... @@ -71,12 +69,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase update --update-resources [helloworld] Updating application code... @@ -90,12 +88,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -Android +/// + +/// tab | Android -``` console +```console (beeware-venv) $ briefcase update android --update-resources [helloworld] Updating application code... @@ -128,12 +126,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS -``` console +```console (beeware-venv) $ briefcase iOS --update-resources [helloworld] Updating application code... @@ -162,8 +160,9 @@ iOS [helloworld] Application updated. ``` -::: -:::::::: + +/// +:: This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the @@ -193,7 +192,9 @@ project directory should look something like: There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background: -![Icon of green snake with a light blue background](../resources/icon.png){.align-center} +
+ Icon of green snake with a light blue background +
The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the @@ -207,11 +208,9 @@ included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app: -:::::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run --update-resources [helloworld] Updating application code... @@ -232,12 +231,12 @@ Removing unneeded app bundle content... done [helloworld] Starting app... ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run --update-resources [helloworld] Updating application code... @@ -264,12 +263,12 @@ Build bootstrap binary... [helloworld] Starting app... ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase build --update-resources [helloworld] Updating application code... @@ -296,7 +295,7 @@ Setting stub app details... done ::::: {.group-tab} Android -``` console +```console (beeware-venv) $ briefcase build android --update-resources [helloworld] Updating application code... @@ -332,21 +331,19 @@ Removing unneeded app bundle content... done [helloworld] Starting app... ``` -:::: {.note} -::: {.title} -Note -::: +/// note | Note If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step. -:::: -::::: -::: {.group-tab} -iOS +/// + +/// -``` console +/// tab | iOS + +```console (beeware-venv) $ briefcase build iOS --update-resources [helloworld] Updating application code... @@ -377,19 +374,19 @@ Removing unneeded app bundle content... done [helloworld] Starting app... ``` -::: -:::::::::: -:::: {.note} -::: {.title} -Note -::: +/// + +/// + +/// note | Note If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements. -:::: + +/// When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. @@ -408,11 +405,9 @@ To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase create Application 'helloworld' already exists; overwrite [y/N]? y @@ -424,12 +419,12 @@ Application 'helloworld' already exists; overwrite [y/N]? y [helloworld] Created build/helloworld/macos/app ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase create Application 'helloworld' already exists; overwrite [y/N]? y @@ -441,12 +436,12 @@ Application 'helloworld' already exists; overwrite [y/N]? y [helloworld] Created build/helloworld/linux/ubuntu/jammy ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase create Application 'helloworld' already exists; overwrite [y/N]? y @@ -458,12 +453,12 @@ Application 'helloworld' already exists; overwrite [y/N]? y [helloworld] Created build\helloworld\windows\app ``` -::: -::: {.group-tab} -Android +/// + +/// tab | Android -``` console +```console (beeware-venv) $ briefcase create android Application 'helloworld' already exists; overwrite [y/N]? y @@ -474,12 +469,12 @@ Application 'helloworld' already exists; overwrite [y/N]? y ... [helloworld] Created build/helloworld/android/gradle ``` -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS -``` console +```console (beeware-venv) $ briefcase create iOS Application 'helloworld' already exists; overwrite [y/N]? y @@ -490,8 +485,9 @@ Application 'helloworld' already exists; overwrite [y/N]? y ... [helloworld] Created build/helloworld/ios/xcode ``` -::: -:::::::: + +/// +:: You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps diff --git a/docs/en/tutorial/topics/index.md b/docs/en/tutorial/topics/index.md index aee3536f..7e52b514 100644 --- a/docs/en/tutorial/topics/index.md +++ b/docs/en/tutorial/topics/index.md @@ -1,4 +1,4 @@ -# Going further +# Going further { #topics } Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is @@ -27,9 +27,5 @@ Camera access Use the camera on your mobile or desktop device to take and view a picture from within your application. -::: -:::::: -::: {.toctree maxdepth="1" hidden=""} -custom-icons testing camera-access -::: +/// diff --git a/docs/en/tutorial/topics/testing.md b/docs/en/tutorial/topics/testing.md index f397519e..4696e02a 100644 --- a/docs/en/tutorial/topics/testing.md +++ b/docs/en/tutorial/topics/testing.md @@ -27,11 +27,9 @@ We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev --test -r [helloworld] Installing requirements... @@ -51,12 +49,12 @@ tests/test_app.py::test_first PASSED [100%] ============================== 1 passed in 0.01s =============================== ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase dev --test -r [helloworld] Installing requirements... @@ -79,12 +77,12 @@ tests/test_app.py::test_first PASSED [100%] ============================== 1 passed in 0.01s =============================== ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase dev --test -r [helloworld] Installing requirements... @@ -107,8 +105,9 @@ tests/test_app.py::test_first PASSED [100%] ============================== 1 passed in 0.01s =============================== ``` -::: -:::::: + +/// + Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!). @@ -139,11 +138,9 @@ We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev --test [helloworld] Running test suite in dev environment... @@ -157,12 +154,12 @@ tests/test_app.py::test_empty PASSED [100%] ============================== 2 passed in 0.11s =============================== ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase dev --test [helloworld] Running test suite in dev environment... @@ -176,12 +173,12 @@ tests/test_app.py::test_empty PASSED [100%] ============================== 2 passed in 0.11s =============================== ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase dev --test [helloworld] Running test suite in dev environment... @@ -195,8 +192,9 @@ tests/test_app.py::test_empty PASSED [100%] ============================== 2 passed in 0.11s =============================== ``` -::: -:::::: + +/// + Excellent! Our `greeting()` utility method is working as expected. @@ -214,11 +212,9 @@ that we'd like to see to the bottom of `test_app.py`: Then, run the test suite with this new test: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev --test [helloworld] Running test suite in dev environment... @@ -247,12 +243,12 @@ tests/test_app.py:19: AssertionError FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... ========================= 1 failed, 2 passed in 0.14s ========================== ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase dev --test [helloworld] Running test suite in dev environment... @@ -283,12 +279,12 @@ FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... ============================== 2 passed in 0.11s =============================== ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase dev --test [helloworld] Running test suite in dev environment... @@ -317,8 +313,9 @@ tests/test_app.py:19: AssertionError FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... ========================= 1 failed, 2 passed in 0.14s ========================== ``` -::: -:::::: + +/// + This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output "BeeWare the IDEs of @@ -337,11 +334,9 @@ Brutus". Let's modify the implementation of `greeting()` in If we run the tests again, we'll now see our tests pass: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev --test [helloworld] Running test suite in dev environment... @@ -356,12 +351,12 @@ tests/test_app.py::test_brutus PASSED [100%] ============================== 3 passed in 0.15s =============================== ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase dev --test [helloworld] Running test suite in dev environment... @@ -376,12 +371,12 @@ tests/test_app.py::test_brutus PASSED [100%] ============================== 3 passed in 0.15s =============================== ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase dev --test [helloworld] Running test suite in dev environment... @@ -396,8 +391,9 @@ tests/test_app.py::test_brutus PASSED [100%] ============================== 3 passed in 0.15s =============================== ``` -::: -:::::: + +/// + ## Runtime tests @@ -412,11 +408,9 @@ If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run --test -r [helloworld] Updating application code... @@ -455,12 +449,12 @@ tests/test_app.py::test_brutus PASSED [100%] [helloworld] Test suite passed! ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run --test -r [helloworld] Finalizing application configuration... @@ -489,12 +483,12 @@ tests/test_app.py::test_brutus PASSED [100%] ============================== 3 passed in 0.21s =============================== ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase run --test -r [helloworld] Updating application code... @@ -528,8 +522,9 @@ tests/test_app.py::test_brutus PASSED [100%] ============================== 3 passed in 0.21s =============================== ``` -::: -:::::: + +/// + As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md index d2fd53de..6eb25a9b 100644 --- a/docs/en/tutorial/tutorial-0.md +++ b/docs/en/tutorial/tutorial-0.md @@ -1,4 +1,4 @@ -# Tutorial 0 - Let's get set up! { #tutorial-0 } +# Tutorial 0 - Let's get set up! { id="tutorial-0" } Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare. @@ -7,9 +7,7 @@ all the prerequisites for running BeeWare. The first thing we'll need is a working Python interpreter. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS If you're on macOS, you can get an official Python installer from [the Python website](https://www.python.org/downloads). You can use any @@ -35,15 +33,15 @@ to the Xcode-provided version of Python to run this tutorial. To check the version of Python that you have installed, run the following command: -``` console +```console $ python3 --version ``` If Python is installed, you'll see its version number. -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on @@ -60,10 +58,10 @@ operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial. -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows If you're on Windows, you can get the official installer from [the Python website](https://www.python.org/downloads). You can use any @@ -78,17 +76,16 @@ You can also install Python from the Windows App Store, or use matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter. -::: -:::::: + +/// + ## Install dependencies Next, install the additional dependencies needed for your operating system: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS Building BeeWare apps on macOS requires: @@ -97,10 +94,10 @@ Building BeeWare apps on macOS requires: to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session. -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux To support local development, you'll need to install some system packages. The list of packages required varies depending on your @@ -108,32 +105,32 @@ distribution: **Ubuntu / Debian** -``` console +```console $ sudo apt update $ sudo apt install git build-essential pkg-config python3-dev python3-venv libgirepository1.0-dev libcairo2-dev gir1.2-gtk-3.0 libcanberra-gtk3-module ``` **Fedora** -``` console +```console $ sudo dnf install git gcc make pkg-config rpm-build python3-devel gobject-introspection-devel cairo-gobject-devel gtk3 libcanberra-gtk3 ``` **Arch / Manjaro** -``` console +```console $ sudo pacman -Syu git base-devel pkgconf python3 gobject-introspection cairo gtk3 libcanberra ``` **OpenSUSE Tumbleweed** -``` console +```console $ sudo zypper install git patterns-devel-base-devel_basis pkgconf-pkg-config python3-devel gobject-introspection-devel cairo-devel gtk3 'typelib(Gtk)=3.0' libcanberra-gtk3-module ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows Building BeeWare apps on Windows requires: @@ -143,8 +140,9 @@ Building BeeWare apps on Windows requires: After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed. -::: -:::::: + +/// + ## Set up a virtual environment @@ -157,33 +155,31 @@ environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python. -::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console $ mkdir beeware-tutorial $ cd beeware-tutorial $ python3 -m venv beeware-venv $ source beeware-venv/bin/activate ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console $ mkdir beeware-tutorial $ cd beeware-tutorial $ python3 -m venv beeware-venv $ source beeware-venv/bin/activate ``` -::: -:::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon C:\...>md beeware-tutorial C:\...>cd beeware-tutorial C:\...>py -3.12 -m venv beeware-venv @@ -193,8 +189,7 @@ C:\...>beeware-venv\Scripts\activate If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using. -::: {.admonition} -Errors running PowerShell Scripts +/// admonition | Errors running PowerShell Scripts If you're using PowerShell, and you receive the error: @@ -211,9 +206,13 @@ this: Once you've done this you can rerun `beeware-venv\Scripts\activate.ps1` in your original PowerShell session (or a new session in the same directory). -::: -:::: -::::::: + + +/// + +/// + + If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in @@ -222,8 +221,7 @@ tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment. -::: {.admonition} -Alternative virtual environments +/// admonition | Alternative virtual environments If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a @@ -231,10 +229,11 @@ predecessor to Python's built in `venv` module. As with Python installs -if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python. -::: + + +/// ## Next steps We've now set up our environment. We're ready to -`create our first BeeWare -application `{.interpreted-text role="doc"}. +[create our first BeeWare application][tutorial-1]. diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index 878704d7..b2b13237 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -1,4 +1,4 @@ -# Tutorial 1 - Your first app { #tutorial-1 } +# Tutorial 1 - Your first app { id="tutorial-1" } We're ready to create our first application. @@ -8,53 +8,54 @@ First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in -`Tutorial 0 `{.interpreted-text role="doc"}, with the +[Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ python -m pip install briefcase ``` -::: -:::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ python -m pip install briefcase ``` -::: {.admonition} -Possible errors during installation +/// admonition | Possible errors during installation If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have `installed all the platform pre-requisites `{.interpreted-text role="ref"}. -::: -:::: -:::: {.group-tab} -Windows -``` doscon +/// + +/// + +/// tab | Windows + +```doscon (beeware-venv) C:\...>python -m pip install briefcase ``` -::: {.admonition} -Possible errors during installation +/// admonition | Possible errors during installation It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue](https://snarky.ca/why-you-should-use-python-m-pip/). -::: -:::: -:::::::: + + +/// + +/// + ## Bootstrap a new project @@ -62,31 +63,30 @@ Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase new ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase new ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase new ``` -::: -:::::: + +/// + Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following: @@ -121,25 +121,27 @@ Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like: - beeware-tutorial/ - ├── beeware-venv/ - │ └── ... - └── helloworld/ - ├── CHANGELOG - ├── LICENSE - ├── pyproject.toml - ├── README.rst - ├── src/ - │ └── helloworld/ - │ ├── app.py - │ ├── __init__.py - │ ├── __main__.py - │ └── resources/ - │ └── README - └── tests/ - ├── helloworld.py - ├── __init__.py - └── test_app.py +```text +beeware-tutorial/ +├── beeware-venv/ +│ └── ... +└── helloworld/ + ├── CHANGELOG + ├── LICENSE + ├── pyproject.toml + ├── README.rst + ├── src/ + │ └── helloworld/ + │ ├── app.py + │ ├── __init__.py + │ ├── __main__.py + │ └── resources/ + │ └── README + └── tests/ + ├── helloworld.py + ├── __init__.py + └── test_app.py +``` This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the @@ -156,11 +158,9 @@ application. Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ cd helloworld (beeware-venv) $ briefcase dev @@ -170,12 +170,12 @@ macOS [helloworld] Starting in dev mode... =========================================================================== ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ cd helloworld (beeware-venv) $ briefcase dev @@ -185,12 +185,12 @@ Linux [helloworld] Starting in dev mode... =========================================================================== ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>cd helloworld (beeware-venv) C:\...>briefcase dev @@ -200,35 +200,39 @@ Windows [helloworld] Starting in dev mode... =========================================================================== ``` -::: -:::::: + +/// + This should open a GUI window: -::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS + +
+ Hello World Tutorial 1 window, on macOS +
-![Hello World Tutorial 1 window, on macOS](images/macOS/tutorial-1.png){.align-center} -::: +/// -::: {.group-tab} -Linux +/// tab | Linux -![Hello World Tutorial 1 window, on Linux](images/linux/tutorial-1.png){.align-center} -::: +
+ Hello World Tutorial 1 window, on Linux +
-:::: {.group-tab} -Windows +/// -![Hello World Tutorial 1 window, on Windows](images/windows/tutorial-1.png){.align-center} +/// tab | Windows -::: {.admonition} -Invalid requirements or pip unable to connect +
+ Hello World Tutorial 1 window, on Windows +
+ +/// admonition | Invalid requirements or pip unable to connect If you encounter the error: -``` doscon +```doscon Unable to install requirements. This may be because one of your requirements is invalid, or because pip was unable to connect to the PyPI server. @@ -240,9 +244,12 @@ Confirm that you are running a If your version of python is *not* a supported version, you will have to restart the tutorial. -::: -:::: -::::::: + + +/// + +/// + Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, @@ -254,6 +261,5 @@ native application in Python! We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little -more interesting. In `Tutorial 2 `{.interpreted-text -role="doc"}, we'll put a more useful user interface onto our +more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application. diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index 5fad4fda..c5829e69 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -1,6 +1,6 @@ -# Tutorial 2 - Making it interesting { #tutorial-2 } +# Tutorial 2 - Making it interesting { id="tutorial-2" } -In `Tutorial 1 `{.interpreted-text role="doc"}, we generated +In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us. @@ -18,10 +18,12 @@ interpreter that the `helloworld` directory defines a module. `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple: - from helloworld.app import main +```python +from helloworld.app import main - if __name__ == "__main__": - main().main_loop() +if __name__ == "__main__": + main().main_loop() +``` This file does two things: @@ -33,24 +35,28 @@ This file does two things: The more interesting file is `app.py` - this contains the logic that creates our application window: - import toga - from toga.style.pack import COLUMN, ROW +```python +import toga +from toga.style.pack import COLUMN, ROW - class HelloWorld(toga.App): - def startup(self): - main_box = toga.Box() +class HelloWorld(toga.App): + def startup(self): + main_box = toga.Box() - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() + self.main_window = toga.MainWindow(title=self.formal_name) + self.main_window.content = main_box + self.main_window.show() - def main(): - return HelloWorld() +def main(): + return HelloWorld() +``` Let's go through this line by line: - import toga - from toga.style.pack import COLUMN, ROW +```python +import toga +from toga.style.pack import COLUMN, ROW +``` First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but @@ -58,7 +64,9 @@ we'll make use of them shortly. Then, we define a class: - class HelloWorld(toga.App): +```python +class HelloWorld(toga.App): +``` Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing @@ -67,8 +75,10 @@ main window. Next, we define a `startup()` method: - def startup(self): - main_box = toga.Box() +```python +def startup(self): + main_box = toga.Box() +``` The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by @@ -81,7 +91,9 @@ into it. Next, we define a window into which we can put this empty box: - self.main_window = toga.MainWindow(title=self.formal_name) +```python +self.main_window = toga.MainWindow(title=self.formal_name) +``` This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of @@ -91,26 +103,30 @@ Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window). -::: {.admonition} -Where is my window? +/// admonition | Where is my window? If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app. -::: + +/// We then add our empty box as the content of the main window, and instruct the application to show our window: - self.main_window.content = main_box - self.main_window.show() +```python +self.main_window.content = main_box +self.main_window.show() +``` Last of all, we define a `main()` function. This is what creates the instance of our application: - def main(): - return HelloWorld() +```python +def main(): + return HelloWorld() +``` This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` @@ -123,54 +139,56 @@ content into the application, and make the app do something interesting. Let's do something more interesting with our `HelloWorld` app. -:::: {.note} -::: {.title} -Note -::: +/// note | Note When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class. -:::: + +/// Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this: - class HelloWorld(toga.App): - def startup(self): - main_box = toga.Box(direction=COLUMN) +```python +class HelloWorld(toga.App): + def startup(self): + main_box = toga.Box(direction=COLUMN) - name_label = toga.Label( - "Your name: ", - margin=(0, 5), - ) - self.name_input = toga.TextInput(flex=1) + name_label = toga.Label( + "Your name: ", + margin=(0, 5), + ) + self.name_input = toga.TextInput(flex=1) - name_box = toga.Box(direction=ROW, margin=5) - name_box.add(name_label) - name_box.add(self.name_input) + name_box = toga.Box(direction=ROW, margin=5) + name_box.add(name_label) + name_box.add(self.name_input) - button = toga.Button( - "Say Hello!", - on_press=self.say_hello, - margin=5, - ) + button = toga.Button( + "Say Hello!", + on_press=self.say_hello, + margin=5, + ) - main_box.add(name_box) - main_box.add(button) + main_box.add(name_box) + main_box.add(button) - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() + self.main_window = toga.MainWindow(title=self.formal_name) + self.main_window.content = main_box + self.main_window.show() - def say_hello(self, widget): - print(f"Hello, {self.name_input.value}") + def say_hello(self, widget): + print(f"Hello, {self.name_input.value}") +``` Let's look in detail at what has changed. We're still creating a main box; however, we are now applying a style: - main_box = toga.Box(direction=COLUMN) +```python +main_box = toga.Box(direction=COLUMN) +``` Toga's built-in layout system is called "Pack". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are @@ -180,25 +198,27 @@ case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible. -:::: {.note} -::: {.title} -Note -::: +/// note | Note For more advanced uses, Toga also supports a separate style object, which is used like this: - from toga.style import Pack - main_box = toga.Box(style=Pack(direction=COLUMN)) -:::: +```python +from toga.style import Pack +main_box = toga.Box(style=Pack(direction=COLUMN)) +``` + +/// Next, we define a couple of widgets: - name_label = toga.Label( - "Your name: ", - margin=(0, 5), - ) - self.name_input = toga.TextInput(flex=1) +```python +name_label = toga.Label( + "Your name: ", + margin=(0, 5), +) +self.name_input = toga.TextInput(flex=1) +``` Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and @@ -212,9 +232,11 @@ in a moment. Next, we define a box to hold these two widgets: - name_box = toga.Box(direction=ROW, margin=5) - name_box.add(name_label) - name_box.add(self.name_input) +```python +name_box = toga.Box(direction=ROW, margin=5) +name_box.add(name_label) +name_box.add(self.name_input) +``` The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will @@ -223,35 +245,43 @@ margin - 5px on all sides. Now we define a button: - button = toga.Button( - "Say Hello!", - on_press=self.say_hello, - margin=5, - ) +```python +button = toga.Button( + "Say Hello!", + on_press=self.say_hello, + margin=5, +) +``` The button also has 5px of margin on all sides. We also define a *handler* -a method to invoke when the button is pressed. Then, we add the name box and the button to the main box: - main_box.add(name_box) - main_box.add(button) +```python +main_box.add(name_box) +main_box.add(button) +``` This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content: - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() +```python +self.main_window = toga.MainWindow(title=self.formal_name) +self.main_window.content = main_box +self.main_window.show() +``` The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed: - def say_hello(self, widget): - print(f"Hello, {self.name_input.value}") +```python +def say_hello(self, widget): + print(f"Hello, {self.name_input.value}") +``` The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as @@ -260,40 +290,39 @@ the text that is printed. Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev [helloworld] Starting in dev mode... =========================================================================== ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase dev [helloworld] Starting in dev mode... =========================================================================== ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase dev [helloworld] Starting in dev mode... =========================================================================== ``` -::: -:::::: + +/// + You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to @@ -303,25 +332,30 @@ your app, you need to make sure that they're installed by passing in a This should open a GUI window: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS + +
+ Hello World Tutorial 2 window, on macOS +
+ +/// + +/// tab | Linux + +
+ Hello World Tutorial 2 window, on Linux +
-![Hello World Tutorial 2 window, on macOS](images/macOS/tutorial-2.png){.align-center} -::: +/// -::: {.group-tab} -Linux +/// tab | Windows -![Hello World Tutorial 2 window, on Linux](images/linux/tutorial-2.png){.align-center} -::: +
+ Hello World Tutorial 2 window, on Windows +
-::: {.group-tab} -Windows +/// -![Hello World Tutorial 2 window, on Windows](images/windows/tutorial-2.png){.align-center} -::: -:::::: If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the @@ -337,6 +371,6 @@ terminal where you ran `briefcase dev`. We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In -`Tutorial 3 `{.interpreted-text role="doc"}, we'll wrap our +[Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store. diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index ad715fdd..a8a4fb2b 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -1,4 +1,4 @@ -# Tutorial 3 - Packaging for distribution { #tutorial-3 } +# Tutorial 3 - Packaging for distribution { id="tutorial-3" } So far, we've been running our application in "Developer mode". This makes it easy for us to run our application locally - but what we really @@ -18,11 +18,9 @@ Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run: -::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase create [helloworld] Generating application template... @@ -46,12 +44,12 @@ Removing unneeded app bundle content... done [helloworld] Created build/helloworld/macos/app ``` -::: -:::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase create [helloworld] Finalizing application configuration... @@ -82,8 +80,7 @@ Removing unneeded app bundle content... done [helloworld] Created build/helloworld/linux/ubuntu/jammy ``` -::: {.admonition} -Errors about Python versions +/// admonition | Errors about Python versions If you receive an error that reads something like: @@ -93,13 +90,15 @@ If you receive an error that reads something like: You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application. -::: -:::: -::: {.group-tab} -Windows -``` doscon +/// + +/// + +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase create [helloworld] Generating application template... @@ -120,8 +119,9 @@ Installing src/helloworld... done [helloworld] Created build\helloworld\windows\app ``` -::: -::::::: + +/// +: You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following: @@ -191,11 +191,9 @@ You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform. -::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase build [helloworld] Adhoc signing app... @@ -211,12 +209,12 @@ does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature. -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase build [helloworld] Finalizing application configuration... @@ -245,12 +243,12 @@ Once this step completes, the `build` folder will contain a system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary. -::: -:::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase build Setting stub app details... done @@ -261,8 +259,7 @@ On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on. -::: {.admonition} -Triggering antivirus +/// admonition | Triggering antivirus Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this @@ -270,19 +267,20 @@ may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above. -::: -:::: -::::::: + + +/// + +/// + ## Running your app You can now use Briefcase to run your application: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run [helloworld] Starting app... @@ -302,12 +300,12 @@ Installing Python NSLog handler... Running app module: helloworld --------------------------------------------------------------------------- ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run [helloworld] Finalizing application configuration... @@ -330,12 +328,12 @@ Initializing Python runtime... Running app module: helloworld --------------------------------------------------------------------------- ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase run [helloworld] Starting app... @@ -354,8 +352,9 @@ Initializing Python runtime... Running app module: helloworld --------------------------------------------------------------------------- ``` -::: -:::::: + +/// + This will start to run your native application, using the app bundle created by the `build` command. @@ -382,11 +381,9 @@ product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase package --adhoc-sign [helloworld] Signing app... @@ -433,16 +430,16 @@ others to use, we would need to specify real credentials. When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity](https://briefcase.beeware.org/en/latest/how-to/code-signing/macOS.html). -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see: -``` console +```console (beeware-venv) $ briefcase package [helloworld] Finalizing application configuration... @@ -464,7 +461,7 @@ The `dist` folder will contain the `.deb` file that was generated. If you're on a RHEL-based distribution, you'll see: -``` console +```console (beeware-venv) $ briefcase package [helloworld] Finalizing application configuration... @@ -493,7 +490,7 @@ The `dist` folder will contain the `.rpm` file that was generated. If you're on an Arch-based distribution, you'll see: -``` console +```console (beeware-venv) $ briefcase package [helloworld] Finalizing application configuration... @@ -526,7 +523,7 @@ however, ensure you don't install Docker in "rootless" mode. Once you've installed Docker, you should be able to start an Linux container - for example: -``` console +```console $ docker run --rm -it ubuntu:22.04 ``` @@ -540,7 +537,7 @@ a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run: -``` console +```console $ briefcase package --target ubuntu:jammy ``` @@ -548,12 +545,12 @@ This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution. -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase package ************************************************************************* @@ -600,13 +597,14 @@ Once this step completes, the `dist` folder will contain a file named it, you should go through a familiar Windows installation process. Once this installation completes, there will be a "Hello World" entry in your start menu. -::: -:::::: + +/// + ## Next steps We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? -Turn to `Tutorial 4 <./tutorial-4>`{.interpreted-text role="doc"} to +Turn to[Tutorial 4][tutorial-4] to find out... diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index c5857b6c..621a6cbc 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -1,4 +1,4 @@ -# Tutorial 4 - Updating your application { #tutorial-4 } +# Tutorial 4 - Updating your application { id="tutorial-4" } In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going @@ -29,32 +29,37 @@ Modify the `say_hello` callback so it looks like this: We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now -we'll give a more detailed explanation in -`Tutorial 8 `{.interpreted-text role="doc"}. +[Tutorial 8][tutorial-8]. This directs Toga to open a modal dialog box when the button is pressed. If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -![Hello World Tutorial 4 dialog, on macOS](images/macOS/tutorial-4.png){.align-center} -::: +
+ Hello World Tutorial 4 dialog, on macOS +
-::: {.group-tab} -Linux +/// -![Hello World Tutorial 4 dialog, on Linux](images/linux/tutorial-4.png){.align-center} -::: +/// tab | Linux -::: {.group-tab} -Windows +
+ Hello World Tutorial 4 dialog, on Linux +
+ +/// + +/// tab | Windows + +
+ Hello World Tutorial 4 dialog, on Windows +
+ +/// -![Hello World Tutorial 4 dialog, on Windows](images/windows/tutorial-4.png){.align-center} -::: -:::::: However, if you run `briefcase run`, the dialog box won't appear. @@ -72,11 +77,9 @@ directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase update [helloworld] Updating application code... @@ -87,12 +90,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase update [helloworld] Finalizing application configuration... @@ -110,12 +113,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase update [helloworld] Updating application code... @@ -126,8 +129,9 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -:::::: + +/// + If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold. @@ -138,7 +142,7 @@ updated app, and `briefcase package` to repackage the application for distribution. (macOS users, remember that as noted in -`Tutorial 3 `{.interpreted-text role="doc"}, for the +[Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.) @@ -184,11 +188,9 @@ Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run -u [helloworld] Updating application code... @@ -206,12 +208,12 @@ Removing unneeded app bundle content... done [helloworld] Starting app... ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run -u [helloworld] Finalizing application configuration... @@ -235,12 +237,12 @@ Removing unneeded app bundle content... done [helloworld] Starting app... ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase run -u [helloworld] Updating application code... @@ -253,8 +255,9 @@ Removing unneeded app bundle content... done [helloworld] Starting app... ``` -::: -:::::: + +/// + The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you @@ -266,6 +269,6 @@ We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application. But what about mobile? In -`Tutorial 5 `{.interpreted-text role="doc"}, we'll +[Tutorial 5][tutorial-5], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone. diff --git a/docs/en/tutorial/tutorial-5/android.md b/docs/en/tutorial/tutorial-5/android.md index 8d78ba4a..62ea5ba1 100644 --- a/docs/en/tutorial/tutorial-5/android.md +++ b/docs/en/tutorial/tutorial-5/android.md @@ -13,11 +13,9 @@ Android emulator, and a Java compiler. First, run the `create` command. This downloads an Android app template and adds your Python code to it. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase create android [helloworld] Generating application template... @@ -41,12 +39,12 @@ Removing unneeded app bundle content... done [helloworld] Created build/helloworld/android/gradle ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase create android [helloworld] Generating application template... @@ -70,12 +68,12 @@ Removing unneeded app bundle content... done [helloworld] Created build/helloworld/android/gradle ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase create android [helloworld] Generating application template... @@ -99,8 +97,9 @@ Removing unneeded app bundle content... done [helloworld] Created build\helloworld\android\gradle ``` -::: -:::::: + +/// + When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times @@ -119,11 +118,9 @@ code, and a support package containing the Python interpreter. We can then use Briefcase's `build` command to compile this into an Android APK app file. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase build android [helloworld] Updating app metadata... @@ -138,12 +135,12 @@ Building... done [helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase build android [helloworld] Updating app metadata... @@ -158,12 +155,12 @@ Building... done [helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase build android [helloworld] Updating app metadata... @@ -178,11 +175,11 @@ Building... done [helloworld] Built build\helloworld\android\gradle\app\build\outputs\apk\debug\app-debug.apk ``` -::: -:::::: -::: {.admonition} -Gradle may look stuck +/// + + +/// admonition | Gradle may look stuck During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing @@ -191,7 +188,9 @@ components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used. -::: + + +/// ## Run the app on a virtual device @@ -203,11 +202,9 @@ To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run android Select device: @@ -216,12 +213,12 @@ Select device: > ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run android Select device: @@ -230,12 +227,12 @@ Select device: > ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase run android Select device: @@ -244,8 +241,9 @@ Select device: > ``` -::: -:::::: + +/// + We can now choose our desired device. Select the "Create a new Android emulator" option, and accept the default choice for the device name @@ -255,8 +253,8 @@ Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:
- +
Android virtual device booting
@@ -264,8 +262,8 @@ Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:
- +
Android virtual device fully started, on the launcher screen
@@ -274,13 +272,12 @@ The app will then start. You'll see a splash screen while the app starts up:
- +
App splash screen
-::: {.admonition} -The emulator didn't start! +/// admonition | The emulator didn't start! The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not @@ -289,15 +286,17 @@ difficulties starting the Android emulator, consult the [Requirements and recommendations](https://developer.android.com/studio/run/emulator#requirements) section of the Android developer documentation. -::: + + +/// The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:
- +
Demo app fully launched
@@ -325,8 +324,8 @@ Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device: -> - Enable developer options -> - Enable USB debugging + - Enable developer options + - Enable USB debugging Details on how to make these changes can be found [in the Android developer @@ -335,11 +334,9 @@ documentation](https://developer.android.com/studio/debug/dev-options#enable). Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`. -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run android Select device: @@ -350,12 +347,12 @@ Select device: > ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run android Select device: @@ -366,12 +363,12 @@ Select device: > ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase run android Select device: @@ -382,8 +379,9 @@ Select device: > ``` -::: -:::::: + +/// + Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want @@ -392,8 +390,7 @@ phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting. -::: {.admonition} -My device doesn't appear! +/// admonition | My device doesn't appear! If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!). @@ -403,11 +400,13 @@ for development)", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options](https://developer.android.com/studio/debug/dev-options#enable), and re-run `briefcase run android`. -::: + + +/// ## Next steps We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to -`Tutorial 6 <../tutorial-6>`{.interpreted-text role="doc"} to find +[Tutorial 6][tutorial-6] to find out... diff --git a/docs/en/tutorial/tutorial-5/android.rst b/docs/en/tutorial/tutorial-5/android.rst index 99629273..ba829fad 100644 --- a/docs/en/tutorial/tutorial-5/android.rst +++ b/docs/en/tutorial/tutorial-5/android.rst @@ -237,7 +237,7 @@ emulator" option, and accept the default choice for the device name Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo: -.. figure:: ../images/android/tutorial-5-booting.png +.. figure:: /tutorial/images/android/tutorial-5-booting.png :align: center :width: 30% :alt: Android virtual device booting @@ -247,7 +247,7 @@ is booting, you will see the Android logo: Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen: -.. figure:: ../images/android/tutorial-5-running.png +.. figure:: /tutorial/images/android/tutorial-5-running.png :align: center :width: 30% :alt: Android virtual device fully started, on the launcher screen @@ -256,7 +256,7 @@ device. You will briefly see a launcher screen: The app will then start. You'll see a splash screen while the app starts up: -.. figure:: ../images/android/tutorial-5-splash.png +.. figure:: /tutorial/images/android/tutorial-5-splash.png :align: center :width: 30% :alt: App splash screen @@ -276,7 +276,7 @@ The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app: -.. figure:: ../images/android/tutorial-5-launched.png +.. figure:: /tutorial/images/android/tutorial-5-launched.png :align: center :width: 30% :alt: App from Tutorial 2, fully launched diff --git a/docs/en/tutorial/tutorial-5/iOS.md b/docs/en/tutorial/tutorial-5/iOS.md index 8ddb9fb0..2644a00d 100644 --- a/docs/en/tutorial/tutorial-5/iOS.md +++ b/docs/en/tutorial/tutorial-5/iOS.md @@ -18,7 +18,7 @@ process for deploying as a desktop application. First, you run the `create` command -but this time, we specify that we want to create an iOS application: -``` console +```console (beeware-venv) $ briefcase create iOS [helloworld] Generating application template... @@ -50,7 +50,7 @@ application code needed for the application. You can then use Briefcase to compile your app using `briefcase build iOS`: -``` console +```console (beeware-venv) $ briefcase build iOS [helloworld] Updating app metadata... @@ -71,7 +71,7 @@ may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick. -``` console +```console (beeware-venv) $ briefcase run iOS Select simulator device: @@ -117,7 +117,7 @@ This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application: -![Hello World Tutorial 5 window, on iOS](../images/iOS/tutorial-5.png) +![Hello World Tutorial 5 window, on iOS](/tutorial/images/iOS/tutorial-5.png) While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the @@ -129,7 +129,7 @@ can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run: -``` console +```console $ briefcase run iOS -d "iPhone SE (3rd generation)" ``` @@ -137,13 +137,13 @@ If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version: -``` console +```console $ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 15.5" ``` Or, you can name a specific device UDID: -``` console +```console $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E ``` @@ -151,5 +151,5 @@ $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to -`Tutorial 6 <../tutorial-6>`{.interpreted-text role="doc"} to find +[Tutorial 6][tutorial-6] to find out... diff --git a/docs/en/tutorial/tutorial-5/iOS.rst b/docs/en/tutorial/tutorial-5/iOS.rst index eb288f87..40f14f82 100644 --- a/docs/en/tutorial/tutorial-5/iOS.rst +++ b/docs/en/tutorial/tutorial-5/iOS.rst @@ -113,7 +113,7 @@ For our purposes, it doesn't matter which simulator you pick. This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application: -.. image:: ../images/iOS/tutorial-5.png +.. image:: /tutorial/images/iOS/tutorial-5.png :alt: Hello World Tutorial 5 window, on iOS While the app is running, you'll see a series of Simulator log output messages diff --git a/docs/en/tutorial/tutorial-5/index.md b/docs/en/tutorial/tutorial-5/index.md index e43c37f9..d6d0abee 100644 --- a/docs/en/tutorial/tutorial-5/index.md +++ b/docs/en/tutorial/tutorial-5/index.md @@ -1,4 +1,4 @@ -# Tutorial 5 - Taking it Mobile +# Tutorial 5 - Taking it Mobile { id="tutorial-5" } So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application @@ -19,7 +19,3 @@ Android Android applications can be compiled on macOS, Windows or Linux. ::: ::::: - -::: {.toctree maxdepth="1" hidden=""} -iOS android -::: diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md index 8c0077e9..bf32ef61 100644 --- a/docs/en/tutorial/tutorial-6.md +++ b/docs/en/tutorial/tutorial-6.md @@ -1,12 +1,11 @@ -# Tutorial 6 - Put it on the web! { #tutorial-6 } +# Tutorial 6 - Put it on the web! { id="tutorial-6" } In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app. -::: {.admonition} -Proof of Concept +/// admonition | Proof of Concept The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, @@ -17,7 +16,9 @@ enough to be relied on for serious development. If you have problems with this step of the tutorial, you can skip to the next page. -::: + + +/// ## Deploying as a web app @@ -29,11 +30,9 @@ hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command: -:::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run web [helloworld] Generating application template... @@ -68,12 +67,12 @@ Web server open on http://127.0.0.1:8080 [helloworld] Web server log output (type CTRL-C to stop log)... =========================================================================== ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run web [helloworld] Generating application template... @@ -108,12 +107,12 @@ Web server open on http://127.0.0.1:8080 [helloworld] Web server log output (type CTRL-C to stop log)... =========================================================================== ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase run web [helloworld] Generating application template... @@ -148,12 +147,13 @@ Web server open on http://127.0.0.1:8080 [helloworld] Web server log output (type CTRL-C to stop log)... =========================================================================== ``` -::: -:::::: + +/// + This will open a web browser, pointing at : -![Hello World Tutorial 6 dialog, in a browser](images/tutorial-6.png) +![Hello World Tutorial 6 dialog, in a browser](/tutorial/images/tutorial-6.png) If you enter your name and click the button, a dialog will appear. @@ -178,5 +178,5 @@ handling code in the browser. Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? -Turn to `Tutorial 7 `{.interpreted-text role="doc"} to find +Turn to [Tutorial 7][tutorial-7] to find out... diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index aa674139..c319e886 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -1,4 +1,4 @@ -# Tutorial 7 - Get this (third)-party started { #tutorial-7 } +# Tutorial 7 - Get this (third-)party started { id="tutorial-7" } So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to @@ -39,11 +39,9 @@ Then modify the `say_hello()` callback so it looks like this: Let's run our updated app in Briefcase developer mode to check that our change has worked. -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev Traceback (most recent call last): File ".../venv/bin/briefcase", line 5, in @@ -60,12 +58,12 @@ File ".../venv/lib/python3.13/site-packages/briefcase/commands/base.py", line 14 import faker ModuleNotFoundError: No module named 'faker' ``` -::: -::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase dev Traceback (most recent call last): File ".../venv/bin/briefcase", line 5, in @@ -82,12 +80,12 @@ File ".../venv/lib/python3.13/site-packages/briefcase/commands/base.py", line 14 import faker ModuleNotFoundError: No module named 'faker' ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase dev Traceback (most recent call last): File "...\venv\bin\briefcase", line 5, in @@ -104,32 +102,31 @@ File "...\venv\lib\python3.13\site-packages\briefcase\commands\base.py", line 14 import faker ModuleNotFoundError: No module named 'faker' ``` -::: -::: {.group-tab} -Android +/// + +/// tab | Android You can't run an Android app in developer mode - use the instructions for your chosen desktop platform. -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform. -::: -:::::::: + +/// +:: What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ python -m pip install faker (beeware-venv) $ briefcase dev ``` @@ -137,13 +134,15 @@ macOS When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 7 dialog, on macOS](images/macOS/tutorial-7.png){.align-center} -::: +
+ Hello World Tutorial 7 dialog, on macOS +
+ +/// -::: {.group-tab} -Linux +/// tab | Linux -``` console +```console (beeware-venv) $ python -m pip install faker (beeware-venv) $ briefcase dev ``` @@ -151,13 +150,15 @@ Linux When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 7 dialog, on Linux](images/linux/tutorial-7.png){.align-center} -::: +
+ Hello World Tutorial 7 dialog, on Linux +
-::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>python -m pip install faker (beeware-venv) C:\...>briefcase dev ``` @@ -165,23 +166,26 @@ Windows When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 7 dialog, on Windows](images/windows/tutorial-7.png){.align-center} -::: +
+ Hello World Tutorial 7 dialog, on Windows +
+ +/// -::: {.group-tab} -Android +/// tab | Android You can't run an Android app in developer mode - use the instructions for your chosen desktop platform. -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform. -::: -:::::::: + +/// +:: We've now got a working app, using a third party library, running in development mode! @@ -190,15 +194,13 @@ development mode! Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in -`Tutorial 4 `{.interpreted-text role="doc"}: +[Tutorial 4][tutorial-4]: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS Update the code in the packaged app: -``` console +```console (beeware-venv) $ briefcase update [helloworld] Updating application code... @@ -209,7 +211,7 @@ Update the code in the packaged app: Rebuild the app: -``` console +```console (beeware-venv) $ briefcase build [helloworld] Adhoc signing app... @@ -218,7 +220,7 @@ Rebuild the app: And finally, run the app: -``` console +```console (beeware-venv) $ briefcase run [helloworld] Starting app... @@ -228,15 +230,18 @@ And finally, run the app: However, when the app runs, you'll see an error in the console, plus a crash dialog: -![Hello World Tutorial 7 app crash, on macOS](images/macOS/tutorial-7-crash.png){.align-center} -::: +
+ Hello World Tutorial 7 app crash, on macOS +
+ -::: {.group-tab} -Linux +/// + +/// tab | Linux Update the code in the packaged app: -``` console +```console (beeware-venv) $ briefcase update [helloworld] Updating application code... @@ -247,7 +252,7 @@ Update the code in the packaged app: Rebuild the app: -``` console +```console (beeware-venv) $ briefcase build [helloworld] Finalizing application configuration... @@ -261,7 +266,7 @@ Rebuild the app: And finally, run the app: -``` console +```console (beeware-venv) $ briefcase run [helloworld] Starting app... @@ -270,7 +275,7 @@ And finally, run the app: However, when the app runs, you'll see an error in the console: -``` console +```console Traceback (most recent call last): File "/usr/lib/python3.13/runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, @@ -284,14 +289,14 @@ ModuleNotFoundError: No module named 'faker' Unable to start app helloworld. ``` -::: -::: {.group-tab} -Windows +/// + +/// tab | Windows Update the code in the packaged app: -``` doscon +```doscon (beeware-venv) C:\...>briefcase update [helloworld] Updating application code... @@ -302,7 +307,7 @@ Update the code in the packaged app: Rebuild the app: -``` doscon +```doscon (beeware-venv) C:\...>briefcase build ... @@ -311,7 +316,7 @@ Rebuild the app: And finally, run the app: -``` doscon +```doscon (beeware-venv) C:\...>briefcase run [helloworld] Starting app... @@ -321,15 +326,17 @@ And finally, run the app: However, when the app runs, you'll see an error in the console, plus a crash dialog: -![Hello World Tutorial 7 app crash, on Windows](images/windows/tutorial-7-crash.png){.align-center} -::: +
+ Hello World Tutorial 7 app crash, on Windows +
+ +/// -::: {.group-tab} -Android +/// tab | Android Update the code in the packaged app: -``` console +```console (beeware-venv) $ briefcase update android [helloworld] Updating application code... @@ -340,7 +347,7 @@ Update the code in the packaged app: Rebuild the app: -``` console +```console (beeware-venv) $ briefcase build android [helloworld] Updating app metadata... @@ -350,7 +357,7 @@ Rebuild the app: And finally, run the app (selecting a simulator when prompted): -``` console +```console (beeware-venv) $ briefcase run android [helloworld] Following device log output (type CTRL-C to stop log)... @@ -359,7 +366,7 @@ And finally, run the app (selecting a simulator when prompted): However, when the app runs, you'll see an error in the console: -``` console +```console --------- beginning of crash E/AndroidRuntime: FATAL EXCEPTION: main E/AndroidRuntime: Process: com.example.helloworld, PID: 8289 @@ -397,14 +404,14 @@ E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(Activity E/AndroidRuntime: ... 12 more I/Process : Sending signal. PID: 8289 SIG: 9 ``` -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS Update the code in the packaged app: -``` console +```console (beeware-venv) $ briefcase update iOS [helloworld] Updating application code... @@ -415,7 +422,7 @@ Update the code in the packaged app: Rebuild the app: -``` console +```console (beeware-venv) $ briefcase build iOS [helloworld] Updating app metadata... @@ -425,7 +432,7 @@ Rebuild the app: And finally, run the app (selecting a simulator when prompted): -``` console +```console (beeware-venv) $ briefcase run iOS ... @@ -435,7 +442,7 @@ And finally, run the app (selecting a simulator when prompted): However, when the app runs, you'll see an error in the console -``` console +```console Application has crashed! ======================== Traceback (most recent call last): @@ -445,8 +452,9 @@ Traceback (most recent call last): import faker ModuleNotFoundError: No module named 'faker' ``` -::: -:::::::: + +/// +:: Once again, the app has failed to start because `faker` has not been installed -but why? Haven't we already installed `faker`? @@ -530,11 +538,9 @@ try packaging our app again. Ensure that you've saved your changes to the `-r` flag. This tells Briefcase to update requirements in the packaged app: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase update -r [helloworld] Updating application code... @@ -552,12 +558,12 @@ Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslo [helloworld] Application updated. ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase update -r [helloworld] Finalizing application configuration... @@ -581,12 +587,12 @@ Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslo [helloworld] Application updated. ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase update -r [helloworld] Updating application code... @@ -604,12 +610,12 @@ Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslo [helloworld] Application updated. ``` -::: -::: {.group-tab} -Android +/// + +/// tab | Android -``` console +```console (beeware-venv) $ briefcase update android -r [helloworld] Updating application code... @@ -623,12 +629,12 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS -``` console +```console (beeware-venv) $ briefcase update iOS -r [helloworld] Updating application code... @@ -647,21 +653,20 @@ Removing unneeded app bundle content... done [helloworld] Application updated. ``` -::: -:::::::: + +/// +:: Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior. -:::: {.note} -::: {.title} -Note -::: +/// note | Note The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`. -:::: + +/// ## Third-Party Python Packages for Mobile and Web @@ -714,6 +719,5 @@ tutorial like this one. ## Next steps -We've now got an app that uses a third-party library! In `Tutorial 8 -`{.interpreted-text role="doc"} we'll learn how to ensure +We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic. diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index 10bd0fb7..60dfb85c 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -1,4 +1,4 @@ -# Tutorial 8 - Making it Smooooth { #tutorial-8 } +# Tutorial 8 - Making it Smooooth { id="tutorial-8" } So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in @@ -49,30 +49,36 @@ install it separately to use it here. Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement: - requires = [ - "faker", - "httpx", - ] +```python +requires = [ + "faker", + "httpx", +] +``` Add an import to the top of the `app.py` to import `httpx`: - import httpx +```python +import httpx +``` Then modify the `say_hello()` callback so it looks like this: - async def say_hello(self, widget): - fake = faker.Faker() - with httpx.Client() as client: - response = client.get("https://jsonplaceholder.typicode.com/posts/42") +```python +async def say_hello(self, widget): + fake = faker.Faker() + with httpx.Client() as client: + response = client.get("https://jsonplaceholder.typicode.com/posts/42") - payload = response.json() + payload = response.json() - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - f"A message from {fake.name()}: {payload['body']}", - ) + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + f"A message from {fake.name()}: {payload['body']}", ) + ) +``` This will change the `say_hello()` callback so that when it is invoked, it will: @@ -87,11 +93,9 @@ Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase dev -r [helloworld] Installing requirements... @@ -103,13 +107,15 @@ macOS When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 8 dialog, on macOS](images/macOS/tutorial-8.png){.align-center} -::: +
+ Hello World Tutorial 8 dialog, on macOS +
-::: {.group-tab} -Linux +/// -``` console +/// tab | Linux + +```console (beeware-venv) $ briefcase dev -r [helloworld] Installing requirements... @@ -121,13 +127,15 @@ Linux When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 8 dialog, on Linux](images/linux/tutorial-8.png){.align-center} -::: +
+ Hello World Tutorial 8 dialog, on Linux +
+ +/// -::: {.group-tab} -Windows +/// tab | Windows -``` doscon +```doscon (beeware-venv) C:\...>briefcase dev -r [helloworld] Installing requirements... @@ -139,23 +147,26 @@ Windows When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 8 dialog, on Windows](images/windows/tutorial-8.png){.align-center} -::: +
+ Hello World Tutorial 8 dialog, on Windows +
+ +/// -::: {.group-tab} -Android +/// tab | Android You can't run an Android app in developer mode - use the instructions for your chosen desktop platform. -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform. -::: -:::::::: + +/// +:: Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a @@ -309,47 +320,46 @@ requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app: -:::::::: {.tabs} -::: {.group-tab} -macOS +/// tab | macOS -``` console +```console (beeware-venv) $ briefcase run -r ``` -::: -::: {.group-tab} -Linux +/// + +/// tab | Linux -``` console +```console (beeware-venv) $ briefcase run -r ``` -::: -::: {.group-tab} -Windows +/// -``` doscon +/// tab | Windows + +```doscon (beeware-venv) C:\...>briefcase run -r ``` -::: -::: {.group-tab} -Android +/// + +/// tab | Android -``` console +```console (beeware-venv) $ briefcase run android -r ``` -::: -::: {.group-tab} -iOS +/// + +/// tab | iOS -``` console +```console (beeware-venv) $ briefcase run iOS -r ``` -::: -:::::::: + +/// + You should see you app running, and remaining responsive when you press the button and network content is retrieved. @@ -371,8 +381,7 @@ BeeWare project. Over the course of this tutorial, you have: So - where to from here? - If you'd like to go further, there are some additional - `topic tutorials -
`{.interpreted-text role="doc"} that go into + [topic tutorials][topics] that go into detail on specific aspects of application development. - If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's diff --git a/docs/mkdocs.en.yml b/docs/mkdocs.en.yml index 2ffdc93e..09dd3804 100644 --- a/docs/mkdocs.en.yml +++ b/docs/mkdocs.en.yml @@ -2,3 +2,6 @@ INHERIT: config.yml site_name: BeeWare Tutorial site_url: https://tutorial.beeware.org/ docs_dir: en + +extra: + original_translation: true diff --git a/docs/mkdocs.fr.yml b/docs/mkdocs.fr.yml index 19b43943..83ba9739 100644 --- a/docs/mkdocs.fr.yml +++ b/docs/mkdocs.fr.yml @@ -5,3 +5,7 @@ docs_dir: fr theme: language: fr + +extra: + human_translation: true + machine_translation: false diff --git a/docs/spelling_wordlist.txt b/docs/spelling_wordlist similarity index 97% rename from docs/spelling_wordlist.txt rename to docs/spelling_wordlist index 4b074143..888cae10 100644 --- a/docs/spelling_wordlist.txt +++ b/docs/spelling_wordlist @@ -17,6 +17,7 @@ linters linter macOS miniconda +portugues pre Pre px diff --git a/pyproject.toml b/pyproject.toml index 7f115ee9..2163b9fd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -77,6 +77,7 @@ skip = ".git,*.pdf,*.svg" # The way to make case-sensitive skips of words, etc. ignore-regex = "\bNd\b" ignore-words-list = "re-use" +ignore-words = "docs/spelling_wordlist" [tool.isort] profile = "black" From 65d4098084d5684cc6b1163a30bc18914283ac83 Mon Sep 17 00:00:00 2001 From: Kattni Date: Mon, 11 Aug 2025 20:50:44 -0400 Subject: [PATCH 05/24] Updating PO files --- docs/config.yml | 2 +- docs/en/tutorial/topics/camera-access.md | 12 +- docs/en/tutorial/topics/custom-icons.md | 9 +- docs/en/tutorial/tutorial-7.md | 8 +- docs/en/tutorial/tutorial-8.md | 32 +- locales/de/LC_MESSAGES/how-to/index.po | 1 + locales/de/LC_MESSAGES/index.po | 1 + .../tutorial/topics/camera-access.po | 1 + .../tutorial/topics/custom-icons.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-3.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 1 + .../tutorial/tutorial-5/android.po | 1 + .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 1 + locales/de/LC_MESSAGES/tutorial/tutorial-8.po | 1 + locales/es/LC_MESSAGES/how-to/index.po | 1 + locales/es/LC_MESSAGES/index.po | 1 + .../tutorial/topics/camera-access.po | 1 + .../tutorial/topics/custom-icons.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-3.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 1 + .../tutorial/tutorial-5/android.po | 1 + .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 + .../LC_MESSAGES/tutorial/tutorial-5/index.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 1 + locales/es/LC_MESSAGES/tutorial/tutorial-8.po | 1 + locales/fr/LC_MESSAGES/how-to/index.po | 1 + locales/fr/LC_MESSAGES/index.po | 1 + .../tutorial/topics/camera-access.po | 1 + locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 1 + locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 1 + locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 1 + locales/fr/LC_MESSAGES/tutorial/tutorial-3.po | 1 + locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 1 + .../tutorial/tutorial-5/android.po | 1 + .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 + locales/it/LC_MESSAGES/how-to/index.po | 1 + locales/it/LC_MESSAGES/index.po | 1 + .../tutorial/topics/camera-access.po | 1 + .../tutorial/topics/custom-icons.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-3.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 1 + .../tutorial/tutorial-5/android.po | 1 + .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 + .../LC_MESSAGES/tutorial/tutorial-5/index.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 1 + locales/it/LC_MESSAGES/tutorial/tutorial-8.po | 1 + locales/pt/LC_MESSAGES/how-to/index.po | 1 + locales/pt/LC_MESSAGES/index.po | 1 + .../tutorial/topics/camera-access.po | 1 + .../tutorial/topics/custom-icons.po | 1 + .../pt/LC_MESSAGES/tutorial/topics/index.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-3.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 1 + .../tutorial/tutorial-5/android.po | 1 + .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 + .../LC_MESSAGES/tutorial/tutorial-5/index.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 1 + locales/pt/LC_MESSAGES/tutorial/tutorial-8.po | 1 + locales/zh_CN/LC_MESSAGES/how-to/index.po | 1 + locales/zh_CN/LC_MESSAGES/index.po | 1 + .../zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 1 + .../zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 1 + locales/zh_TW/LC_MESSAGES/how-to/index.po | 1 + locales/zh_TW/LC_MESSAGES/index.po | 1 + .../tutorial/topics/camera-access.po | 1 + .../tutorial/topics/custom-icons.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 1 + .../tutorial/tutorial-5/android.po | 1 + .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 1 + .../LC_MESSAGES/tutorial/tutorial-5/index.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 1 + .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 1 + tox.ini | 2 +- .../de/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/de/LC_MESSAGES/index.po | 101 +++++ .../tutorial/topics/camera-access.po | 131 ++++++ .../tutorial/topics/custom-icons.po | 142 +++++++ .../de/LC_MESSAGES/tutorial/topics/index.po | 64 +++ .../de/LC_MESSAGES/tutorial/topics/testing.po | 147 +++++++ .../de/LC_MESSAGES/tutorial/tutorial-0.po | 233 +++++++++++ .../de/LC_MESSAGES/tutorial/tutorial-1.po | 192 +++++++++ .../de/LC_MESSAGES/tutorial/tutorial-2.po | 288 +++++++++++++ .../de/LC_MESSAGES/tutorial/tutorial-3.po | 313 ++++++++++++++ .../de/LC_MESSAGES/tutorial/tutorial-4.po | 171 ++++++++ .../tutorial/tutorial-5/android.po | 214 ++++++++++ .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 83 ++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 50 +++ .../de/LC_MESSAGES/tutorial/tutorial-6.po | 101 +++++ .../de/LC_MESSAGES/tutorial/tutorial-7.po | 375 +++++++++++++++++ .../de/LC_MESSAGES/tutorial/tutorial-8.po | 371 +++++++++++++++++ .../es/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/es/LC_MESSAGES/index.po | 101 +++++ .../tutorial/topics/camera-access.po | 131 ++++++ .../tutorial/topics/custom-icons.po | 143 +++++++ .../es/LC_MESSAGES/tutorial/topics/index.po | 63 +++ .../es/LC_MESSAGES/tutorial/topics/testing.po | 140 +++++++ .../es/LC_MESSAGES/tutorial/tutorial-0.po | 233 +++++++++++ .../es/LC_MESSAGES/tutorial/tutorial-1.po | 209 ++++++++++ .../es/LC_MESSAGES/tutorial/tutorial-2.po | 291 +++++++++++++ .../es/LC_MESSAGES/tutorial/tutorial-3.po | 313 ++++++++++++++ .../es/LC_MESSAGES/tutorial/tutorial-4.po | 172 ++++++++ .../tutorial/tutorial-5/android.po | 214 ++++++++++ .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 81 ++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 46 +++ .../es/LC_MESSAGES/tutorial/tutorial-6.po | 102 +++++ .../es/LC_MESSAGES/tutorial/tutorial-7.po | 374 +++++++++++++++++ .../es/LC_MESSAGES/tutorial/tutorial-8.po | 368 +++++++++++++++++ .../fr/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/fr/LC_MESSAGES/index.po | 101 +++++ .../tutorial/topics/camera-access.po | 138 +++++++ .../tutorial/topics/custom-icons.po | 144 +++++++ .../fr/LC_MESSAGES/tutorial/topics/index.po | 52 +++ .../fr/LC_MESSAGES/tutorial/topics/testing.po | 147 +++++++ .../fr/LC_MESSAGES/tutorial/tutorial-0.po | 235 +++++++++++ .../fr/LC_MESSAGES/tutorial/tutorial-1.po | 191 +++++++++ .../fr/LC_MESSAGES/tutorial/tutorial-2.po | 262 ++++++++++++ .../fr/LC_MESSAGES/tutorial/tutorial-3.po | 313 ++++++++++++++ .../fr/LC_MESSAGES/tutorial/tutorial-4.po | 172 ++++++++ .../tutorial/tutorial-5/android.po | 252 ++++++++++++ .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 94 +++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 46 +++ .../fr/LC_MESSAGES/tutorial/tutorial-6.po | 102 +++++ .../fr/LC_MESSAGES/tutorial/tutorial-7.po | 374 +++++++++++++++++ .../fr/LC_MESSAGES/tutorial/tutorial-8.po | 371 +++++++++++++++++ .../it/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/it/LC_MESSAGES/index.po | 122 ++++++ .../tutorial/topics/camera-access.po | 138 +++++++ .../tutorial/topics/custom-icons.po | 149 +++++++ .../it/LC_MESSAGES/tutorial/topics/index.po | 64 +++ .../it/LC_MESSAGES/tutorial/topics/testing.po | 152 +++++++ .../it/LC_MESSAGES/tutorial/tutorial-0.po | 266 ++++++++++++ .../it/LC_MESSAGES/tutorial/tutorial-1.po | 221 ++++++++++ .../it/LC_MESSAGES/tutorial/tutorial-2.po | 301 ++++++++++++++ .../it/LC_MESSAGES/tutorial/tutorial-3.po | 318 +++++++++++++++ .../it/LC_MESSAGES/tutorial/tutorial-4.po | 177 ++++++++ .../tutorial/tutorial-5/android.po | 257 ++++++++++++ .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 99 +++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 55 +++ .../it/LC_MESSAGES/tutorial/tutorial-6.po | 106 +++++ .../it/LC_MESSAGES/tutorial/tutorial-7.po | 380 +++++++++++++++++ .../it/LC_MESSAGES/tutorial/tutorial-8.po | 376 +++++++++++++++++ .../pt/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/pt/LC_MESSAGES/index.po | 106 +++++ .../tutorial/topics/camera-access.po | 138 +++++++ .../tutorial/topics/custom-icons.po | 148 +++++++ .../pt/LC_MESSAGES/tutorial/topics/index.po | 68 +++ .../pt/LC_MESSAGES/tutorial/topics/testing.po | 151 +++++++ .../pt/LC_MESSAGES/tutorial/tutorial-0.po | 239 +++++++++++ .../pt/LC_MESSAGES/tutorial/tutorial-1.po | 194 +++++++++ .../pt/LC_MESSAGES/tutorial/tutorial-2.po | 266 ++++++++++++ .../pt/LC_MESSAGES/tutorial/tutorial-3.po | 292 +++++++++++++ .../pt/LC_MESSAGES/tutorial/tutorial-4.po | 175 ++++++++ .../tutorial/tutorial-5/android.po | 255 ++++++++++++ .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 97 +++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 50 +++ .../pt/LC_MESSAGES/tutorial/tutorial-6.po | 108 +++++ .../pt/LC_MESSAGES/tutorial/tutorial-7.po | 378 +++++++++++++++++ .../pt/LC_MESSAGES/tutorial/tutorial-8.po | 374 +++++++++++++++++ .../zh_CN/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/zh_CN/LC_MESSAGES/index.po | 98 +++++ .../tutorial/topics/camera-access.po | 140 +++++++ .../tutorial/topics/custom-icons.po | 155 +++++++ .../LC_MESSAGES/tutorial/topics/index.po | 54 +++ .../LC_MESSAGES/tutorial/topics/testing.po | 176 ++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 237 +++++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 217 ++++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 147 +++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 276 +++++++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 264 ++++++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 186 +++++++++ .../tutorial/tutorial-5/android.po | 243 +++++++++++ .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 87 ++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 47 +++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 113 +++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 369 +++++++++++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 386 ++++++++++++++++++ .../zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 165 ++++++++ .../zh_TW/LC_MESSAGES/how-to/index.po | 327 +++++++++++++++ updated-locales/zh_TW/LC_MESSAGES/index.po | 105 +++++ .../tutorial/topics/camera-access.po | 138 +++++++ .../tutorial/topics/custom-icons.po | 147 +++++++ .../LC_MESSAGES/tutorial/topics/index.po | 52 +++ .../LC_MESSAGES/tutorial/topics/testing.po | 148 +++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 239 +++++++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 194 +++++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 297 ++++++++++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 317 ++++++++++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 176 ++++++++ .../tutorial/tutorial-5/android.po | 256 ++++++++++++ .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 99 +++++ .../LC_MESSAGES/tutorial/tutorial-5/index.po | 55 +++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 116 ++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 379 +++++++++++++++++ .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 355 ++++++++++++++++ 211 files changed, 24013 insertions(+), 29 deletions(-) create mode 100644 updated-locales/de/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/de/LC_MESSAGES/index.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po create mode 100644 updated-locales/es/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/es/LC_MESSAGES/index.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po create mode 100644 updated-locales/fr/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/fr/LC_MESSAGES/index.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po create mode 100644 updated-locales/it/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/it/LC_MESSAGES/index.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po create mode 100644 updated-locales/pt/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/pt/LC_MESSAGES/index.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/index.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po create mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/how-to/index.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/index.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po create mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/docs/config.yml b/docs/config.yml index 65cb2f2a..0f162b90 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -15,7 +15,7 @@ theme: features: - content.tabs.link - toc.follow - - content.code.copy + - content.code.copy # Ask about fixing this - navigation.indexes - navigation.expand palette: diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index dd2ebae8..cb627a78 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -157,19 +157,23 @@ presented. We can now generate and run the app: -/// tab | macOS .. code-block:: console +/// tab | macOS +```console (beeware-venv)\$ briefcase create (beeware-venv)\$ briefcase build (beeware-venv)\$ briefcase run +``` /// -/// tab | Android .. code-block:: console +/// tab | Android +```console (beeware-venv)\$ briefcase create android (beeware-venv)\$ briefcase build android (beeware-venv)\$ briefcase run android -::: -::::: +``` + +/// When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index 65f936c5..1663af4a 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -162,7 +162,6 @@ Removing unneeded app bundle content... done ``` /// -:: This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the @@ -290,10 +289,10 @@ Setting stub app details... done [helloworld] Starting app... ``` -::: -::::: {.group-tab} -Android +/// + +/// tab | Android ```console (beeware-venv) $ briefcase build android --update-resources @@ -487,7 +486,7 @@ Application 'helloworld' already exists; overwrite [y/N]? y ``` /// -:: + You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index c319e886..f2f8fa5c 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -118,7 +118,7 @@ You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform. /// -:: + What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing @@ -185,7 +185,7 @@ You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform. /// -:: + We've now got a working app, using a third party library, running in development mode! @@ -454,7 +454,7 @@ ModuleNotFoundError: No module named 'faker' ``` /// -:: + Once again, the app has failed to start because `faker` has not been installed -but why? Haven't we already installed `faker`? @@ -655,7 +655,7 @@ Removing unneeded app bundle content... done ``` /// -:: + Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior. diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index 60dfb85c..10ac3b52 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -166,7 +166,7 @@ You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform. /// -:: + Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a @@ -188,9 +188,11 @@ environment you're using. A GUI app is, fundamentally, a single loop that looks something like: - while not app.quit_requested(): - app.process_events() - app.redraw() +```python +while not app.quit_requested(): + app.process_events() + app.redraw() +``` This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using "pseudo-code"). @@ -262,19 +264,21 @@ coding. To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this: - async def say_hello(self, widget): - fake = faker.Faker() - async with httpx.AsyncClient() as client: - response = await client.get("https://jsonplaceholder.typicode.com/posts/42") +```python +async def say_hello(self, widget): + fake = faker.Faker() + async with httpx.AsyncClient() as client: + response = await client.get("https://jsonplaceholder.typicode.com/posts/42") - payload = response.json() + payload = response.json() - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - f"A message from {fake.name()}: {payload['body']}", - ) + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + f"A message from {fake.name()}: {payload['body']}", ) + ) +``` There are only three changes to this callback from the previous version: diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po index 876c0587..fb545a41 100644 --- a/locales/de/LC_MESSAGES/how-to/index.po +++ b/locales/de/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po index 42ac4ae1..2346e210 100644 --- a/locales/de/LC_MESSAGES/index.po +++ b/locales/de/LC_MESSAGES/index.po @@ -98,3 +98,4 @@ msgstr "Los geht's!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? :doc:`Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen! `" + diff --git a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po index db6e4c67..5ae3dd14 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po @@ -128,3 +128,4 @@ msgstr "Weitere Berechtigungen hinzufügen" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von ``briefcase create`` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie ``briefcase create`` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." + diff --git a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po index 2bff3eae..892ea09c 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -139,3 +139,4 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po index ba9b7993..2afc8638 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -230,3 +230,4 @@ msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, :doc:`uns #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von `der Python-Website `_ herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po index 809755a1..f3f9f476 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -189,3 +189,4 @@ msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus l #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Eines der BeeWare-Tools ist **Briefcase**. Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - es kann aber auch zur Erstellung eines neuen Projekts verwendet werden." + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index 0fd9a6cd..84cd1a6a 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -285,3 +285,4 @@ msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber si #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po index d777ee2a..39583df3 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po @@ -310,3 +310,4 @@ msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattform #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po index 027dc283..7b1ed0ae 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -168,3 +168,4 @@ msgstr "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattfo #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Aber was ist mit mobilen Geräten? In :doc:`Tutorial 5 ` werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po index b7f58d55..47da3151 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -211,3 +211,4 @@ msgstr "Nächste Schritte" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich :doc:`Tutorial 6 <../tutorial-6>` an, um das herauszufinden..." + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 74478796..2f9dad67 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -80,3 +80,4 @@ msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen a #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po index eb827bb6..c6fa4355 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -372,3 +372,4 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir :doc:`Tutorial 8 ` an, um das herauszufinden..." + diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po index a05f8f8f..6313c0e6 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -368,3 +368,4 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" + diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po index dcc93ecd..80001c2b 100644 --- a/locales/es/LC_MESSAGES/how-to/index.po +++ b/locales/es/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po index 7069ecc5..5a14617c 100644 --- a/locales/es/LC_MESSAGES/index.po +++ b/locales/es/LC_MESSAGES/index.po @@ -98,3 +98,4 @@ msgstr "¡Vamos!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "¿Listo para probar BeeWare por ti mismo? :doc:`¡Construyamos una aplicación multiplataforma en Python! `" + diff --git a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po index becfe16b..627f7ab7 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po @@ -128,3 +128,4 @@ msgstr "Agregar más permisos" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a ``briefcase create``. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar ``briefcase create``; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." + diff --git a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po index 7a1aa994..fb4a7e63 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -140,3 +140,4 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po index 746eca7b..af4feb60 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po @@ -230,3 +230,4 @@ msgstr "Ya hemos configurado nuestro entorno. Estamos listos para :doc:`crear nu #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde `La página web de Python `_. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po index 64faab85..28c1a75c 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po @@ -206,3 +206,4 @@ msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarr #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Una de las herramientas de BeeWare es **Briefcase**. Briefcase se puede utilizar para empaquetar su aplicación para su distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto." + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po index b2d8bff5..19e25b9e 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -288,3 +288,4 @@ msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pe #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po index 2a30720d..a5351795 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po @@ -310,3 +310,4 @@ msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plat #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po index cf564a77..77319775 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po @@ -169,3 +169,4 @@ msgstr "Ahora tenemos nuestra aplicación empaquetada para su distribución en p #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Pero, ¿qué pasa con los móviles? En :doc:`Tutorial 5 `, convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po index 3d6f3c5e..ab7d2910 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -211,3 +211,4 @@ msgstr "Siguientes pasos" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita :doc:`Tutorial 6 <../tutorial-6>` para averiguarlo..." + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po index d7c578ce..7f114b4e 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -78,3 +78,4 @@ msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lug #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." #~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en `la App Store de macOS `__." + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po index 99e60d3f..96a6a235 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -43,3 +43,4 @@ msgstr "Las aplicaciones Android pueden compilarse en macOS, Windows o Linux." #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`¡Creemos nuestra aplicación para Android! `" + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po index 3e4804dd..ee62315f 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po @@ -371,3 +371,4 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita :doc:`Tutorial 8 ` para averiguarlo..." + diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po index 853f2200..2af6b407 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po @@ -365,3 +365,4 @@ msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" + diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po index 20056857..782ddae5 100644 --- a/locales/fr/LC_MESSAGES/how-to/index.po +++ b/locales/fr/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index 856105c3..da3973b0 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -98,3 +98,4 @@ msgstr "C'est parti !" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Prêt à essayer BeeWare par vous-même ? :doc:`Créons une application multiplateforme en Python ! `" + diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po index 5d9dbac7..1cee1dc4 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,3 +135,4 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po index b65a0a29..5fa9ca83 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po @@ -232,3 +232,4 @@ msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prê #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du `site web de Python `_. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po index 5848aabf..d6cdaa00 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po @@ -188,3 +188,4 @@ msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mod #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "L'un des outils de BeeWare est **Briefcase**. Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux, mais il peut également être utilisé pour démarrer un nouveau projet." + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po index 225b62d1..d1f689df 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -259,3 +259,4 @@ msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu pl #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po index 03cebb32..eddfbf86 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po @@ -310,3 +310,4 @@ msgstr "Notre application est désormais prête à être distribuée sur les pla #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po index 1b5e5528..955038c9 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po @@ -169,3 +169,4 @@ msgstr "Notre application est désormais prête à être distribuée sur les pla #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Mais qu'en est-il de l'application mobile ? Dans :doc:`Tutoriel 5 `, nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po index a3a6da40..08c945d0 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -249,3 +249,4 @@ msgstr "Étapes suivantes" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez :doc:`Tutoriel 6 <../tutorial-6>` pour le savoir..." + diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po index d0289ef3..534feec5 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -91,3 +91,4 @@ msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il u #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" + diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po index 82997b18..1a029932 100644 --- a/locales/it/LC_MESSAGES/how-to/index.po +++ b/locales/it/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po index 0f466f26..c345f04a 100644 --- a/locales/it/LC_MESSAGES/index.po +++ b/locales/it/LC_MESSAGES/index.po @@ -119,3 +119,4 @@ msgstr "Andiamo!" #, fuzzy msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Siete pronti a provare BeeWare? :doc:`Costruiamo un'applicazione multipiattaforma in Python! `" + diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po index 860548c4..3ce9e387 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,3 +135,4 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" + diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po index 7b373332..a0c8f567 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -146,3 +146,4 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po index cfab3a93..18aecb50 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po @@ -263,3 +263,4 @@ msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a :doc:`creare #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale dal sito web di Python `_. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index 6826d2a5..d4a2bc62 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -218,3 +218,4 @@ msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppat #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Uno degli strumenti di BeeWare è **Briefcase**. Briefcase può essere utilizzato per confezionare l'applicazione da distribuire agli utenti finali, ma anche per avviare un nuovo progetto." + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index da357048..de2caf22 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -298,3 +298,4 @@ msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma fun #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po index 1655a50f..e06de15c 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -315,3 +315,4 @@ msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index ffb5912e..703ea728 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -174,3 +174,4 @@ msgstr "Ora abbiamo la nostra applicazione confezionata per la distribuzione su #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Ma che dire della telefonia mobile? In :doc:`Tutorial 5 `, convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po index d26d76b9..bca1044a 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -254,3 +254,4 @@ msgstr "Prossimi passi" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate :doc:`Tutorial 6 <../tutorial-6>` per scoprirlo..." + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 22bc6392..b8c915e0 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -96,3 +96,4 @@ msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dov #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po index 9456fa47..ba2fdf59 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -52,3 +52,4 @@ msgstr "Le applicazioni Android possono essere compilate su macOS, Windows o Lin #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`Costruiamo la nostra applicazione per Android! `" + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index 4833e634..7a03dbcb 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -377,3 +377,4 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate :doc:`Tutorial 8 ` per scoprirlo..." + diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po index 88ee5b72..193360ed 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -373,3 +373,4 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po index 791630ed..97d337fa 100644 --- a/locales/pt/LC_MESSAGES/how-to/index.po +++ b/locales/pt/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po index c02ce82f..3b58c683 100644 --- a/locales/pt/LC_MESSAGES/index.po +++ b/locales/pt/LC_MESSAGES/index.po @@ -103,3 +103,4 @@ msgstr "Vamos lá!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "Pronto para experimentar o BeeWare por conta própria? :doc:`Vamos construir um aplicativo multiplataforma em Python! `" + diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po index b921a507..77319f52 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,3 +135,4 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po index c493ad3a..cfcd55cf 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -145,3 +145,4 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/index.po b/locales/pt/LC_MESSAGES/tutorial/topics/index.po index 3b00187b..06d82d63 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/index.po @@ -65,3 +65,4 @@ msgstr "" #~ msgid "Custom icons" #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po index a498acea..26b5d80f 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po @@ -236,3 +236,4 @@ msgstr "Agora que configuramos nosso ambiente, estamos prontos para :doc:`criar #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial `no site do Python `_. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po index 7e00c01c..3c35d87d 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po @@ -191,3 +191,4 @@ msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolve #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Uma das ferramentas do BeeWare é o Briefcase. O Briefcase pode ser usado para empacotar sua aplicação para distribuição aos usuários finais - mas ele também pode ser usado para iniciar um novo projeto." + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po index d8bf4442..b692dea1 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -263,3 +263,4 @@ msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela som #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po index dd024ced..f93d3a74 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po @@ -289,3 +289,4 @@ msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataform #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po index 45ec2ad4..5a70753c 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po @@ -172,3 +172,4 @@ msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataform #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "Mas e quanto ao celular? No :doc:`Tutorial 5 `, converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po index 5ef7cdb7..67568eed 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -252,3 +252,4 @@ msgstr "Próximos passos" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte :doc:`Tutorial 6 <../tutorial-6>` para descobrir..." + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 1f9f241d..44ed426c 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -94,3 +94,4 @@ msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po index 66f3af75..373c8296 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -47,3 +47,4 @@ msgstr "Os aplicativos Android podem ser compilados no macOS, Windows ou Linux." #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`Vamos criar nosso aplicativo para Android! `" + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po index 2fd71bb5..79936de5 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po @@ -375,3 +375,4 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o :doc:`Tutorial 8 ` para descobrir..." + diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po index ca413524..384590c7 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po @@ -371,3 +371,4 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" + diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po index c08c5fbc..888b88d9 100644 --- a/locales/zh_CN/LC_MESSAGES/how-to/index.po +++ b/locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po index 21e53853..111dae7d 100644 --- a/locales/zh_CN/LC_MESSAGES/index.po +++ b/locales/zh_CN/LC_MESSAGES/index.po @@ -95,3 +95,4 @@ msgstr "让我们开始吧!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "准备好亲身体验 BeeWare 了吗?:doc:`让我们用 Python 构建一个跨平台应用程序! `" + diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po index 5804648a..02406e9c 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po @@ -144,3 +144,4 @@ msgstr "" #~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." #~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." + diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po index 31937087..04e3d1e0 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po @@ -162,3 +162,4 @@ msgstr "" #~ msgid "Details on the `options available when configuring your Briefcase project `__." #~ msgstr "配置您的 Briefcase 项目 `__ 时可用选项的详细信息。" + diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po index be3d695d..4a57e7a6 100644 --- a/locales/zh_TW/LC_MESSAGES/how-to/index.po +++ b/locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -324,3 +324,4 @@ msgstr "" #: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 msgid "Commit your changes to this branch, then push to GitHub and create a pull request." msgstr "" + diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po index e89e9737..515d39d8 100644 --- a/locales/zh_TW/LC_MESSAGES/index.po +++ b/locales/zh_TW/LC_MESSAGES/index.po @@ -102,3 +102,4 @@ msgstr "讓我們開始吧!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" msgstr "準備好親自嘗試 BeeWare 了嗎? :doc:`讓我們用 Python 建立一個跨平台應用程式! `" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po index 2872f632..78b0f680 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po @@ -135,3 +135,4 @@ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" #~ msgstr "" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po index 9f9548ae..08993a3a 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -144,3 +144,4 @@ msgstr "" #~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" #~ msgstr "" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po index 61979c85..d496973b 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po @@ -236,3 +236,4 @@ msgstr "我們現在已經設定好了我們的環境。我們準備好 :doc:` #~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." #~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站 `_ 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po index b3e1a374..bd5ecb1d 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -191,3 +191,4 @@ msgstr "我們現在有了一個可以運行的應用程序,在開發人員模 #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "BeeWare 工具之一是 **Briefcase** 。它可用於打包您的應用程式以分發給最終用戶 - 但它也可用於初始化新專案。" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po index ea849c04..b579d8b4 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po @@ -294,3 +294,4 @@ msgstr "我們現在有了一個可以做一些更有趣的事情的應用程式 #~ msgid "Lets do something more interesting with our ``HelloWorld`` app." #~ msgstr "" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po index 30fc5550..9d9bc7c9 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po @@ -314,3 +314,4 @@ msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。 #~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." #~ msgstr "" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po index 2c5abca0..55d43bc6 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po @@ -173,3 +173,4 @@ msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發 #, fuzzy msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "但行動裝置呢?在 :doc:`教程 5 ` 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po index f373cdc3..15b2eb80 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -253,3 +253,4 @@ msgstr "下一步" #, fuzzy msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 :doc:`教學 6 <../tutorial-6>` 以了解..." + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 7f6617e6..85121d59 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -96,3 +96,4 @@ msgstr "現在我們的手機上已經有一個應用程式了!我們還有其 #~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po index 64771ca8..b02fe8c8 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -52,3 +52,4 @@ msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" #~ msgid ":doc:`Let's build our app for Android! `" #~ msgstr ":doc:`讓我們為 Android 建立應用程式!`" + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po index 198eecc0..6e46356d 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -376,3 +376,4 @@ msgstr "" #~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." #~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 :doc:`教學 8 ` 找出..." + diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po index 7606bf81..377a8070 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po @@ -352,3 +352,4 @@ msgstr "" #~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." #~ msgstr "" + diff --git a/tox.ini b/tox.ini index dc414379..bc2e6b15 100644 --- a/tox.ini +++ b/tox.ini @@ -46,7 +46,7 @@ extras = docs commands: !lint-!all-!translate-!live-!en-!fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat en translate : md2po --input {[docs]docs_dir} --output {[docs]templates_dir} --pot --duplicates=merge --exclude={[docs]exclude_translate} - translate : python {tox_root}{/}translation_tools{/}build_po_translations.py fr +; translate : python {tox_root}{/}translation_tools{/}build_po_translations.py fr lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_paths lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls live : python -m mkdocs serve --clean --config-file {[docs]docs_dir}{/}mkdocs.en.yml diff --git a/updated-locales/de/LC_MESSAGES/how-to/index.po b/updated-locales/de/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..002438c5 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: de\n" +"Language-Team: de \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/de/LC_MESSAGES/index.po b/updated-locales/de/LC_MESSAGES/index.po new file mode 100644 index 00000000..60eeafc1 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/index.po @@ -0,0 +1,101 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2024-08-17 05:09+0000\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +msgid "Welcome to the BeeWare Tutorial!" +msgstr "Willkommen zum BeeWare-Tutorial!" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +msgid "**Write Python. Run Anywhere.**" +msgstr "**Einmal schreiben. Überall ausführen.**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "Willkommen bei BeeWare! In diesem Tutorial werden wir eine grafische Benutzeroberfläche mit Python erstellen und sie als Desktop-, Mobil- und Web-Anwendung bereitstellen. Außerdem sehen wir uns an, wie Sie die BeeWare-Tools nutzen können, um übliche Aufgaben als App-Entwickler zu erledigen, wie zum Beispiel das Testen Ihrer App." + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +msgid "Translations are available" +msgstr "Übersetzungen sind verfügbar" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "Wenn Sie mit Englisch nicht vertraut sind, sind Übersetzungen dieses Tutorials in [Deutsch]{1} und [Español]{1} verfügbar __, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1} und [中文(繁体)]{1}." + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +msgid "This is a machine translation!" +msgstr "Dies ist eine maschinelle Übersetzung!" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "Diese Version des Tutorials wurde durch maschinelle Übersetzung erstellt. Wir wissen, dass dies nicht ideal ist, aber wir waren der Meinung, dass eine schlechte Übersetzung besser ist als gar keine Übersetzung." + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Wenn du helfen möchtest, die Übersetzung zu verbessern, melde dich! Wir haben einen `#translations`-Kanal in [Discord]{1}. Stellen Sie sich dort vor und wir werden Sie dem Übersetzungsteam hinzufügen." + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +msgid "This is a translation!" +msgstr "Dies ist eine Übersetzung!" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "Dieses Dokument ist eine Übersetzung der englischen Version. Die Übersetzung wurde von Menschen überprüft, aber neuere Abschnitte können durch maschinelle Übersetzung erstellt oder überhaupt nicht übersetzt worden sein." + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +msgid "What is BeeWare?" +msgstr "Was ist BeeWare?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "BeeWare ist kein einzelnes Produkt, Werkzeug oder eine Bibliothek - es ist eine Sammlung von Werkzeugen und Bibliotheken, die alle zusammenarbeiten, um Ihnen zu helfen, plattformübergreifende Python-Anwendungen mit einer nativen GUI zu schreiben. Es umfasst:" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +#, fuzzy +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, ein plattformübergreifendes Widget-Toolkit;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#, fuzzy +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, ein Werkzeug zum Verpacken von Python-Projekten als verteilbare Artefakte, die an Endbenutzer ausgeliefert werden können;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#, fuzzy +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Bibliotheken (wie [Rubicon ObjC]{1}) für den Zugriff auf plattformspezifische Bibliotheken;" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "Vorkompilierte Python-Builds, die auf Plattformen verwendet werden können, für die keine offiziellen Python-Installationsprogramme verfügbar sind." + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "In diesem Tutorium werden wir alle diese Tools verwenden, aber als Benutzer müssen Sie nur mit den ersten beiden (Toga und Briefcase) interagieren. Jedes der Tools kann jedoch auch einzeln verwendet werden - zum Beispiel können Sie Briefcase verwenden, um eine App bereitzustellen, ohne Toga als GUI-Toolkit zu verwenden." + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "Die BeeWare-Suite ist für macOS, Windows, Linux (unter Verwendung von GTK), für mobile Plattformen wie Android und iOS und für das Web verfügbar." + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "Los geht's!" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? [Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen!][tutorial/tutorial-0]" + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..b232e6e9 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-08-19 17:09+0000\n" +"Last-Translator: tct123 \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "Kameranutzung" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +#, fuzzy +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "Fast jedes moderne Computergerät verfügt über eine Kamera. In diesem Tutorial schreiben wir eine neue Anwendung, die Zugriff auf diese Kamera anfordern, ein Foto aufnehmen und dieses Foto dann in der App anzeigen kann. Neue Anwendung, die die Kamera Ihres Geräts verwendet." + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "Dieses Tutorial funktioniert nicht auf allen Plattformen!" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "Leider funktioniert dieses Tutorial derzeit nur auf macOS und Android." + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "Obwohl alle iPhones über Kameras verfügen, verfügt der iOS-*Simulator* nicht über eine funktionierende Kamera. Windows- und Linux-Geräte verfügen ebenfalls über Kameras, aber Toga kann derzeit auf diesen Plattformen nicht auf die Kamera zugreifen." + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "Der hier dargestellte Code *läuft* unter Windows oder Linux, löst jedoch einen Fehler aus, wenn Sie versuchen, ein Foto aufzunehmen." + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "Der Code funktioniert, wenn er auf einem echten iOS-Gerät ausgeführt wird, kann jedoch kein Foto aufnehmen, wenn er im iOS-Simulator bereitgestellt wird." + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "Neues Projekt starten" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "Für dieses Tutorial werden wir nicht auf der Anwendung aus dem Kerntutorial aufbauen, sondern ein neues Projekt beginnen. Sie können dieselbe virtuelle Umgebung verwenden, die Sie im ersten Projekt verwendet haben. Wir müssen jedoch den Assistenten „Aktenkoffer neu“ erneut ausführen." + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "Wechseln Sie zurück in das Verzeichnis, das den Projektordner `helloworld` enthält, und starten Sie ein neues Projekt mit dem Namen „Hello Camera“:" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "Fügen Sie Code hinzu, um ein Foto aufzunehmen" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "Der Assistent hat ein neues leeres Toga-Projekt generiert. Wir können jetzt den Code zum Aufnehmen und Anzeigen eines Fotos hinzufügen. Bearbeiten Sie die Datei `app.py` für die neue Anwendung, sodass sie den folgenden Inhalt hat:" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +#, fuzzy +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "Dieser Code weist gegenüber der von Briefcase generierten Standard-App zwei Änderungen auf. Diese Ergänzungen sind gelb hervorgehoben:" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "Der erste hervorgehobene Codeblock (in der Methode `startup()`) fügt die beiden Widgets hinzu, die zur Steuerung der Kamera erforderlich sind: ein `ImageView` zum Anzeigen eines Fotos und einen `Button` zum Auslösen der Kamera." + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "Der zweite hervorgehobene Codeblock (die Methode `take_photo()`) definiert den Ereignishandler, wenn die Schaltfläche gedrückt wird. Dieser Handler bestätigt zunächst, ob die Anwendung die Berechtigung zum Aufnehmen eines Fotos hat. Wenn keine Berechtigung vorliegt, wird sie angefordert. Dann wird ein Foto aufgenommen. Die Anforderung der Berechtigung und die Anforderung zum Aufnehmen eines Fotos sind beide asynchrone Anforderungen, sodass die Verwendung von `await` erforderlich ist. Während die App darauf wartet, dass der Benutzer die Berechtigung bestätigt oder das Foto aufnimmt, kann die Ereignisschleife der App im Hintergrund fortgesetzt werden." + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt zurück, das als Inhalt der `ImageView` zugewiesen werden kann. Wenn die Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf `self.camera.take_photo()` `None` zurück und das Ergebnis kann ignoriert werden. Wenn der Benutzer keine Berechtigung zur Verwendung der Kamera erteilt oder die Kamera auf der aktuellen Plattform nicht implementiert ist, wird ein Fehler ausgelöst und dem Benutzer ein Dialogfeld angezeigt." + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "Geräteberechtigungen hinzufügen" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "Ein Teil des Codes, den wir gerade hinzugefügt haben, fragt nach der Erlaubnis, die Kamera zu verwenden. Dies ist eine gängige Funktion moderner App-Plattformen – Sie können nicht auf Hardwarefunktionen zugreifen, ohne vorher ausdrücklich die Erlaubnis des Benutzers einzuholen." + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "Diese Anfrage besteht aus zwei Teilen. Der erste Teil befindet sich im Code, den wir gerade gesehen haben. Bevor die App jedoch Berechtigungen anfordern kann, muss sie die Berechtigungen deklarieren, die sie anfordern wird." + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +#, fuzzy +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "Die für jede Plattform erforderlichen Berechtigungen unterscheiden sich geringfügig, aber Briefcase bietet eine plattformübergreifende Darstellung für viele gängige Hardwareberechtigungen. Fügen Sie im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` der Datei `pyproject.toml` Ihrer App Folgendes hinzu (direkt über der Deklaration `Sources`):" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "Dies erklärt, dass Ihre App auf die Kamera zugreifen muss, und liefert eine kurze Beschreibung, warum die Kamera erforderlich ist. Diese Beschreibung ist auf einigen Plattformen erforderlich (insbesondere macOS und iOS) und wird dem Benutzer als zusätzliche Information angezeigt, wenn der Berechtigungsdialog angezeigt wird." + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "Wir können jetzt die App generieren und ausführen:" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "Wenn die App ausgeführt wird, wird Ihnen eine Schaltfläche angezeigt. Drücken Sie die Schaltfläche, und der Standardkameradialog der Plattform wird angezeigt. Machen Sie ein Foto. Der Kameradialog verschwindet und das Foto wird in der App direkt über der Schaltfläche angezeigt. Sie können dann ein weiteres Foto machen. Dadurch wird das erste Foto ersetzt." + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "Weitere Berechtigungen hinzufügen" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von `briefcase create` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie `briefcase create` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..9a7275a0 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,142 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2024-08-19 17:09+0000\n" +"Last-Translator: tct123 \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "Symbole anpassen" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "Die App, die wir im Haupttutorial entwickelt haben, verwendet beim Verpacken standardmäßig das Symbol „gray bee“. Personalisieren wir diese Anwendung, indem wir sie so konfigurieren, dass sie unser eigenes Symbol verwendet." + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +msgid "Adding an icon" +msgstr "Hinzufügen eines Symbols" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "Jede Plattform verwendet ein anderes Format für Anwendungssymbole – und einige Plattformen benötigen *mehrere* Symbole in unterschiedlichen Größen und Formen. Um dies zu berücksichtigen, bietet Briefcase eine Kurzform, mit der Sie ein Symbol einmal konfigurieren und diese Definition dann auf alle verschiedenen Symbole erweitern können, die für jede einzelne Plattform erforderlich sind." + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "Bearbeiten Sie Ihr `pyproject.toml` und fügen Sie ein neues Konfigurationselement `Symbol` im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` direkt über der Definition von `Quellen` hinzu:" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "Android" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**Kommt bald**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Wir haben jetzt eine Anwendung mit einem eigenen Symbol auf unserem Desktop und Telefon! Wie können wir diese Anwendung mit allen anderen teilen? Schau dir [Tutorial 11][tutorial-11] an, um das herauszufinden..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "Tutorial 10 - Machen Sie diese Anwendung zu Ihrer eigenen" + +#~ msgid "Next steps" +#~ msgstr "Nächste Schritte" + +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..31deddcd --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: 2024-08-14 00:09+0000\n" +"Last-Translator: tct123 \n" +"Language-Team: German \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" +"X-Generator: Weblate 5.7-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "Weiterführende Informationen" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "" +"Möchten Sie tiefer in bestimmte Themen einsteigen? Hier sind einige " +"zusätzliche Tutorials, die allgemeine Aspekte der Anwendungsentwicklung " +"behandeln. Jedes Tutorial ist eigenständig und kann in beliebiger " +"Reihenfolge abgeschlossen werden. Sie setzen jedoch alle voraus, dass Sie " +"das Haupt-Tutorial abgeschlossen haben." + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "Symbole anpassen" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "" +"Passen Sie das Erscheinungsbild Ihrer Anwendung an, indem Sie das " +"standardmäßige „graue Biene“-Symbol ersetzen." + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "Anwendungstests" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "" +"Wie stellen Sie sicher, dass Ihre Anwendung funktioniert und funktioniert? " +"Indem Sie Ihrem Projekt eine Testsuite hinzufügen!" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "Kamerazugriff" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "" +"Verwenden Sie die Kamera Ihres Mobil- oder Desktopgeräts, um innerhalb Ihrer " +"Anwendung ein Bild aufzunehmen und anzuzeigen." diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..217b0524 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,147 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2025-02-17 02:05+0000\n" +"Last-Translator: Ettore Atalan \n" +"Language-Team: German \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" +"X-Generator: Weblate 5.10\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +#, fuzzy +msgid "Testing times" +msgstr "Prüfzeiten" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#, fuzzy +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "Bei der Softwareentwicklung wird meist kein neuer Code geschrieben, sondern bestehender Code geändert. Die Sicherstellung, dass vorhandener Code weiterhin so funktioniert, wie wir es erwarten, ist ein wichtiger Teil des Softwareentwicklungsprozesses. Eine Möglichkeit, das Verhalten unserer Anwendung sicherzustellen, ist eine *Testsuite*." + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#, fuzzy +msgid "Running the test suite" +msgstr "Ausführen der Testsuite" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#, fuzzy +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der obersten Ebene erzeugt: `src` und `tests`. Der Ordner `src` enthält den Code für unsere Anwendung; der Ordner `tests` enthält unsere Testsuite. Innerhalb des Ordners `tests` befindet sich eine Datei namens `test_app.py` mit folgendem Inhalt:" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#, fuzzy +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Dies ist ein [Pytest]{1} *Testfall* - ein Codeblock, der ausgeführt werden kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - aber es ist ein Test, den wir durchführen können." + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#, fuzzy +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Wir können diese Testsuite mit der Option `--test` für `briefcase dev` ausführen. Da dies das erste Mal ist, dass wir Tests ausführen, müssen wir auch die Option `-r` übergeben, um sicherzustellen, dass die Testanforderungen auch installiert werden:" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#, fuzzy +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "Erfolgreich! Wir haben soeben einen einzigen Test durchgeführt, der bestätigt, dass die Python-Mathematik so funktioniert, wie wir es erwartet haben (was für eine Erleichterung!)." + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#, fuzzy +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Lassen Sie uns diesen Platzhaltertest durch einen Test ersetzen, der überprüft, ob sich unsere Methode `Gruß()` so verhält, wie wir es erwarten. Ersetzen Sie den Inhalt von `test_app.py` durch den folgenden:" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#, fuzzy +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "Dies definiert zwei neue Tests, die beiden erwarteten Verhaltensweisen überprüfen: die Ausgabe, wenn ein Name angegeben wird, und die Ausgabe, wenn der Name leer ist." + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#, fuzzy +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Wir können nun die Testsuite erneut ausführen. Diesmal brauchen wir die Option `-r` nicht, da die Testanforderungen bereits installiert wurden; wir müssen nur die Option `--test` verwenden:" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#, fuzzy +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Ausgezeichnet! Unsere Utility-Methode `Gruß()` funktioniert wie erwartet." + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#, fuzzy +msgid "Test driven development" +msgstr "Testgetriebene Entwicklung" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#, fuzzy +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Jetzt, da wir eine Test-Suite haben, können wir sie nutzen, um die Entwicklung neuer Funktionen voranzutreiben. Ändern wir unsere Anwendung, um eine spezielle Begrüßung für einen bestimmten Benutzer zu erhalten. Wir können damit beginnen, indem wir einen Testfall für das neue Verhalten, das wir gerne sehen möchten, am Ende von `test_app.py` hinzufügen:" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#, fuzzy +msgid "Then, run the test suite with this new test:" +msgstr "Führen Sie dann die Testsuite mit diesem neuen Test aus:" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#, fuzzy +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Dieses Mal sehen wir einen Testfehler - und die Ausgabe erklärt die Quelle des Fehlers: der Test erwartet die Ausgabe \"BeeWare the IDEs of Python!\", aber unsere Implementierung von `Gruß()` gibt \"Hallo, Brutus\" zurück. Ändern wir die Implementierung von `Gruß()` in `src/helloworld/app.py`, um das neue Verhalten zu erhalten:" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#, fuzzy +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "Wenn wir die Tests noch einmal durchführen, sehen wir, dass die Tests bestanden wurden:" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#, fuzzy +msgid "Runtime tests" +msgstr "Laufzeittests" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "Bislang haben wir die Tests im Entwicklungsmodus ausgeführt. Dies ist besonders nützlich, wenn Sie neue Funktionen entwickeln, da Sie schnell Tests und Code hinzufügen können, damit diese Tests erfolgreich sind. Irgendwann werden Sie jedoch sicherstellen wollen, dass Ihr Code auch als Anwendungspaket korrekt ausgeführt wird." + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#, fuzzy +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Die Optionen `--test` und `-r` können auch an den Befehl `run` übergeben werden. Wenn Sie `briefcase run --test -r` verwenden, wird die gleiche Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in Ihrer Entwicklungsumgebung:" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#, fuzzy +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Wie bei `briefcase dev --test` wird die Option `-r` nur bei der ersten Ausführung der Testsuite benötigt, um sicherzustellen, dass die Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese Option weglassen." + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#, fuzzy +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Sie können auch die Option `--test` auf mobilen Backends verwenden: - so funktionieren `briefcase run iOS --test` und `briefcase run android --test`, die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." + +#~ msgid "Next steps" +#~ msgstr "Nächste Schritte" diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..7882b504 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,233 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2024-08-19 17:09+0000\n" +"Last-Translator: tct123 \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +msgid "Tutorial 0 - Let's get set up!" +msgstr "Tutorial 0 - Erstinstallation" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "Bevor wir unsere erste BeeWare-App erstellen, müssen wir sicherstellen, dass wir alle Voraussetzungen für den Betrieb von BeeWare erfüllen." + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +msgid "Install Python" +msgstr "Python installieren" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "Als erstes brauchen wir einen funktionierenden Python-Interpreter." + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#, fuzzy +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#, fuzzy +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können Python über [homebrew]{1} installieren. Sie können [pyenv]{1} verwenden, um mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-Benutzer können Python aus dem Windows App Store installieren. Für Benutzer mit einem datenwissenschaftlichen Hintergrund könnten auch [Anaconda]{1} oder [Miniconda]{1} interessant sein." + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Unter Linux installieren Sie Python mit dem Paketmanager des Systems (`apt` unter Debian/Ubuntu/Mint, `dnf` unter Fedora, oder `pacman` unter Arch)." + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "Sie sollten sich vergewissern, dass das System Python 3.8 oder eine neuere Version verwendet. Ist dies nicht der Fall (z. B. wird Ubuntu 18.04 mit Python 3.6 ausgeliefert), müssen Sie Ihre Linux-Distribution auf eine neuere Version aktualisieren." + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Unter macOS oder Windows ist es egal, *wie* Sie Python installiert haben - wichtig ist nur, dass Sie `python3` über die Eingabeaufforderung/Terminalanwendung Ihres Betriebssystems ausführen können und einen funktionierenden Python-Interpreter erhalten." + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +msgid "Install dependencies" +msgstr "Abhängigkeiten installieren" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "Als Nächstes installieren Sie die zusätzlichen Abhängigkeiten, die für Ihr Betriebssystem erforderlich sind:" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +msgid "Building BeeWare apps on macOS requires:" +msgstr "Die Erstellung von BeeWare-Anwendungen unter macOS erfordert:" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "**Git**, ein Versionskontrollsystem. Dies ist in Xcode oder den Befehlszeilen-Entwicklertools enthalten, die Sie oben installiert haben. Möglicherweise müssen Sie Xcode zum ersten Mal öffnen, damit Git in Ihrer Terminalsitzung funktioniert. Wenn immer noch nicht registriert wird, dass Git installiert ist, müssen Sie möglicherweise Ihre Terminalsitzung neu starten." + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "Um die lokale Entwicklung zu unterstützen, müssen Sie einige Systempakete installieren. Die Liste der erforderlichen Pakete hängt von Ihrer Distribution ab:" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu / Debian**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +msgid "**Arch / Manjaro**" +msgstr "**Arch / Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "**OpenSUSE Tumbleweed**" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +msgid "Building BeeWare apps on Windows requires:" +msgstr "Die Erstellung von BeeWare-Anwendungen unter Windows erfordert:" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, ein Versionskontrollsystem. Sie können Git von [git-scm.com]{1} herunterladen." + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "Nach der Installation dieser Tools sollten Sie sicherstellen, dass Sie alle Terminalsitzungen neu starten. Windows zeigt neu installierte Tools nur auf Terminals an, die *nach* Abschluss der Installation gestartet wurden." + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +msgid "Set up a virtual environment" +msgstr "Einrichten einer virtuellen Umgebung" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "Wir werden nun eine virtuelle Umgebung erstellen - eine \"Sandbox\", die wir verwenden können, um unsere Arbeit an diesem Tutorial von unserer Haupt-Python-Installation zu isolieren. Wenn wir Pakete in die virtuelle Umgebung installieren, wird unsere Haupt-Python-Installation (und alle anderen Python-Projekte auf unserem Computer) davon nicht betroffen sein. Wenn wir unsere virtuelle Umgebung komplett durcheinander bringen, können wir sie einfach löschen und neu beginnen, ohne dass andere Python-Projekte auf unserem Computer betroffen sind und ohne dass wir Python neu installieren müssen." + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +msgid "Errors running PowerShell Scripts" +msgstr "Fehler bei der Ausführung von PowerShell-Skripten" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Wenn Sie PowerShell verwenden und die folgende Fehlermeldung erhalten:" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "Ihr Windows-Konto hat keine Berechtigung zum Ausführen von Skripten. So beheben Sie dies:" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "Führen Sie [Windows Powershell als Administrator aus]{1}." + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Führen Sie `set-executionpolicy RemoteSigned` aus" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +msgid "Select `Y` to change the execution policy." +msgstr "Wählen Sie `Y`, um die Ausführungspolitik zu ändern." + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Danach können Sie `beeware-venv\\Scripts\\activate.ps1` in Ihrer ursprünglichen PowerShell-Sitzung (oder in einer neuen Sitzung im selben Verzeichnis) erneut ausführen." + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Wenn dies geklappt hat, sollte Ihre Eingabeaufforderung nun geändert sein - sie sollte ein `(beeware-venv)`-Präfix haben. Dies zeigt Ihnen, dass Sie sich gerade in Ihrer virtuellen BeeWare-Umgebung befinden. Wann immer Sie an diesem Tutorial arbeiten, sollten Sie sicherstellen, dass Ihre virtuelle Umgebung aktiviert ist. Ist dies nicht der Fall, führen Sie den letzten Befehl (den Befehl `activate`) erneut aus, um Ihre Umgebung wieder zu aktivieren." + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +msgid "Alternative virtual environments" +msgstr "Alternative virtuelle Umgebungen" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Wenn Sie Anaconda oder miniconda benutzen, sind Sie vielleicht mehr mit der Verwendung von conda-Umgebungen vertraut. Vielleicht haben Sie auch schon von `virtualenv` gehört, einem Vorgänger von Pythons eingebautem `venv` Modul. Wie bei Python-Installationen ist es unter macOS oder Windows egal, *wie* Sie Ihre virtuelle Umgebung erstellen, solange Sie eine haben. Wenn Sie unter Linux arbeiten, sollten Sie sich an `venv` und das System-Python halten." + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, [unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "Öffnen Sie Windows PowerShell als Administrator." + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "**Git**, ein Versionskontrollsystem. Es ist in Xcode oder den Kommandozeilen-Entwicklungswerkzeugen enthalten, die Sie oben installiert haben." + +#~ msgid "Alternative Python distributions" +#~ msgstr "Alternative Python-Distributionen" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "Wenn Sie mit Linux arbeiten, sollten Sie das von Ihrem Betriebssystem bereitgestellte Python verwenden. Sie können den *größten Teil* dieses Tutorials mit einem systemfremden Python durchführen, aber Sie werden nicht in der Lage sein, Ihre Anwendung für die Weitergabe an andere zu verpacken." + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "Wenn Sie mit macOS arbeiten, ist eine aktuelle Version von Python in Xcode oder den Kommandozeilen-Entwicklerwerkzeugen enthalten. Um zu prüfen, ob Sie Python bereits haben, führen Sie den folgenden Befehl aus:" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "Wenn Python installiert ist, wird die Versionsnummer angezeigt. Andernfalls werden Sie aufgefordert, die Entwicklerwerkzeuge für die Kommandozeile zu installieren." + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von [der Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..13911352 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,192 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Marco Esters \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +msgid "Tutorial 1 - Your first app" +msgstr "Tutorial 1 - Ihre erste App" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#, fuzzy +msgid "We're ready to create our first application." +msgstr "Wir sind bereit, unsere erste Anwendung zu erstellen." + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +msgid "Install the BeeWare tools" +msgstr "Installieren Sie die BeeWare-Tools" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Zunächst müssen wir **Briefcase** installieren. Briefcase ist ein BeeWare-Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis `beeware-tutorial` befinden, das Sie in [Tutorial 0][tutorial-0] erstellt haben, und dass die virtuelle Umgebung `beeware-venv` aktiviert ist, und starten Sie:" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +msgid "Possible errors during installation" +msgstr "Mögliche Fehler bei der Installation" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Wenn Sie während der Installation Fehler sehen, liegt das höchstwahrscheinlich daran, dass einige der Systemvoraussetzungen nicht installiert wurden. Stellen Sie sicher, dass Sie [alle Plattformvoraussetzungen ][install-dependencies] installiert haben." + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "Es ist wichtig, dass Sie `python -m pip` und nicht `pip` verwenden. Briefcase muss sicherstellen, dass es eine aktuelle Version von `pip` und `setuptools` hat, und ein bloßer Aufruf von `pip` kann sich nicht selbst aktualisieren. Wenn Sie mehr darüber wissen wollen, hat [Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem]{1}." + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +msgid "Bootstrap a new project" +msgstr "Erstellen Sie ein neues Projekt" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Beginnen wir mit unserem ersten BeeWare-Projekt! Wir werden den Briefcase-Befehl `new` verwenden, um eine Anwendung namens **Hello World** zu erstellen. Führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus:" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "Briefcase wird uns nach einigen Details zu unserer neuen Anwendung fragen. Verwenden Sie für dieses Tutorial die folgenden Angaben:" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formaler Name** - Akzeptieren Sie den Standardwert: `Hello World`." + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** - Akzeptieren Sie den Standardwert: `helloworld`." + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#, fuzzy +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Wenn Sie eine eigene Domain besitzen, geben Sie diese in umgekehrter Reihenfolge an. (Wenn Sie zum Beispiel die Domain \"cupcakes.com\" besitzen, geben Sie `com.cupcakes` als Bundle ein). Wenn Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle (`com.example`)." + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Projektname** - Übernehmen Sie den Standardwert: `Hello World`." + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**Description** - Übernehmen Sie den Standardwert (wenn Sie wirklich kreativ sein wollen, denken Sie sich Ihre eigene Beschreibung aus!)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +msgid "**Author** - Enter your own name here." +msgstr "**Author** - Geben Sie hier Ihren eigenen Namen ein." + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#, fuzzy +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "**Author's email** - Geben Sie Ihre eigene E-Mail-Adresse ein. Diese wird in der Konfigurationsdatei, im Hilfetext und überall dort verwendet, wo bei der Einreichung der App bei einem App-Store eine E-Mail erforderlich ist." + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#, fuzzy +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - Die URL der Landing Page für Ihre Anwendung. Auch hier gilt: Wenn Sie Ihre eigene Domain besitzen, geben Sie eine URL auf dieser Domain ein (einschließlich `https://`). Ansonsten akzeptieren Sie einfach die Standard-URL (`https://example.com/helloworld`). Diese URL muss (vorerst) nicht tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in einem App Store veröffentlichen." + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#, fuzzy +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "**Lizenz** - Akzeptieren Sie die Standardlizenz (BSD). Dies hat jedoch keinen Einfluss auf die Funktionsweise des Tutorials - wenn Sie also besonders starke Gefühle bezüglich der Lizenzwahl haben, können Sie gerne eine andere Lizenz wählen." + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**GUI-Framework** - Akzeptieren Sie die Standardoption Toga (BeeWare's eigenes GUI-Toolkit)." + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase generiert dann ein Projektgerüst, das Sie verwenden können. Wenn Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen:" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Dieses Gerüst ist bereits eine voll funktionsfähige Anwendung, ohne etwas anderes hinzufügen zu müssen. Der Ordner `rc` enthält den gesamten Code für die Anwendung, der Ordner `tests` enthält eine erste Testreihe und die Datei `pyproject.toml` beschreibt, wie die Anwendung für die Verteilung verpackt werden soll. Wenn Sie die Datei `pyproject.toml` in einem Editor öffnen, sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt haben." + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "Nun, da wir eine Rumpfanwendung haben, können wir Briefcase verwenden, um die Anwendung auszuführen." + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +msgid "Run the app in developer mode" +msgstr "Führen Sie die Anwendung im Entwicklermodus aus" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +#, fuzzy +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Wechseln Sie in das `helloworld` Projektverzeichnis und sagen Sie briefcase, daß es das Projekt im Developer (oder `dev`) Modus starten soll:" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +msgid "This should open a GUI window:" +msgstr "Dies sollte ein GUI-Fenster öffnen:" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "Hello World Tutorial 1 Fenster unter macOS" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "Hello World Tutorial 1 Fenster unter Linux" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "Hello World Tutorial 1 Fenster unter Windows" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#, fuzzy +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "Drücken Sie die Schaltfläche \"Schließen\" (oder wählen Sie \"Beenden\" aus dem Menü der Anwendung), und Sie sind fertig! Herzlichen Glückwunsch - Sie haben gerade eine eigenständige, native Anwendung in Python geschrieben!" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir unserer Anwendung eine nützlichere Benutzeroberfläche geben." + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "Eines der BeeWare-Tools ist **Briefcase**. Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - es kann aber auch zur Erstellung eines neuen Projekts verwendet werden." + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..dfc5d55e --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,288 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-03 01:43+0000\n" +"Last-Translator: Marco Esters \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +msgid "Tutorial 2 - Making it interesting" +msgstr "Tutorial 2 - Es wird interessant" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "In [Tutorial 1][tutorial-1] haben wir ein lauffähiges Rumpfprojekt erstellt, aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für uns generiert wurde." + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +msgid "What was generated" +msgstr "Was generiert wurde" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "In dem Verzeichnis `src/helloworld` sollten 3 Dateien zu sehen sein: `__init__.py`, `__main__.py` und `app.py`." + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` markiert das `helloworld`-Verzeichnis als importierbares Python-Modul. Es ist eine leere Datei; allein die Tatsache, dass sie existiert, sagt dem Python-Interpreter, dass das `helloworld`-Verzeichnis ein Modul definiert." + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` markiert das `helloworld` Modul als eine besondere Art von Modul - ein ausführbares Modul. Wenn Sie versuchen, das Modul `helloworld` mit `python -m helloworld` zu starten, ist die Datei `__main__.py` der Ort, an dem Python mit der Ausführung beginnt. Der Inhalt von `__main__.py` ist relativ einfach:" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#, fuzzy +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "Das heißt, es importiert die Methode `main` aus der Anwendung `helloworld`; und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks und Tastatureingaben) wartet." + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#, fuzzy +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "Die interessantere Datei ist `app.py` - diese enthält die Logik, die unser Anwendungsfenster erstellt:" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#, fuzzy +msgid "Let's go through this line by line:" +msgstr "Gehen wir diese Zeile für Zeile durch:" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#, fuzzy +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Als erstes importieren wir das `toga`-Widget-Toolkit, sowie einige stilbezogene Utility-Klassen und Konstanten. Unser Code verwendet diese noch nicht - aber wir werden sie in Kürze nutzen." + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +msgid "Then, we define a class:" +msgstr "Definieren wir eine Klasse:" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#, fuzzy +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Jede Toga-Anwendung hat eine einzige `toga.App`-Instanz, die laufende Entität, die Anwendung, darstellt. Die Anwendung kann mehrere Fenster verwalten, aber für einfache Anwendungen gibt es ein einziges Hauptfenster." + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#, fuzzy +msgid "Next, we define a `startup()` method:" +msgstr "Als nächstes definieren wir eine `Startup()` Methode:" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#, fuzzy +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "Das erste, was die Startup-Methode macht, ist die Definition eines Hauptfeldes. Das Layout-Schema von Toga verhält sich ähnlich wie HTML. Sie bauen eine Anwendung auf, indem Sie eine Sammlung von Boxen konstruieren, von denen jede andere Boxen oder Widgets enthält. Sie wenden dann Stile auf diese Boxen an, um zu definieren, wie sie den verfügbaren Platz im Fenster nutzen werden." + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#, fuzzy +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "In dieser Anwendung definieren wir ein einzelnes Feld, in das wir jedoch nichts einfügen." + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#, fuzzy +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Als Nächstes definieren wir ein Fenster, in das wir dieses leere Feld einfügen können:" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#, fuzzy +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Dies erzeugt eine Instanz eines `toga.MainWindow`, das einen Titel hat, der dem Namen der Anwendung entspricht. Ein Hauptfenster ist eine besondere Art von Fenster in Toga - es ist ein Fenster, das eng an den Lebenszyklus der Anwendung gebunden ist. Wenn das Hauptfenster geschlossen wird, wird die Anwendung beendet. Das Hauptfenster ist auch das Fenster, in dem sich das Menü der Anwendung befindet (wenn Sie auf einer Plattform wie Windows arbeiten, wo die Menüleisten Teil des Fensters sind)" + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#, fuzzy +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Dann fügen wir unsere leere Box als Inhalt des Hauptfensters hinzu und weisen die Anwendung an, unser Fenster anzuzeigen:" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#, fuzzy +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Als letztes definieren wir eine `main()` Methode. Diese erzeugt die Instanz unserer Anwendung:" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#, fuzzy +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Diese `main()` Methode ist diejenige, die von `__main__.py` importiert und aufgerufen wird. Sie erzeugt eine Instanz unserer `HelloWorld`-Anwendung und gibt diese zurück." + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#, fuzzy +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "Das ist die einfachste mögliche Toga-Anwendung. Lassen Sie uns einige unserer eigenen Inhalte in die Anwendung einfügen und die Anwendung etwas Interessantes tun lassen." + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#, fuzzy +msgid "Adding some content of our own" +msgstr "Hinzufügen von eigenen Inhalten" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#, fuzzy +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Entfernen Sie nicht die Importe am Anfang der Datei oder `main()` am Ende. Sie müssen nur die Klasse `HelloWorld` aktualisieren." + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#, fuzzy +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Ändern Sie Ihre `HelloWorld` Klasse in `src/helloworld/app.py` so, dass sie wie folgt aussieht:" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#, fuzzy +msgid "Let's look in detail at what has changed." +msgstr "Schauen wir uns im Detail an, was sich geändert hat." + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#, fuzzy +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Wir erstellen immer noch ein Hauptfeld, aber wir wenden jetzt einen Stil an:" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#, fuzzy +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Das in Toga eingebaute Layoutsystem heißt \"Pack\". Es verhält sich sehr ähnlich wie CSS. Sie definieren Objekte in einer Hierarchie - in HTML sind die Objekte `
`, `` und andere DOM-Elemente; in Toga sind es Widgets und Boxen. Sie können dann den einzelnen Elementen Stile zuweisen. In diesem Fall geben wir an, dass es sich um einen `COLUMN`-Kasten handelt - das heißt, es handelt sich um einen Kasten, der die gesamte verfügbare Breite beansprucht und sich in der Höhe vergrößert, wenn Inhalt hinzugefügt wird, aber er versucht, so kurz wie möglich zu sein." + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#, fuzzy +msgid "Next, we define a couple of widgets:" +msgstr "Als nächstes definieren wir ein paar Widgets:" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#, fuzzy +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "Hier definieren wir ein Label und einen TextInput. Beiden Widgets sind Stile zugeordnet; das Label hat links und rechts ein Padding von 5px und oben und unten kein Padding. Der TextInput ist als flexibel gekennzeichnet, d. h. er nimmt den gesamten verfügbaren Platz in seiner Layoutachse ein." + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#, fuzzy +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "Der TextInput wird als Instanzvariable der Klasse zugewiesen. Dies ermöglicht uns einen einfachen Zugriff auf die Instanz des Widgets - etwas, das wir gleich verwenden werden." + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#, fuzzy +msgid "Next, we define a box to hold these two widgets:" +msgstr "Als nächstes definieren wir eine Box, die diese beiden Widgets enthält:" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#, fuzzy +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "Die `name_box` ist eine Box genau wie die Hauptbox, aber dieses Mal ist es eine `ROW`-Box. Das bedeutet, daß der Inhalt horizontal eingefügt wird, und daß versucht wird, die Breite so schmal wie möglich zu machen. Die Box hat auch etwas Padding - 5px auf allen Seiten." + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#, fuzzy +msgid "Now we define a button:" +msgstr "Jetzt definieren wir eine Schaltfläche:" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +#, fuzzy +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "Die Schaltfläche hat auch 5px Polsterung auf allen Seiten. Wir definieren auch einen *Handler* - eine Methode, die aufgerufen wird, wenn die Schaltfläche gedrückt wird." + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#, fuzzy +msgid "Then, we add the name box and the button to the main box:" +msgstr "Dann fügen wir das Namensfeld und die Schaltfläche zum Hauptfeld hinzu:" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#, fuzzy +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Damit ist unser Layout fertiggestellt; der Rest der Startup-Methode ist wie zuvor - Definition eines MainWindow und Zuweisung des Hauptfeldes als Inhalt des Fensters:" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#, fuzzy +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "Als Letztes müssen wir den Handler für die Schaltfläche definieren. Ein Handler kann eine beliebige Methode, ein Generator oder eine asynchrone Co-Routine sein; er akzeptiert das Widget, das Ereignis erzeugt hat, als Argument und wird immer dann aufgerufen, wenn die Schaltfläche gedrückt wird:" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#, fuzzy +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "Der Hauptteil der Methode ist eine einfache Druckanweisung - sie fragt jedoch den aktuellen Wert der Namenseingabe ab und verwendet diesen Inhalt als den Text, der gedruckt wird." + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#, fuzzy +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "Nachdem wir nun diese Änderungen vorgenommen haben, können wir sehen, wie sie aussehen, indem wir die Anwendung erneut starten. Wie zuvor werden wir den Entwicklermodus verwenden:" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#, fuzzy +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Sie werden feststellen, dass dieses Mal *keine* Abhängigkeiten installiert werden. Briefcase kann erkennen, dass die Anwendung schon einmal ausgeführt wurde, und um Zeit zu sparen, wird nur die Anwendung ausgeführt. Wenn Sie neue Abhängigkeiten zu Ihrer Anwendung hinzufügen, können Sie sicherstellen, dass diese installiert werden, indem Sie die Option `-r` beim Aufruf von `briefcase dev` mitgeben." + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "This should open a GUI window:" +msgstr "Dies sollte ein GUI-Fenster öffnen:" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +#, fuzzy +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "Hello World Tutorial 2 Fenster, auf macOS" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +#, fuzzy +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "Hello World Tutorial 2 Fenster, unter Linux" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +#, fuzzy +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "Hello World Tutorial 2 Fenster, unter Windows" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#, fuzzy +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "Wenn Sie einen Namen in das Textfeld eingeben und die Schaltfläche GUI drücken, sollte die Ausgabe in der Konsole erscheinen, in der Sie die Anwendung gestartet haben." + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#, fuzzy +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere Anwendung als eigenständiges Installationsprogramm verpacken, das wir an einen Freund oder Kunden schicken oder in einen App Store hochladen können." + +#~ msgid "Lets do something more interesting with our `HelloWorld` app." +#~ msgstr "" + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..3065fbcf --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,313 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Marco Esters \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +#, fuzzy +msgid "Tutorial 3 - Packaging for distribution" +msgstr "Tutorial 3 - Verpackung für den Vertrieb" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#, fuzzy +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "Bislang haben wir unsere Anwendung im \"Entwicklermodus\" ausgeführt. Das macht es uns leicht, unsere Anwendung lokal auszuführen - aber was wir wirklich wollen, ist, dass wir unsere Anwendung an andere weitergeben können." + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#, fuzzy +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "Wir möchten unseren Benutzern jedoch nicht beibringen müssen, wie man Python installiert, eine virtuelle Umgebung erstellt, ein Git-Repository klont und Briefcase im Entwicklermodus startet. Wir würden ihnen lieber einfach ein Installationsprogramm geben und die Anwendung einfach funktionieren lassen." + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#, fuzzy +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung auf diese Weise zu verpacken." + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#, fuzzy +msgid "Creating your application scaffold" +msgstr "Erstellen Ihres Anwendungsgerüsts" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#, fuzzy +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Da dies das erste Mal ist, dass wir unsere Anwendung paketieren, müssen wir einige Konfigurationsdateien und andere Gerüste erstellen, um den Paketierungsprozess zu unterstützen. Starten Sie im Verzeichnis `helloworld`:" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#, fuzzy +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "Wahrscheinlich haben Sie gerade gesehen, wie seitenweise Inhalte an Ihrem Terminal vorbeigezogen sind... was ist also passiert? Briefcase hat das Folgende getan:" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#, fuzzy +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "Es **generiert eine Anwendungsvorlage**. Um ein natives Installationsprogramm zu erstellen, sind eine Menge Dateien und Konfigurationen erforderlich, die über den Code der eigentlichen Anwendung hinausgehen. Dieses zusätzliche Gerüst ist für jede Anwendung auf der gleichen Plattform fast gleich, mit Ausnahme des Namens der eigentlichen Anwendung, die erstellt wird - daher bietet Briefcase eine Anwendungsvorlage für jede unterstützte Plattform. In diesem Schritt wird die Vorlage ausgerollt, wobei der Name Ihrer Anwendung, die Bundle-ID und andere Eigenschaften Ihrer Konfigurationsdatei entsprechend der Plattform, auf der Sie bauen, ersetzt werden." + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +#, fuzzy +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "Wenn Sie mit der von Briefcase bereitgestellten Vorlage nicht zufrieden sind, können Sie Ihre eigene Vorlage erstellen. Sie sollten dies jedoch erst dann tun, wenn Sie etwas mehr Erfahrung mit der Standardvorlage von Briefcase haben." + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#, fuzzy +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "Es **lud ein Support-Paket herunter und installierte es**. Der Paketierungsansatz von Briefcase lässt sich am besten als \"das Einfachste, was möglich ist\" beschreiben - es liefert einen vollständigen, isolierten Python-Interpreter als Teil jeder Anwendung, die es erstellt. Dies ist etwas ineffizient - wenn Sie 5 Anwendungen mit Briefcase verpackt haben, haben Sie 5 Kopien des Python-Interpreters. Allerdings garantiert dieser Ansatz, dass jede Anwendung völlig unabhängig ist und eine bestimmte Python-Version verwendet, von der bekannt ist, dass sie mit der Anwendung funktioniert." + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +#, fuzzy +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "Auch hier bietet Briefcase ein Standard-Unterstützungspaket für jede Plattform; wenn Sie möchten, können Sie Ihr eigenes Unterstützungspaket bereitstellen und dieses Paket als Teil des Erstellungsprozesses einbinden lassen. Dies kann sinnvoll sein, wenn Sie bestimmte Optionen im Python-Interpreter aktiviert haben wollen oder wenn Sie Module aus der Standardbibliothek entfernen wollen, die Sie zur Laufzeit nicht benötigen." + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#, fuzzy +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "Briefcase verwaltet einen lokalen Zwischenspeicher für Support-Pakete. Wenn Sie also ein bestimmtes Support-Paket heruntergeladen haben, wird diese zwischengespeicherte Kopie bei zukünftigen Builds verwendet." + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#, fuzzy +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Es **installiert Anwendungsanforderungen**. Ihre Anwendung kann alle Module von Drittanbietern angeben, die zur Laufzeit benötigt werden. Diese werden mittels `pip` in das Installationsprogramm Ihrer Anwendung installiert." + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#, fuzzy +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "Es **Installiert Ihren Anwendungscode**. Ihre Anwendung hat ihren eigenen Code und Ressourcen (z. B. Bilder, die zur Laufzeit benötigt werden); diese Dateien werden in das Installationsprogramm kopiert." + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#, fuzzy +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "Er **installiert die von Ihrer Anwendung benötigten Ressourcen**. Schließlich fügt er alle zusätzlichen Ressourcen hinzu, die das Installationsprogramm selbst benötigt. Dazu gehören Dinge wie Symbole, die an die endgültige Anwendung angehängt werden müssen, und Splash-Screen-Bilder." + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#, fuzzy +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Sobald dies abgeschlossen ist, sollten Sie im Projektverzeichnis ein Verzeichnis sehen, das Ihrer Plattform entspricht (`macOS`, `linux` oder `windows`) und zusätzliche Dateien enthält. Dies ist die plattformspezifische Paketierungskonfiguration für Ihre Anwendung." + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#, fuzzy +msgid "Building your application" +msgstr "Erstellung Ihrer Anwendung" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#, fuzzy +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "Sie können nun Ihre Anwendung kompilieren. In diesem Schritt wird die Binärkompilierung durchgeführt, die erforderlich ist, damit Ihre Anwendung auf Ihrer Zielplattform ausgeführt werden kann." + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#, fuzzy +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "Unter macOS muss der Befehl `build` nichts *kompilieren*, aber er muss den Inhalt der Binärdatei signieren, damit sie ausgeführt werden kann. Diese Signatur ist eine *ad hoc* Signatur - sie funktioniert nur auf *Ihrem* Rechner; wenn Sie die Anwendung an andere weitergeben wollen, müssen Sie eine vollständige Signatur bereitstellen." + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#, fuzzy +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Sobald dieser Schritt abgeschlossen ist, wird der `build`-Ordner einen `helloworld-0.0.1`-Ordner enthalten, der einen Spiegel des Linux `/usr`-Dateisystems enthält. Dieser Spiegel des Dateisystems enthält einen `bin`-Ordner mit einer `helloworld`-Binärdatei, sowie die `lib`- und `share`-Ordner, die zur Unterstützung der Binärdatei benötigt werden." + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#, fuzzy +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "Unter Windows muss der `build`-Befehl nichts *kompilieren*, aber er muss einige Metadaten schreiben, damit die Anwendung ihren Namen, ihre Version und so weiter kennt." + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +#, fuzzy +msgid "Triggering antivirus" +msgstr "Auslösen von Antivirus" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#, fuzzy +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Da diese Metadaten direkt in die vorkompilierte Binärdatei geschrieben werden, die während des `create`-Befehls aus der Vorlage ausgerollt wird, kann dies Antivirensoftware auf Ihrem Rechner auslösen und verhindern, dass die Metadaten geschrieben werden. In diesem Fall weisen Sie das Antivirusprogramm an, die Ausführung des Tools (mit dem Namen `rcedit-x64.exe`) zu erlauben und führen Sie den obigen Befehl erneut aus." + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#, fuzzy +msgid "Running your app" +msgstr "Ausführen Ihrer Anwendung" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#, fuzzy +msgid "You can now use Briefcase to run your application:" +msgstr "Sie können nun Briefcase verwenden, um Ihre Anwendung auszuführen:" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#, fuzzy +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Dies startet Ihre native Anwendung unter Verwendung der Ausgabe des `build` Befehls." + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#, fuzzy +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "Möglicherweise bemerken Sie einige kleine Unterschiede im Aussehen Ihrer Anwendung, wenn sie ausgeführt wird. Beispielsweise können die vom Betriebssystem angezeigten Symbole und der Name etwas anders aussehen als bei der Ausführung im Entwicklermodus. Das liegt auch daran, dass Sie die gepackte Anwendung verwenden und nicht nur den Python-Code ausführen. Aus der Sicht des Betriebssystems führen Sie nun \"eine Anwendung\" und nicht \"ein Python-Programm\" aus, was sich in der Darstellung der Anwendung widerspiegelt." + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#, fuzzy +msgid "Building your installer" +msgstr "Erstellung Ihres Installationsprogramms" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#, fuzzy +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Sie können nun Ihre Anwendung mit dem Befehl `package` zur Verteilung verpacken. Der Befehl `package` führt alle Kompilierungen durch, die notwendig sind, um das gerüstete Projekt in ein endgültiges, verteilbares Produkt zu verwandeln. Abhängig von der Plattform kann dies die Kompilierung eines Installationsprogramms, die Durchführung einer Codesignierung oder andere Aufgaben vor der Verteilung beinhalten." + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#, fuzzy +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "Der Ordner `dist` enthält eine Datei namens `Hello World-0.0.1.dmg`. Wenn Sie diese Datei im Finder finden und auf das Symbol doppelklicken, wird die DMG-Datei gemountet und Sie erhalten eine Kopie der Hello World-Anwendung und einen Link zu Ihrem Programme-Ordner für eine einfache Installation. Ziehen Sie die Anwendungsdatei in den Ordner Programme, und schon ist Ihre Anwendung installiert. Schicken Sie die DMG-Datei an einen Freund oder eine Freundin, der/die das Gleiche tun kann." + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#, fuzzy +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#, fuzzy +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "Die Ausgabe des Paketschritts wird je nach Linux-Distribution leicht unterschiedlich sein. Wenn Sie mit einer von Debian abgeleiteten Distribution arbeiten, werden Sie sehen:" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#, fuzzy +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "Der `dist`-Ordner enthält die `.deb`-Datei, die erzeugt wurde." + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#, fuzzy +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "Wenn Sie mit einer RHEL-basierten Distribution arbeiten, werden Sie es sehen:" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#, fuzzy +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "Der Ordner `dist` enthält die erzeugte `.rpm`-Datei." + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#, fuzzy +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "Wenn Sie mit einer Arch-basierten Distribution arbeiten, werden Sie es sehen:" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#, fuzzy +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "Der Ordner `dist` enthält die Datei `.pkg.tar.zst`, die erzeugt wurde." + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#, fuzzy +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "Andere Linux-Distributionen werden derzeit nicht für die Paketierung unterstützt." + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#, fuzzy +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "Wenn Sie ein Paket für eine andere Linux-Distribution als die, die Sie verwenden, erstellen möchten, kann Briefcase ebenfalls helfen - allerdings müssen Sie Docker installieren." + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#, fuzzy +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Offizielle Installationsprogramme für die [Docker Engine]{1} sind für eine Reihe von Unix-Distributionen verfügbar. Folgen Sie den Anweisungen für Ihre Plattform; stellen Sie jedoch sicher, dass Sie Docker nicht im \"Rootless\"-Modus installieren." + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#, fuzzy +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "Sobald Sie Docker installiert haben, sollten Sie in der Lage sein, einen Linux-Container zu starten - zum Beispiel:" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#, fuzzy +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "zeigt Ihnen eine Unix-Eingabeaufforderung (etwa `root@84444e31cff9:/#`) innerhalb eines Ubuntu 22.04 Docker-Containers. Geben Sie Strg-D ein, um Docker zu beenden und zu Ihrer lokalen Shell zurückzukehren." + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#, fuzzy +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "Sobald Sie Docker installiert haben, können Sie Briefcase verwenden, um ein Paket für jede Linux-Distribution zu erstellen, die Briefcase unterstützt, indem Sie ein Docker-Image als Argument übergeben. Um beispielsweise ein DEB-Paket für Ubuntu 22.04 (Jammy) zu erstellen, können Sie, unabhängig vom Betriebssystem, das Sie verwenden, Folgendes ausführen:" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#, fuzzy +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Dadurch wird das Docker-Image für das von Ihnen ausgewählte Betriebssystem heruntergeladen, ein Container erstellt, der Briefcase-Builds ausführen kann, und das Anwendungspaket innerhalb des Images erstellt. Sobald dies abgeschlossen ist, enthält der Ordner `dist` das Paket für die Linux-Zieldistribution." + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#, fuzzy +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#, fuzzy +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Sobald dieser Schritt abgeschlossen ist, enthält der Ordner `dist` eine Datei mit dem Namen `Hello_World-0.0.1.msi`. Wenn Sie auf dieses Installationsprogramm doppelklicken, um es zu starten, sollten Sie den bekannten Windows-Installationsprozess durchlaufen. Sobald die Installation abgeschlossen ist, finden Sie einen \"Hello World\"-Eintrag in Ihrem Startmenü." + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattformen verpackt. Aber was passiert, wenn wir den Code in unserer Anwendung aktualisieren müssen? Wie bekommen wir diese Aktualisierungen in unsere paketierte Anwendung? Schauen Sie sich [Tutorial 4][./tutorial-4] an, um das herauszufinden..." + +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#~ msgstr "" + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..8397eed7 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,171 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Marco Esters \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +msgid "Tutorial 4 - Updating your application" +msgstr "Tutorial 4 - Aktualisieren Ihrer Anwendung" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#, fuzzy +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "Im letzten Lehrgang haben wir unsere Anwendung als native Anwendung verpackt. Wenn Sie es mit einer realen Anwendung zu tun haben, wird das nicht das Ende der Geschichte sein - Sie werden wahrscheinlich einige Tests durchführen, Probleme entdecken und einige Änderungen vornehmen müssen. Selbst wenn Ihre Anwendung perfekt ist, werden Sie irgendwann die Version 2 Ihrer Anwendung mit Verbesserungen veröffentlichen wollen." + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#, fuzzy +msgid "So - how do you update your installed app when you make code changes?" +msgstr "Wie aktualisieren Sie also Ihre installierte Anwendung, wenn Sie Codeänderungen vornehmen?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#, fuzzy +msgid "Updating application code" +msgstr "Aktualisierung des Anwendungscodes" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#, fuzzy +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "Unsere Anwendung gibt derzeit auf der Konsole aus, wenn Sie die Schaltfläche drücken. Allerdings sollten GUI-Anwendungen die Konsole nicht wirklich für die Ausgabe verwenden. Sie müssen Dialoge verwenden, um mit den Benutzern zu kommunizieren." + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#, fuzzy +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Fügen wir ein Dialogfeld hinzu, um Hallo zu sagen, anstatt in die Konsole zu schreiben. Ändern Sie den `say_hello` Callback so, dass er wie folgt aussieht:" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#, fuzzy +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "Damit wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die Schaltfläche gedrückt wird." + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#, fuzzy +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und die Taste drücken, sehen Sie das neue Dialogfenster:" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Hallo Welt Tutorial 4 Dialog, auf macOS" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Hallo Welt Tutorial 4 Dialog, unter Linux" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Hello World Tutorial 4 Dialog, unter Windows" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#, fuzzy +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Wenn Sie jedoch `briefcase run` ausführen, wird das Dialogfeld nicht angezeigt." + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +#, fuzzy +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Warum ist das so? Nun, `briefcase dev` arbeitet damit, dass es Ihren Code an Ort und Stelle ausführt - es versucht, eine möglichst realistische Laufzeitumgebung für Ihren Code zu erzeugen, aber es stellt keine der Plattforminfrastrukturen zur Verfügung, um Ihren Code als Anwendung zu verpacken. Ein Teil des Prozesses der Paketierung Ihrer Anwendung beinhaltet das Kopieren Ihres Codes *in* das Anwendungsbündel - und im Moment hat Ihre Anwendung noch den alten Code in sich." + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#, fuzzy +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "Wir müssen also briefcase anweisen, Ihre Anwendung zu aktualisieren, indem wir die neue Version des Codes hineinkopieren. Wir *könnten* dies tun, indem wir das alte Plattformverzeichnis löschen und von vorne beginnen. Briefcase bietet jedoch einen einfacheren Weg - Sie können den Code für Ihre bestehende gebündelte Anwendung aktualisieren:" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#, fuzzy +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch `create` auf, um ein neues Gerüst zu erzeugen." + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#, fuzzy +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Nun, da wir den Installationscode aktualisiert haben, können wir `briefcase build` ausführen, um die Anwendung neu zu kompilieren, `briefcase run`, um die aktualisierte Anwendung zu starten, und `briefcase package`, um die Anwendung für die Verteilung neu zu verpacken." + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#, fuzzy +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3][tutorial-3] erwähnt, für das Tutorial empfehlen, `briefcase package` mit dem `--adhoc-sign`-Flag auszuführen, um die Komplexität der Einrichtung einer Code-Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu halten)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#, fuzzy +msgid "Update and run in one step" +msgstr "Aktualisierung und Ausführung in einem Schritt" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#, fuzzy +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Wenn Sie Code-Änderungen schnell iterieren, werden Sie wahrscheinlich eine Code-Änderung vornehmen, die Anwendung aktualisieren und sie sofort wieder ausführen wollen. Für die meisten Zwecke ist der Entwicklermodus (`briefcase dev`) der einfachste Weg, diese Art der schnellen Iteration durchzuführen. Wenn Sie jedoch etwas darüber testen, wie Ihre Anwendung als native Binärdatei läuft, oder einen Fehler suchen, der nur auftritt, wenn Ihre Anwendung in gepackter Form vorliegt, müssen Sie möglicherweise wiederholte Aufrufe von `briefcase run` verwenden. Um den Prozess des Aktualisierens und Ausführens der gebündelten Anwendung zu vereinfachen, hat Briefcase eine Abkürzung, die dieses Verwendungsmuster unterstützt - die `-u` (oder `--update`) Option auf dem `run` Befehl." + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +#, fuzzy +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Versuchen wir, eine weitere Änderung vorzunehmen. Sie haben vielleicht bemerkt, dass das Dialogfeld \"Hallo\" sagt, wenn Sie keinen Namen in das Texteingabefeld eingeben. Ändern wir die Funktion \"say_hello\" erneut, um diesen Sonderfall zu behandeln." + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#, fuzzy +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "Am Anfang der Datei, zwischen den Importen und der `class HelloWorld`-Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen:" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#, fuzzy +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-Methode zu verwenden:" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#, fuzzy +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Führen Sie Ihre Anwendung im Entwicklungsmodus aus (mit `briefcase dev`), um zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen und starten Sie die Anwendung mit einem Befehl:" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#, fuzzy +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "Der Befehl package akzeptiert auch das Argument `-u`. Wenn Sie also eine Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, können Sie `briefcase package -u` ausführen." + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattformen verpackt und konnten den Code in unserer Anwendung aktualisieren." + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +#, fuzzy +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Aber was ist mit mobilen Geräten? In [Tutorial 5][tutorial-5/index] werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..8b2aa983 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,214 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-07-30 00:09+0000\n" +"Last-Translator: tct123 \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "Tutorial 5 - Mobiles Arbeiten: Android" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "Jetzt nehmen wir unsere Anwendung und stellen sie als Android-Anwendung bereit." + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "Der Prozess der Bereitstellung einer Anwendung für Android ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Briefcase übernimmt die Installation von Abhängigkeiten für Android, einschließlich des Android SDK, des Android-Emulators und eines Java-Compilers." + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +msgid "Create an Android app and compile it" +msgstr "Eine Android-App erstellen und kompilieren" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Zuerst führen Sie den Befehl `create` aus. Dies lädt eine Android-App-Vorlage herunter und fügt Ihren Python-Code hinzu." + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#, fuzzy +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Wenn Sie `briefcase create android` zum ersten Mal ausführen, lädt Briefcase ein Java JDK und das Android SDK herunter. Die Dateigrößen und Downloadzeiten können beträchtlich sein; dies kann eine Weile dauern (10 Minuten oder länger, abhängig von der Geschwindigkeit Ihrer Internetverbindung). Wenn der Download abgeschlossen ist, werden Sie aufgefordert, die Android-SDK-Lizenz von Google zu akzeptieren." + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Sobald dies abgeschlossen ist, haben wir in unserem Projekt ein Verzeichnis `build\\helloworld\\android\\gradle`, das ein Android-Projekt mit einer Gradle-Build-Konfiguration enthält. Dieses Projekt enthält Ihren Anwendungscode und ein Support-Paket, das den Python-Interpreter enthält." + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Wir können dann den Befehl `build` von Briefcase verwenden, um diese in eine Android APK App-Datei zu kompilieren." + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +msgid "Gradle may look stuck" +msgstr "Gradle kann aussehen, als würde es stecken bleiben" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Während des Schrittes `briefcase build android` gibt Gradle (das Werkzeug zur Erstellung der Android-Plattform) `CONFIGURING: 100%` aus und scheint nichts zu tun. Keine Sorge, es steckt nicht fest - es lädt weitere Android SDK Komponenten herunter. Je nach der Geschwindigkeit Ihrer Internetverbindung kann dies weitere 10 Minuten (oder länger) dauern. Diese Verzögerung sollte nur beim allerersten Mal auftreten, wenn Sie `build` ausführen; die Tools werden zwischengespeichert und beim nächsten Build werden die zwischengespeicherten Versionen verwendet." + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +msgid "Run the app on a virtual device" +msgstr "Ausführen der Anwendung auf einem virtuellen Gerät" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Wir sind nun bereit, unsere Anwendung zu starten. Sie können den Befehl `run` von Briefcase verwenden, um die Anwendung auf einem Android-Gerät auszuführen. Beginnen wir mit der Ausführung auf einem Android-Emulator." + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Um Ihre Anwendung auszuführen, starten Sie `briefcase run android`. Daraufhin erhalten Sie eine Liste von Geräten, auf denen Sie die Anwendung ausführen können. Der letzte Punkt ist immer eine Option zum Erstellen eines neuen Android-Emulators." + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Nun können wir unser gewünschtes Gerät auswählen. Wählen Sie die Option \"Einen neuen Android-Emulator erstellen\" und akzeptieren Sie die Standardauswahl für den Gerätenamen (`beePhone`)." + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` wird das virtuelle Gerät automatisch starten. Wenn das Gerät hochfährt, sehen Sie das Android-Logo:" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +msgid "Android virtual device booting" +msgstr "Booten eines virtuellen Android-Geräts" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "Sobald das Gerät hochgefahren ist, wird Briefcase Ihre Anwendung auf dem Gerät installieren. Sie sehen kurz einen Startbildschirm:" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Virtuelles Android-Gerät vollständig gestartet, auf dem Startbildschirm" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "Die Anwendung wird dann gestartet. Während die App startet, wird ein Begrüßungsbildschirm angezeigt:" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +msgid "App splash screen" +msgstr "App-Startbildschirm" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +msgid "The emulator didn't start!" +msgstr "Der Emulator ist nicht gestartet!" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "Der Android-Emulator ist eine komplexe Software, die auf eine Reihe von Hardware- und Betriebssystemfunktionen angewiesen ist - Funktionen, die auf älteren Rechnern möglicherweise nicht verfügbar oder aktiviert sind. Wenn Sie Schwierigkeiten beim Starten des Android-Emulators haben, lesen Sie den Abschnitt [Anforderungen und Empfehlungen]{1} in der Android-Entwicklerdokumentation." + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "Wenn die App zum ersten Mal gestartet wird, muss sie sich auf dem Gerät entpacken. Das kann ein paar Sekunden dauern. Sobald sie entpackt ist, sehen Sie die Android-Version unserer Desktop-App:" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +msgid "App from Tutorial 2, fully launched" +msgstr "App aus Tutorial 2, vollständig gestartet" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +msgid "Demo app fully launched" +msgstr "Demo-App vollständig gestartet" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Wenn Sie nicht sehen, dass Ihre Anwendung startet, sollten Sie Ihr Terminal überprüfen, in dem Sie `briefcase run` ausgeführt haben, und nach Fehlermeldungen suchen." + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "Wenn Sie in Zukunft auf diesem Gerät arbeiten wollen, ohne das Menü zu benutzen, können Sie Briefcase den Namen des Emulators mitteilen, indem Sie `briefcase run android -d @beePhone` verwenden, um direkt auf dem virtuellen Gerät zu arbeiten." + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +msgid "Run the app on a physical device" +msgstr "Ausführen der App auf einem physischen Gerät" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "Wenn Sie ein physisches Android-Telefon oder -Tablet besitzen, können Sie es mit einem USB-Kabel an Ihren Computer anschließen und dann Briefcase verwenden, um Ihr physisches Gerät anzusteuern." + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "Android erfordert, dass Sie Ihr Gerät vorbereiten, bevor Sie es für die Entwicklung verwenden können. Sie müssen 2 Änderungen an den Optionen auf Ihrem Gerät vornehmen:" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +msgid "Enable developer options" +msgstr "Entwickleroptionen aktivieren" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +msgid "Enable USB debugging" +msgstr "USB-Debugging einschalten" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Details zur Durchführung dieser Änderungen können [in der Android-Entwicklerdokumentation]{1} nachgelesen werden." + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der verfügbaren Geräte erscheinen, wenn Sie `briefcase run android` ausführen." + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Hier sehen wir ein neues physisches Gerät mit seiner Seriennummer in der Einsatzliste - in diesem Fall ein Pixel 3a. Wenn Sie in Zukunft auf diesem Gerät arbeiten möchten, ohne das Menü zu verwenden, können Sie die Seriennummer des Telefons an Briefcase übergeben (in diesem Fall `briefcase run android -d 94ZZY0LNE8`). Dies wird direkt auf dem Gerät ausgeführt, ohne dass Sie gefragt werden." + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +msgid "My device doesn't appear!" +msgstr "Mein Gerät wird nicht angezeigt!" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "Wenn Ihr Gerät in dieser Liste nicht erscheint, haben Sie entweder das USB-Debugging nicht aktiviert (oder das Gerät ist nicht eingesteckt!)." + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Wenn Ihr Gerät zwar angezeigt wird, aber als \"Unbekanntes Gerät (nicht für die Entwicklung autorisiert)\" aufgeführt ist, wurde der Entwicklermodus nicht korrekt aktiviert. Führen Sie die [Schritte zum Aktivieren der Entwickleroptionen]{1} erneut aus, und führen Sie \"Briefcase run android\" erneut aus." + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..f99174c4 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,83 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-08-14 00:09+0000\n" +"Last-Translator: tct123 \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "Tutorial 5 – Mobil nutzen: iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#, fuzzy +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "Sobald wir Xcode installiert haben, können wir unsere Anwendung als iOS-App bereitstellen." + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "Der Prozess der Bereitstellung einer Anwendung für iOS ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Zuerst führen Sie den Befehl `create` aus - aber dieses Mal geben wir an, dass wir eine iOS-Anwendung erstellen wollen:" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Sobald dies abgeschlossen ist, haben wir ein `build/helloworld/ios/xcode` Verzeichnis, das ein Xcode Projekt enthält, sowie die unterstützenden Bibliotheken und den Anwendungscode, der für die Anwendung benötigt wird." + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Sie können dann Briefcase verwenden, um Ihre Anwendung mit `briefcase build iOS` zu kompilieren:" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Wir sind nun bereit, unsere Anwendung mit `briefcase run iOS` zu starten. Sie werden aufgefordert, ein Gerät auszuwählen, für das kompiliert werden soll. Wenn Sie Simulatoren für mehrere iOS SDK-Versionen installiert haben, werden Sie möglicherweise auch gefragt, welche iOS-Version Sie verwenden möchten. Die Optionen, die Ihnen angezeigt werden, können sich von den in dieser Ausgabe gezeigten Optionen unterscheiden - zumindest wird die Liste der Geräte wahrscheinlich anders aussehen. Für unsere Zwecke spielt es keine Rolle, welchen Simulator Sie wählen." + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "Dadurch wird der iOS-Simulator gestartet, Ihre Anwendung installiert und gestartet. Sie sollten sehen, dass der Simulator startet und schließlich Ihre iOS-Anwendung öffnet:" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Hello World Tutorial 5 Fenster, auf iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Wenn Sie bereits im Voraus wissen, welchen iOS-Simulator Sie verwenden möchten, können Sie Briefcase mit der Option `-d` (oder `--device`) anweisen, diesen Simulator zu verwenden. Verwenden Sie den Namen des Geräts, das Sie beim Erstellen Ihrer Anwendung ausgewählt haben, und führen Sie es aus:" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "Wenn Sie mehrere iOS-Versionen zur Verfügung haben, wählt Briefcase die höchste iOS-Version aus; wenn Sie eine bestimmte iOS-Version auswählen möchten, weisen Sie das Programm an, diese Version zu verwenden:" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +msgid "Or, you can name a specific device UDID:" +msgstr "Oder Sie können ein bestimmtes Gerät UDID nennen:" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Um iOS-Anwendungen zu kompilieren, benötigen wir Xcode, das kostenlos [im macOS App Store]{1} erhältlich ist." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgstr "" + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..bdca87fe --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,50 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2024-08-14 00:09+0000\n" +"Last-Translator: tct123 \n" +"Language-Team: German \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" +"X-Generator: Weblate 5.7-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +msgid "Tutorial 5 - Taking it Mobile" +msgstr "Tutorial 5 - Mobil nutzen" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "" +"Bislang haben wir unsere Anwendung auf dem Desktop ausgeführt und getestet. " +"BeeWare unterstützt jedoch auch mobile Plattformen - und die von uns " +"geschriebene Anwendung kann auch auf Ihrem mobilen Gerät eingesetzt werden!" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +msgid "iOS applications can only be compiled on macOS." +msgstr "iOS-Anwendungen können nur unter macOS kompiliert werden." + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "" +"Android-Anwendungen können unter macOS, Windows oder Linux kompiliert werden." + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Lasst uns unsere App für iOS bauen!][iOS]" + +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Lassen Sie uns unsere App für Android erstellen!][android]" diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..37759b54 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,101 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Marco Esters \n" +"Language-Team: German \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" +"X-Generator: Weblate 5.4-dev\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 +msgid "Tutorial 6 - Put it on the web!" +msgstr "Tutorial 6 - Ins Netz stellen!" + +#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +#, fuzzy +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "Das Toga Widget Toolkit unterstützt nicht nur mobile Plattformen, sondern auch das Web! Mit der gleichen API, die Sie für die Bereitstellung Ihrer Desktop- und mobilen Anwendungen verwendet haben, können Sie Ihre Anwendung als einseitige Webanwendung bereitstellen." + +#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 +#, fuzzy +msgid "Proof of Concept" +msgstr "Proof of Concept" + +#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +#, fuzzy +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "Das Toga Web Backend ist das am wenigsten ausgereifte von allen Toga Backends. Es ist ausgereift genug, um ein paar Funktionen zu zeigen, aber es wird wahrscheinlich fehlerhaft sein und viele der Widgets, die auf anderen Plattformen verfügbar sind, fehlen. Zum jetzigen Zeitpunkt sollte Web Deployment als \"Proof of Concept\" betrachtet werden - genug, um zu demonstrieren, was getan werden kann, aber nicht genug, um sich auf eine ernsthafte Entwicklung zu verlassen." + +#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +#, fuzzy +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "Wenn Sie Probleme mit diesem Schritt des Tutorials haben, können Sie zur nächsten Seite wechseln." + +#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#, fuzzy +msgid "Deploying as a web app" +msgstr "Als Webanwendung bereitstellen" + +#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +#, fuzzy +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "Der Prozess der Bereitstellung als einseitige Webanwendung folgt dem gleichen bekannten Muster - Sie erstellen die Anwendung, bauen die Anwendung und führen sie dann aus. Wenn Sie versuchen, eine Anwendung auszuführen und Briefcase feststellt, dass sie nicht für die angestrebte Plattform erstellt oder gebaut wurde, führt es die Schritte zum Erstellen und Bauen für Sie aus. Da wir die Anwendung zum ersten Mal für das Web ausführen, können wir alle drei Schritte mit einem Befehl ausführen:" + +#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 +#, fuzzy +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Dadurch wird ein Webbrowser geöffnet, der auf [http://127.0.0.1:8080](http://127.0.0.1:8080) verweist:" + +#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 +#, fuzzy +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "Hello World Tutorial 6 Dialog, in einem Browser" + +#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#, fuzzy +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "Wenn Sie Ihren Namen eingeben und auf die Schaltfläche klicken, wird ein Dialogfeld angezeigt." + +#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#, fuzzy +msgid "How does this work?" +msgstr "Wie funktioniert das?" + +#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +#, fuzzy +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Diese Webanwendung ist eine statische Website - eine einzelne HTML-Quellseite mit einigen CSS- und anderen Ressourcen. Briefcase hat einen lokalen Webserver gestartet, um diese Seite bereitzustellen, damit Ihr Browser die Seite anzeigen kann. Wenn Sie diese Webseite in Produktion geben möchten, können Sie den Inhalt des Ordners `www` auf einen beliebigen Webserver kopieren, der statische Inhalte bereitstellen kann." + +#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +#, fuzzy +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Aber wenn Sie die Taste drücken, führen Sie Python-Code aus... wie funktioniert das? Toga verwendet [PyScript]{1}, um einen Python-Interpreter im Browser bereitzustellen. Briefcase verpackt den Code Ihrer Anwendung als Rädchen, die PyScript im Browser laden kann. Wenn die Seite geladen wird, läuft der Anwendungscode im Browser und baut die Benutzeroberfläche mit Hilfe des Browser-DOMs auf. Wenn Sie auf eine Schaltfläche klicken, führt diese Schaltfläche den Code zur Ereignisbehandlung im Browser aus." + +#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +#, fuzzy +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Obwohl wir diese App jetzt auf dem Desktop, auf dem Handy und im Web bereitgestellt haben, ist die App recht einfach und enthält keine Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7][tutorial-7] an, um das herauszufinden..." diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..c58336e2 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,375 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Marco Esters \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +#, fuzzy +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "Tutorial 7 - Die (Dritt)-Partei in Gang bringen" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#, fuzzy +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "Bisher haben wir in der von uns erstellten Anwendung nur unseren eigenen Code sowie den von BeeWare bereitgestellten Code verwendet. In einer realen Anwendung werden Sie jedoch wahrscheinlich eine Bibliothek eines Drittanbieters verwenden wollen, die Sie aus dem Python Package Index (PyPI) herunterladen." + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#, fuzzy +msgid "Let's modify our app to include a third-party library." +msgstr "Ändern wir unsere Anwendung so, dass sie eine Bibliothek eines Drittanbieters enthält." + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#, fuzzy +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Fügen wir einen `httpx`-API-Aufruf zu unserer Anwendung hinzu. Fügen Sie einen Import am Anfang der `app.py` hinzu, um `httpx` zu importieren:" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Dann modifizieren Sie den `say_hello()` Callback so, dass er wie folgt aussieht:" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#, fuzzy +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "Führen wir unsere aktualisierte Anwendung im Briefcase-Entwicklermodus aus, um zu prüfen, ob unsere Änderung funktioniert." + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +#, fuzzy +msgid "iOS" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +#, fuzzy +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "Was ist passiert? Wir haben `httpx` zu unserem *Code* hinzugefügt, aber wir haben es nicht zu unserer virtuellen Entwicklungsumgebung hinzugefügt. Wir können dies beheben, indem wir `httpx` mit `pip` installieren und dann `briefcase dev` erneut ausführen:" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +#, fuzzy +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "Wenn Sie einen Namen eingeben und auf die Schaltfläche drücken, sollte ein Dialogfeld angezeigt werden, das etwa so aussieht:" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Hallo Welt Tutorial 7 Dialog, auf macOS" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "Hallo Welt Tutorial 7 Dialog, unter Linux" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "Hallo Welt Tutorial 7 Dialog, unter Windows" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#, fuzzy +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "Wir haben jetzt eine funktionierende Anwendung, die eine Bibliothek eines Drittanbieters verwendet und im Entwicklungsmodus läuft!" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#, fuzzy +msgid "Running the updated app" +msgstr "Ausführen der aktualisierten Anwendung" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir die gleichen Schritte wie in [Tutorial 4][tutorial-4] ausführen:" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "Aktualisieren Sie den Code in der gepackten Anwendung:" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "Bauen Sie die Anwendung neu auf:" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#, fuzzy +msgid "And finally, run the app:" +msgstr "Und schließlich führen Sie die Anwendung aus:" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler und ein Absturzdialog angezeigt:" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "Hallo Welt Tutorial 7 App Absturz, auf macOS" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler angezeigt:" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Hallo Welt Tutorial 7 App Absturz, auf Windows" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler angezeigt:" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Wieder einmal ist der Start der Anwendung fehlgeschlagen, weil `httpx` installiert wurde - aber warum? Haben wir `httpx` nicht schon installiert?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "Das haben wir - aber nur in der Entwicklungsumgebung. Ihre Entwicklungsumgebung befindet sich ausschließlich auf Ihrem Rechner - und wird nur aktiviert, wenn Sie sie explizit aktivieren. Obwohl Briefcase einen Entwicklungsmodus hat, ist der Hauptgrund für die Verwendung von Briefcase, Ihren Code zu verpacken, damit Sie ihn an jemand anderen weitergeben können." + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "Der einzige Weg, um zu garantieren, dass jemand anderes eine Python-Umgebung hat, die alles enthält, was er braucht, ist, eine vollständig isolierte Python-Umgebung zu erstellen. Das bedeutet, dass es eine komplett isolierte Python-Installation und einen komplett isolierten Satz von Abhängigkeiten gibt. Das ist es, was Briefcase baut, wenn Sie `briefcase build` ausführen - eine isolierte Python Umgebung. Das erklärt auch, warum `httpx` nicht installiert ist - es wurde in Ihrer *Entwicklungsumgebung* installiert, aber nicht in der gepackten Anwendung." + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "Wir müssen also Briefcase mitteilen, dass unsere Anwendung eine externe Abhängigkeit hat." + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "Aktualisieren von Abhängigkeiten" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "Im Hauptverzeichnis Ihrer Anwendung befindet sich eine Datei namens `pyproject.toml`. Diese Datei enthält alle Konfigurationsdetails der Anwendung, die Sie beim Ausführen von `briefcase new` angegeben haben." + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` ist in Abschnitte unterteilt; einer der Abschnitte beschreibt die Einstellungen für Ihre Anwendung:" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "Die Option `requires` beschreibt die Abhängigkeiten unserer Anwendung. Es handelt sich um eine Liste von Strings, die Bibliotheken (und optional die Versionen) der Bibliotheken angeben, die Sie in Ihre Anwendung aufnehmen möchten." + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "Ändern Sie die Einstellung `requires` so, dass sie lautet:" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Durch Hinzufügen dieser Einstellung teilen wir Briefcase mit: \"Wenn du meine Anwendung baust, führe `pip install httpx` in das Anwendungsbündel ein\". Alles, was eine legale Eingabe für `pip install` wäre, kann hier verwendet werden - Sie könnten also angeben:" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Eine bestimmte Bibliotheksversion (z.B. `\"httpx==0.19.0\"`);" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Eine Reihe von Bibliotheksversionen (z.B. `\"httpx>=0.19\"`);" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Ein Pfad zu einem Git-Repository (z. B. `\"git+https://github.com/encode/httpx\"`); oder" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#, fuzzy +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "Ein lokaler Dateipfad (Aber Achtung: Wenn Sie Ihren Code an jemand anderen weitergeben, existiert dieser Pfad wahrscheinlich nicht auf dessen Rechner!)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Weiter unten in `pyproject.toml` werden Sie andere Abschnitte bemerken, die vom Betriebssystem abhängig sind, wie `[tool.briefcase.app.helloworld.macOS]` und `[tool.briefcase.app.helloworld.windows]`. Diese Abschnitte haben *auch* eine `requires` Einstellung. Diese Einstellungen erlauben es Ihnen, zusätzliche plattformspezifische Abhängigkeiten zu definieren - wenn Sie also zum Beispiel eine plattformspezifische Bibliothek benötigen, um einen Aspekt Ihrer Anwendung zu behandeln, können Sie diese Bibliothek im plattformspezifischen `requires`-Abschnitt angeben, und diese Einstellung wird nur für diese Plattform verwendet. Sie werden feststellen, dass die `toga`-Bibliotheken alle im plattformspezifischen `requires`-Abschnitt angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "In unserem Fall wollen wir, dass `httpx` auf allen Plattformen installiert wird, also verwenden wir die Einstellung `requires` auf Anwendungsebene. Die Abhängigkeiten auf Anwendungsebene werden immer installiert; die plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den Abhängigkeiten auf Anwendungsebene installiert." + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Nun, da wir Briefcase über unsere zusätzlichen Anforderungen informiert haben, können wir versuchen, unsere Anwendung erneut zu paketieren. Vergewissern Sie sich, dass Sie Ihre Änderungen in `pyproject.toml` gespeichert haben, und aktualisieren Sie Ihre Anwendung erneut - dieses Mal mit dem Flag `-r`. Dadurch wird Briefcase angewiesen, die Anforderungen in der gepackten Anwendung zu aktualisieren:" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Sobald Sie das Update durchgeführt haben, können Sie `briefcase build` und `briefcase run` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem neuen Dialogverhalten sehen." + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "Die Option `-r` zum Aktualisieren der Anforderungen wird auch von den Befehlen `build` und `run` beachtet. Wenn Sie also in einem Schritt aktualisieren, bauen und ausführen wollen, können Sie `briefcase run -u -r` verwenden." + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Auf Desktop-Plattformen (macOS, Windows, Linux) kann jede `pip`-Installation zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen [sind Ihre Möglichkeiten etwas eingeschränkt]{1}." + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#, fuzzy +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "BeeWare kann Binärdateien für einige beliebte Binärmodule (einschließlich `numpy`, `pandas` und `cryptography`) bereitstellen. Es ist *normalerweise* möglich, Pakete für mobile Plattformen zu kompilieren, aber es ist nicht einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie diesem sprengen." + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "Zugriff auf eine API" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Eine häufige Aufgabe, die eine Anwendung erfüllen muss, besteht darin, eine Anfrage an eine Web-API zu stellen, um Daten abzurufen und diese Daten dem Benutzer anzuzeigen. Da es sich hier um eine Spielzeuganwendung handelt, haben wir keine *echte* API, mit der wir arbeiten können, also verwenden wir die [{JSON} Placeholder API]{1} als Datenquelle." + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "Die {JSON} Platzhalter-API verfügt über eine Reihe von \"gefälschten\" API-Endpunkten, die Sie als Testdaten verwenden können. Einer dieser APIs ist der Endpunkt `/posts/`, der gefälschte Blog-Posts zurückgibt. Wenn Sie `https://jsonplaceholder.typicode.com/posts/42` in Ihrem Browser öffnen, erhalten Sie einen JSON-Payload, der einen einzelnen Beitrag beschreibt - etwas [Lorum ipsum]{1} Inhalt für einen Blogbeitrag mit der ID 42." + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "Die Python-Standardbibliothek enthält alle Werkzeuge, die Sie für den Zugriff auf eine API benötigen. Die eingebauten APIs sind jedoch sehr einfach. Sie sind gute Implementierungen des HTTP-Protokolls - aber sie erfordern, dass der Benutzer viele Details auf niedriger Ebene verwaltet, wie URL-Umleitung, Sitzungen, Authentifizierung und Nutzdatenkodierung. Als \"normaler Browser-Benutzer\" sind Sie wahrscheinlich daran gewöhnt, diese Details als selbstverständlich anzusehen, da ein Browser diese Details für Sie verwaltet." + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Infolgedessen haben Leute Bibliotheken von Drittanbietern entwickelt, die eingebauten APIs umhüllen und eine einfachere API bereitstellen, die der alltäglichen Browsererfahrung besser entspricht. Wir werden eine dieser Bibliotheken verwenden, um auf die {JSON} Platzhalter-API zuzugreifen - eine Bibliothek namens [httpx]{1}." + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Dies ändert den `say_hello()` Callback so, dass er, wenn er aufgerufen wird, dies tut:" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "eine GET-Anfrage an die JSON-Platzhalter-API stellen, um Beitrag 42 zu erhalten;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "dekodiert die Antwort als JSON;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "den Text der Nachricht zu extrahieren; und" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "den Text dieses Beitrags als Text des Dialogs einschließen." + +#~ msgid "Some binary packages may not be available" +#~ msgstr "Einige Binärpakete sind möglicherweise nicht verfügbar" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "Kurz gesagt: Jedes *reine Python*-Paket (d.h. Pakete, die *kein* binäres Modul enthalten) kann ohne Probleme verwendet werden. Wenn Ihre Abhängigkeit jedoch eine Binärkomponente enthält, muss diese kompiliert werden; derzeit bieten die meisten Python-Pakete keine Kompilierungsunterstützung für Nicht-Desktop-Plattformen." + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir [Tutorial 8][tutorial-8] an, um das herauszufinden..." + diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..fcd46376 --- /dev/null +++ b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,371 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Marco Esters \n" +"Language: de\n" +"Language-Team: German \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +#, fuzzy +msgid "Tutorial 8 - Making it Smooooth" +msgstr "Tutorial 8 - Glatt machen" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +msgid "iOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "Wenn Sie keine *wirklich* schnelle Internetverbindung haben, werden Sie vielleicht feststellen, dass die grafische Benutzeroberfläche Ihrer Anwendung beim Drücken der Schaltfläche kurzzeitig blockiert wird. Das liegt daran, dass die Webanforderung, die wir gestellt haben, *synchron* ist. Wenn unsere Anwendung die Webanforderung stellt, wartet sie, bis die API eine Antwort zurückgibt, bevor sie fortfährt. Während sie wartet, erlaubt sie der Anwendung *nicht*, neu zu zeichnen - und das Ergebnis ist, dass die Anwendung blockiert." + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +#, fuzzy +msgid "GUI Event Loops" +msgstr "GUI-Ereignis-Schleifen" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#, fuzzy +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "Um zu verstehen, warum das so ist, müssen wir uns mit den Details der Funktionsweise einer GUI-Anwendung befassen. Die Einzelheiten variieren je nach Plattform, aber die grundlegenden Konzepte sind dieselben, unabhängig von der Plattform oder der GUI-Umgebung, die Sie verwenden." + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#, fuzzy +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Eine GUI-Anwendung besteht im Grunde aus einer einzigen Schleife, die etwa so aussieht:" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "Diese Schleife wird *Ereignisschleife* genannt. (Dies sind keine tatsächlichen Methodennamen - es ist eine Veranschaulichung dessen, was im \"Pseudocode\" vor sich geht)." + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#, fuzzy +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Wenn Sie auf eine Schaltfläche klicken, eine Bildlaufleiste ziehen oder eine Taste drücken, erzeugen Sie ein \"Ereignis\". Dieses \"Ereignis\" wird in eine Warteschlange gestellt, und die Anwendung wird die Warteschlange von Ereignissen verarbeiten, wenn sie das nächste Mal die Gelegenheit dazu hat. Der Benutzercode, der als Reaktion auf das Ereignis ausgelöst wird, wird *Ereignishandler* genannt. Diese Event-Handler werden als Teil des `process_events()` Aufrufs aufgerufen." + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +#, fuzzy +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Sobald eine Anwendung alle verfügbaren Ereignisse verarbeitet hat, wird sie die grafische Benutzeroberfläche `neu zeichnen()`. Dabei werden alle Änderungen berücksichtigt, die Ereignisse an der Anzeige der Anwendung verursacht haben, sowie alles andere, was im Betriebssystem vor sich geht - zum Beispiel können die Fenster einer anderen Anwendung einen Teil des Fensters unserer Anwendung verdecken oder sichtbar machen, und die Neuzeichnung unserer Anwendung muss den Teil des Fensters widerspiegeln, der gerade sichtbar ist." + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#, fuzzy +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "Ein wichtiges Detail: Während eine Anwendung ein Ereignis verarbeitet, *kann sie nicht neu zeichnen* und *kann sie keine anderen Ereignisse verarbeiten*." + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#, fuzzy +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "Das bedeutet, dass jede in einem Event-Handler enthaltene Benutzerlogik schnell abgeschlossen werden muss. Jede Verzögerung bei der Fertigstellung des Event-Handlers wird vom Benutzer als Verlangsamung (oder Stopp) der GUI-Aktualisierungen wahrgenommen. Wenn diese Verzögerung lang genug ist, kann Ihr Betriebssystem dies als Problem melden - die macOS-\"Beachball\"- und Windows-\"Spinner\"-Symbole sind das Betriebssystem, das Ihnen mitteilt, dass Ihre Anwendung in einem Event-Handler zu lange braucht." + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#, fuzzy +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "Einfache Operationen wie \"Aktualisieren eines Etiketts\" oder \"Neuberechnung der Gesamtsumme der Eingaben\" sind leicht und schnell zu erledigen. Es gibt jedoch eine Reihe von Vorgängen, die nicht schnell erledigt werden können. Wenn Sie eine komplexe mathematische Berechnung durchführen, alle Dateien in einem Dateisystem indizieren oder eine große Netzwerkanforderung ausführen, können Sie das nicht \"einfach schnell erledigen\" - die Vorgänge sind von Natur aus langsam." + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#, fuzzy +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "Wie können wir also langlebige Operationen in einer GUI-Anwendung durchführen?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#, fuzzy +msgid "Asynchronous programming" +msgstr "Asynchrone Programmierung" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#, fuzzy +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "Was wir brauchen, ist eine Möglichkeit, einer Anwendung in der Mitte eines langlebigen Event-Handlers mitzuteilen, dass es in Ordnung ist, die Kontrolle vorübergehend an die Event-Schleife zurückzugeben, solange wir dort fortfahren können, wo wir aufgehört haben. Es liegt an der Anwendung, zu bestimmen, wann diese Freigabe erfolgen kann; aber wenn die Anwendung die Kontrolle regelmäßig an die Ereignisschleife freigibt, können wir einen lang laufenden Event-Handler haben *und* eine reaktionsfähige Benutzeroberfläche beibehalten." + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#, fuzzy +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "Wir können dies mit Hilfe der *asynchronen Programmierung* erreichen. Asynchrone Programmierung ist eine Art, ein Programm zu beschreiben, das es dem Interpreter erlaubt, mehrere Funktionen gleichzeitig auszuführen und die Ressourcen zwischen allen gleichzeitig laufenden Funktionen zu teilen." + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "Asynchrone Funktionen (so genannte *Co-Routinen*) müssen ausdrücklich als asynchron deklariert werden. Sie müssen auch intern erklären, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln." + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "In Python wird die asynchrone Programmierung mit den Schlüsselwörtern `async` und `await`, und dem Modul [asyncio]{1} in der Standardbibliothek implementiert. Mit dem Schlüsselwort `async` können wir eine Funktion als asynchrone Co-Routine deklarieren. Mit dem Schlüsselwort `await` kann man angeben, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln. Das Modul [asyncio]{1} bietet einige andere nützliche Werkzeuge und Primitive für asynchrone Programmierung." + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "Asynchronität des Tutorials" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#, fuzzy +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "In diesem Code gibt es nur 4 Änderungen gegenüber der vorherigen Version:" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#, fuzzy +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "Der Client, der erzeugt wird, ist ein asynchroner `AsyncClient()`, anstatt eines synchronen `Client()`. Dies teilt `httpx` mit, dass es im asynchronen Modus und nicht im synchronen Modus arbeiten soll." + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#, fuzzy +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "Der zur Erstellung des Clients verwendete Kontextmanager ist als `async` markiert. Dies sagt Python, dass es eine Möglichkeit gibt, die Kontrolle abzugeben, wenn der Kontextmanager betreten und verlassen wird." + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "Toga erlaubt es Ihnen, reguläre Methoden oder asynchrone Co-Routinen als Handler zu verwenden; Toga verwaltet alles hinter den Kulissen, um sicherzustellen, dass der Handler wie gewünscht aufgerufen oder erwartet wird." + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "Wenn Sie diese Änderungen speichern und die Anwendung erneut ausführen (entweder mit `briefcase dev` im Entwicklungsmodus oder indem Sie die gepackte Anwendung aktualisieren und erneut ausführen), wird es keine offensichtlichen Änderungen an der Anwendung geben. Wenn Sie jedoch auf die Schaltfläche klicken, um den Dialog auszulösen, können Sie eine Reihe von subtilen Verbesserungen feststellen:" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#, fuzzy +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "Die Schaltfläche kehrt in einen \"nicht angeklickten\" Zustand zurück, anstatt in einem \"angeklickten\" Zustand zu verharren." + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +#, fuzzy +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "Das \"Beachball\"/\"Spinner\"-Symbol wird nicht angezeigt" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#, fuzzy +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "Wenn Sie das Anwendungsfenster verschieben/vergrößern, während Sie darauf warten, dass der Dialog erscheint, wird das Fenster neu gezeichnet." + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#, fuzzy +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "Wenn Sie versuchen, ein Anwendungsmenü zu öffnen, wird das Menü sofort angezeigt." + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "Nächste Schritte" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "" + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Wir haben jetzt eine Anwendung, die glatt und reaktionsschnell ist, auch wenn sie auf eine langsame API wartet. Aber wie können wir sicherstellen, dass die Anwendung auch weiterhin funktioniert, wenn wir sie weiter entwickeln? Wie können wir unsere Anwendung testen? Schauen Sie sich [Tutorial 9][tutorial-9] an, um das herauszufinden..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "Die Methode ist als `async def` definiert, anstatt nur als `def`. Dies sagt Python, dass die Methode eine asynchrone Co-Routine ist." + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "Der `get`-Aufruf wird mit einem `await`-Schlüsselwort versehen. Dies weist die Anwendung an, dass sie die Kontrolle an die Ereignisschleife abgeben kann, während wir auf die Antwort des Netzwerks warten." + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +#~ msgstr "" + +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#~ msgstr "" + diff --git a/updated-locales/es/LC_MESSAGES/how-to/index.po b/updated-locales/es/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..70cf2d89 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: es\n" +"Language-Team: es \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/es/LC_MESSAGES/index.po b/updated-locales/es/LC_MESSAGES/index.po new file mode 100644 index 00000000..2a8d9662 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/index.po @@ -0,0 +1,101 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2024-07-23 23:51+0000\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +msgid "Welcome to the BeeWare Tutorial!" +msgstr "¡Bienvenido al tutorial de BeeWare!" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +msgid "**Write Python. Run Anywhere.**" +msgstr "**Escribe Python. Ejecútalo en cualquier sitio.**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "¡Bienvenido a BeeWare! En este tutorial, vamos a construir una interfaz gráfica de usuario utilizando Python, y desplegarla como una aplicación de escritorio, como una aplicación móvil, y como una aplicación web de una sola página. También vamos a ver cómo se pueden utilizar las herramientas de BeeWare para hacer algunas de las tareas comunes que tendrás que hacer como desarrollador de aplicaciones, tales como la prueba de su aplicación." + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +msgid "Translations are available" +msgstr "Las traducciones están disponibles" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "Si no se siente cómodo con el inglés, las traducciones de este tutorial están disponibles en [Alemán]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1} y [中文(繁體)]{1}." + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +msgid "This is a machine translation!" +msgstr "¡Es una traducción automática!" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "Esta versión del tutorial se ha generado mediante traducción automática. Sabemos que no es lo ideal, pero pensamos que una mala traducción era mejor que ninguna." + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Si quieres ayudarnos a mejorar la traducción, ¡ponte en contacto con nosotros! Tenemos un canal `#translations` en [Discord]{1}; preséntate allí y te añadiremos al equipo de traducción." + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +msgid "This is a translation!" +msgstr "¡Esto es una traducción!" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "Este documento es una traducción de la versión inglesa. La traducción ha sido revisada por humanos, pero las secciones más nuevas pueden ser generadas por traducción automática, o no ser traducidas en absoluto." + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +msgid "What is BeeWare?" +msgstr "¿Qué es BeeWare?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "BeeWare no es un único producto, o herramienta, o librería - es una colección de herramientas y librerías, cada una de las cuales trabaja conjuntamente para ayudarte a escribir aplicaciones Python multiplataforma con una GUI nativa. Incluye:" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +#, fuzzy +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, un conjunto de herramientas de widgets multiplataforma;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#, fuzzy +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, una herramienta para empaquetar proyectos de Python como artefactos distribuibles que se pueden enviar a los usuarios finales;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#, fuzzy +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acceder a bibliotecas nativas de la plataforma;" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "Recopilaciones precompiladas de Python que pueden utilizarse en plataformas en las que no están disponibles los instaladores oficiales de Python." + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "En este tutorial, utilizaremos todas estas herramientas, pero como usuario, sólo necesitarás interactuar con las dos primeras (Toga y Briefcase). Sin embargo, cada una de las herramientas también se puede utilizar individualmente - por ejemplo, puede utilizar Briefcase para desplegar una aplicación sin necesidad de utilizar Toga como un conjunto de herramientas GUI." + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "La suite BeeWare está disponible en macOS, Windows, Linux (usando GTK); en plataformas móviles como Android e iOS; y para la Web." + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "¡Vamos!" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "¿Listo para probar BeeWare por ti mismo? [¡Construyamos una aplicación multiplataforma en Python!][tutorial/tutorial-0]" + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..bea634e9 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,131 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-08-28 16:09+0000\n" +"Last-Translator: gallegonovato \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "Usando la cámara" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +#, fuzzy +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "Casi todos los dispositivos informáticos modernos tienen algún tipo de cámara. En este tutorial, mostramos una nueva aplicación que pueda solicitar acceso a esta cámara, tomar una fotografía y luego mostrarla en la aplicación. La nueva aplicación que utiliza la cámara de tu dispositivo." + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "¡Este tutorial no funcionará en todas las plataformas!" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "Lamentablemente, por el momento, este tutorial solo funcionará en macOS y Android." + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "Aunque todos los iPhone tienen cámaras, el *emulador* de iOS no tiene una cámara que funcione. Los dispositivos Windows y Linux también tienen cámaras, pero Toga actualmente no tiene la capacidad de acceder a la cámara en estas plataformas." + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "El código que aquí se muestra *se ejecutará* en Windows o Linux; pero generará un error cuando intentes hacer una foto." + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "El código funcionará si se ejecuta en un dispositivo iOS real, pero no podrá hacer una foto si se implementa en el emulador de iOS." + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "Iniciar un nuevo proyecto" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "Para este tutorial, no desarrollaremos la aplicación del tutorial principal, sino que comenzaremos un nuevo proyecto. Puede utilizar el mismo entorno virtual que utilizó en el primer proyecto. Sin embargo, debemos ejecutar nuevamente el asistente Nuevo maletín." + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "Regrese al directorio que contiene la carpeta del proyecto `helloworld` e inicie un nuevo proyecto llamado “Hello Camera”:" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "Añade código para tomar una foto" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "El asistente ha generado un nuevo proyecto Toga vacío. Ahora podemos agregar el código para tomar y mostrar una fotografía. Edite el archivo `app.py` de la nueva aplicación para que tenga el siguiente contenido:" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +#, fuzzy +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "Este código tiene dos cambios con respecto a la aplicación predeterminada que genera Briefcase. Estas novedades están resaltadas en amarillo:" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "El primer bloque de código resaltado (en el método `startup()`) agrega los dos widgets necesarios para controlar la cámara: un `ImageView` para mostrar una foto; y un `Button` para activar la cámara." + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "El segundo bloque de código resaltado (el método `take_photo()`) define el controlador de eventos cuando se presiona el botón. Este controlador primero confirma si la aplicación tiene permiso para tomar una foto; si no existe permiso, se solicita. Luego, se toma una foto. La solicitud de permiso y la solicitud para tomar una foto son ambas solicitudes asincrónicas, por lo que requieren el uso de `await`; mientras la aplicación espera que el usuario confirme los permisos o tome la foto, el bucle de eventos de la aplicación puede continuar en segundo plano." + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "Si la cámara toma una foto correctamente, devolverá un objeto `Image` que se puede asignar como contenido de `ImageView`. Si el usuario canceló la solicitud de la foto, la llamada `self.camera.take_photo()` devolverá `None` y el resultado se puede ignorar. Si el usuario no otorga permiso para usar la cámara, o la cámara no está implementada en la plataforma actual, se generará un error y se mostrará un cuadro de diálogo al usuario." + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "Agregar permisos al dispositivo" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "Parte de este código que acabamos de agregar solicita permiso para usar la cámara. Esta es una característica común de las plataformas de aplicaciones modernas: no se puede acceder a las funciones de hardware sin pedirle permiso explícitamente al usuario primero." + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "Sin embargo, esta solicitud se presenta en dos partes. La primera se encuentra en el código que acabamos de ver, pero antes de que la aplicación pueda solicitar permisos, necesita declarar los permisos que va a solicitar." + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +#, fuzzy +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "Los permisos que requiere cada plataforma son ligeramente diferentes, pero Briefcase tiene una representación multiplataforma para muchos permisos de hardware comunes. En la sección de configuración `[tool.briefcase.app.helloworld]` del archivo `pyproject.toml` de su aplicación, agregue lo siguiente (justo encima de la declaración `sources`):" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "Esto explica que su aplicación necesita acceder a la cámara y proporciona una breve descripción de por qué se requiere la cámara. Esta descripción es obligatoria en algunas plataformas (en particular, macOS e iOS) y se presenta al usuario como información adicional cuando se muestra el cuadro de diálogo de permisos." + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "Ahora podemos generar y ejecutar la aplicación:" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "Cuando se ejecuta la aplicación, se te presentará un botón. Pulsa el botón y se mostrará el cuadro de diálogo de la cámara predeterminada de la plataforma. Toma una foto; el cuadro de diálogo de la cámara desaparecerá y la foto se mostrará en la aplicación, justo encima del botón. Luego, puedes tomar otra foto; esta reemplazará la primera foto." + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "Agregar más permisos" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a `briefcase create`. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar `briefcase create`; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..671be68d --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,143 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2025-06-12 02:04+0000\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "Personalizar iconos" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#, fuzzy +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "Hasta ahora, nuestra aplicación ha utilizado un ícono predeterminado de \"abeja gris\". ¿Cómo actualizamos la aplicación para usar nuestro propio ícono?" + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +msgid "Adding an icon" +msgstr "Añadir un icono" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "Android" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**Próximamente**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "¡Ya tenemos una aplicación con un icono personalizado en nuestro escritorio y teléfono! ¿Cómo compartimos esta aplicación con los demás? Visita [Tutorial 11][tutorial-11] para descubrirlo..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "Tutorial 10 – Crea tu propia aplicación" + +#~ msgid "Next steps" +#~ msgstr "Siguientes pasos" + +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..600ab25b --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,63 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: 2024-09-28 16:15+0000\n" +"Last-Translator: gallegonovato \n" +"Language-Team: Spanish \n" +"Language: es\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" +"X-Generator: Weblate 5.8-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "Ir más allá" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "" +"¿Quieres profundizar en temas específicos? Aquí tienes algunos tutoriales " +"adicionales que exploran aspectos comunes del desarrollo de aplicaciones. " +"Cada tutorial es independiente y puede completarse en cualquier orden, pero " +"todos ellos asumen que has completado el tutorial principal." + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "Personalizar iconos" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "" +"Personaliza la apariencia de tu aplicación sustituyendo el icono " +"predeterminado de la \"abeja gris\"." + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "Pruebas de aplicaciones" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "" +"¿Cómo puedo asegurarme de que mi aplicación funciona y sigue funcionando? ¡" +"Añadiendo un conjunto de pruebas al proyecto!" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "Acceso a la cámara" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "" +"Utiliza la cámara de tu dispositivo móvil o de sobremesa para hacer y ver " +"una foto desde tu aplicación." diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..1dfac1bc --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,140 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2024-02-13 12:01+0000\n" +"Last-Translator: KevinRodriguez777 \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +#, fuzzy +msgid "Testing times" +msgstr "Tutorial 9 - Tiempo de Ejecución del conjunto de pruebas" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "La mayor parte del desarrollo de software no consiste en escribir código nuevo, sino en modificar el existente. Garantizar que el código existente sigue funcionando de la forma que esperamos es una parte clave del proceso de desarrollo de software. Una forma de asegurar el comportamiento de nuestra aplicación es con un *conjunto de pruebas*." + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +msgid "Running the test suite" +msgstr "Ejecución del conjunto de pruebas" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#, fuzzy +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Resulta que nuestro proyecto ya tiene un conjunto de pruebas! Cuando originalmente generamos nuestro proyecto, se generaron dos directorios de nivel superior: `src` y `tests`. La carpeta `src` contiene el código de nuestra aplicación; la carpeta `tests` contiene nuestro conjunto de pruebas. Dentro de la carpeta `tests` hay un archivo llamado `test_app.py` con el siguiente contenido:" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Esto es un [Pytest]{1} *caso de prueba* - un bloque de código que puede ser ejecutado para verificar algún comportamiento de tu aplicación. En este caso, la prueba es un marcador de posición, y no verifica nada específico sobre nuestra aplicación, pero es una prueba que podemos realizar." + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Podemos ejecutar este conjunto de pruebas utilizando la opción `--test` de `briefcase dev`. Como es la primera vez que ejecutamos pruebas, también necesitamos pasar la opción `-r` para asegurarnos de que también se instalan los requisitos de las pruebas:" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "¡Un éxito! Acabamos de ejecutar una única prueba que verifica que las matemáticas de Python funcionan como esperábamos (¡Qué alivio!)." + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#, fuzzy +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Vamos a reemplazar esta prueba de marcador de posición con una prueba para verificar que nuestro método `greeting()` se comporta como esperamos. Sustituye el contenido de `test_app.py` por el siguiente:" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "Esto define dos nuevos casos de pruebas, verificando los dos comportamientos que esperamos ver: la salida cuando se proporciona un nombre, y la salida cuando el nombre está vacío." + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Ahora podemos volver a ejecutar el conjunto de pruebas. Esta vez, no necesitamos proporcionar la opción `-r`, ya que los requisitos de la prueba ya se han instalado; sólo tenemos que utilizar la opción `--test`:" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#, fuzzy +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Excelente Nuestro método de utilidad `greeting()` está funcionando como se esperaba." + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#, fuzzy +msgid "Test driven development" +msgstr "Desarrollo basado en pruebas" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#, fuzzy +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Ahora que tenemos un conjunto de pruebas, podemos utilizarlo para impulsar el desarrollo de nuevas funciones. Vamos a modificar nuestra aplicación para que tenga un saludo especial para un usuario en particular. Podemos empezar por añadir un caso de prueba para el nuevo comportamiento que nos gustaría ver en la parte inferior de `test_app.py`:" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#, fuzzy +msgid "Then, run the test suite with this new test:" +msgstr "A continuación, ejecute el conjunto de pruebas con esta nueva prueba:" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#, fuzzy +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Esta vez, vemos un fallo en el test - y la salida explica el origen del fallo: el test está esperando la salida \"¡BeeWare los IDEs de Python!\", pero nuestra implementación de `greeting()` está devolviendo \"Hola, Brutus\". Modifiquemos la implementación de `greeting()` en `src/helloworld/app.py` para que tenga el nuevo comportamiento:" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#, fuzzy +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "Si ejecutamos las pruebas de nuevo, ahora veremos que nuestras pruebas pasan:" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#, fuzzy +msgid "Runtime tests" +msgstr "Pruebas en tiempo real" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#, fuzzy +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "Hasta ahora, hemos estado ejecutando las pruebas en modo de desarrollo. Esto es especialmente útil cuando estás desarrollando nuevas características, ya que puedes iterar rápidamente en la adición de pruebas, y la adición de código para hacer que esas pruebas pasen. Sin embargo, en algún momento, usted querrá verificar que su código también se ejecuta correctamente cuando dentro del entorno de aplicación paquete." + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#, fuzzy +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Las opciones `--test` y `-r` también se pueden pasar al comando `run`. Si utilizas `briefcase run --test -r`, se ejecutará el mismo conjunto de pruebas, pero se ejecutará dentro del paquete de aplicaciones empaquetado en lugar de en tu entorno de desarrollo:" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#, fuzzy +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Al igual que con `briefcase dev --test`, la opción `-r` sólo es necesaria la primera vez que se ejecuta el conjunto de pruebas para asegurarse de que las dependencias de prueba están presentes. En las siguientes ejecuciones, puede omitir esta opción." + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#, fuzzy +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "También puedes utilizar la opción `--test` en backends móviles: - así `briefcase run iOS --test` y `briefcase run android --test` funcionarán, ejecutando el conjunto de pruebas en el dispositivo móvil que selecciones." + +#~ msgid "Next steps" +#~ msgstr "Siguientes pasos" diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..e08fc4ab --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,233 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2024-10-18 16:15+0000\n" +"Last-Translator: Kamborio \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +msgid "Tutorial 0 - Let's get set up!" +msgstr "Tutorial 0 - ¡Preparémonos!" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "Antes de crear nuestra primera aplicación BeeWare, tenemos que asegurarnos de que tenemos todos los requisitos previos para ejecutar BeeWare." + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +msgid "Install Python" +msgstr "Instalar Python" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "Lo primero que necesitaremos es un intérprete de Python que funcione." + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#, fuzzy +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#, fuzzy +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Hay muchas formas diferentes de instalar Python. Puedes instalar Python a través de [homebrew]{1}. Puedes usar [pyenv]{1} para gestionar múltiples instalaciones de Python en la misma máquina. Los usuarios de Windows pueden instalar Python desde la Windows App Store. Los usuarios con experiencia en ciencia de datos pueden utilizar [Anaconda]{1} o [Miniconda]{1}." + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Si estás en Linux, instalarás Python utilizando el gestor de paquetes del sistema (`apt` en Debian/Ubuntu/Mint, `dnf` en Fedora, o `pacman` en Arch)." + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "Debe asegurarse de que el sistema Python es Python 3.9 o más reciente; si no lo es (por ejemplo, Ubuntu 20.04 viene con Python 3.8), tendrá que actualizar su distribución de Linux a algo más reciente." + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Si usas macOS o Windows, no importa *cómo* has instalado Python - sólo importa que puedas ejecutar `python3` desde el símbolo del sistema/terminal de tu sistema operativo, y obtener un intérprete de Python que funcione." + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +msgid "Install dependencies" +msgstr "Instalar dependencias" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "A continuación, instale las dependencias adicionales necesarias para su sistema operativo:" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +msgid "Building BeeWare apps on macOS requires:" +msgstr "Construir aplicaciones BeeWare en macOS requiere:" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "**Git**, un sistema de control de versiones. Se incluye con Xcode o con las herramientas de línea de comandos para desarrolladores, que instalaste más arriba. Puede que tengas que abrir Xcode por primera vez para que Git funcione en tu sesión de terminal. Si aún no se registra que Git está instalado, puede que tenga que reiniciar su sesión de terminal." + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "Para soportar el desarrollo local, necesitarás instalar algunos paquetes del sistema. La lista de paquetes necesarios varía en función de tu distribución:" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu / Debian**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +msgid "**Arch / Manjaro**" +msgstr "**Arch / Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "**OpenSUSE Tumbleweed**" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +msgid "Building BeeWare apps on Windows requires:" +msgstr "Construir aplicaciones BeeWare en Windows requiere:" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, un sistema de control de versiones. Puede descargar Git desde [git-scm.com]{1}." + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "Después de instalar estas herramientas, debe asegurarse de reiniciar cualquier sesión de terminal. Windows sólo expondrá las herramientas recién instaladas a los terminales iniciados *después* de que se haya completado la instalación." + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +msgid "Set up a virtual environment" +msgstr "Crear un entorno virtual" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "Ahora vamos a crear un entorno virtual - una \"caja de arena\" que podemos utilizar para aislar nuestro trabajo en este tutorial de nuestra instalación principal de Python. Si instalamos paquetes en el entorno virtual, nuestra instalación principal de Python (y cualquier otro proyecto Python en nuestro ordenador) no se verá afectado. Si hacemos un completo desastre de nuestro entorno virtual, podremos simplemente borrarlo y empezar de nuevo, sin afectar a ningún otro proyecto Python en nuestro ordenador, y sin necesidad de reinstalar Python." + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +msgid "Errors running PowerShell Scripts" +msgstr "Errores al ejecutar scripts PowerShell" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Si está utilizando PowerShell y recibe el error:" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "Tu cuenta de Windows no tiene permisos para ejecutar scripts. Para solucionarlo:" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "Ejecute [Windows PowerShell como administrador]{1}." + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Ejecuta `set-executionpolicy RemoteSigned`" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +msgid "Select `Y` to change the execution policy." +msgstr "Seleccione `Y` para cambiar la política de ejecución." + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Una vez hecho esto, puede volver a ejecutar `beeware-venv\\Scripts\\activate.ps1` en su sesión PowerShell original (o en una nueva sesión en el mismo directorio)." + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Si esto ha funcionado, tu prompt debería haber cambiado - debería tener un prefijo `(beeware-venv)`. Esto te permite saber que estás actualmente en tu entorno virtual BeeWare. Siempre que estés trabajando en este tutorial, debes asegurarte de que tu entorno virtual está activado. Si no lo está, vuelve a ejecutar el último comando (el comando `activate`) para reactivar tu entorno." + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +msgid "Alternative virtual environments" +msgstr "Entornos virtuales alternativos" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Si estás usando Anaconda o miniconda, puede que estés más familiarizado con el uso de entornos conda. También puedes haber oído hablar de `virtualenv`, un predecesor del módulo `venv` de Python. Al igual que con las instalaciones de Python - si estás en macOS o Windows, no importa *cómo* creas tu entorno virtual, siempre y cuando tengas uno. Si estás en Linux, deberías usar `venv` y el sistema Python." + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Ya hemos configurado nuestro entorno. Estamos listos para [crear nuestra primera aplicación BeeWare][tutorial-1]." + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "Ejecute Windows PowerShell como Administrador." + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "**Git**, un sistema de control de versiones. Esto se incluye con Xcode o las herramientas de línea de comandos para desarrolladores, que instaló anteriormente." + +#~ msgid "Alternative Python distributions" +#~ msgstr "Distribuciones alternativas de Python" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "Si estás en Linux, *debes* usar el Python de sistema proporcionado por tu sistema operativo. Podrás completar *la mayor parte* de este tutorial usando un Python que no sea de sistema, pero no podrás empaquetar tu aplicación para distribuirla a otros." + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "Si utilizas macOS, con Xcode o las herramientas de desarrollo de línea de comandos se incluye una versión reciente de Python. Para comprobar si ya la tienes, ejecuta el siguiente comando:" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "Si Python está instalado, verás su número de versión. Si no, se te pedirá que instales las herramientas de desarrollo de la línea de comandos." + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..77b8c843 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,209 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-03-27 18:01+0000\n" +"Last-Translator: gallegonovato \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +msgid "Tutorial 1 - Your first app" +msgstr "Tutorial 1 - Tu primera aplicación" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +msgid "We're ready to create our first application." +msgstr "Estamos listos para crear nuestra primera aplicación." + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +msgid "Install the BeeWare tools" +msgstr "Instalar las herramientas BeeWare" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "En primer lugar, tenemos que instalar **Briefcase**. Briefcase es una herramienta de BeeWare que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio `beeware-tutorial` que creaste en [Tutorial 0][tutorial-0], con el entorno virtual `beeware-venv` activado, y ejecuta:" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +msgid "Possible errors during installation" +msgstr "Posibles errores durante la instalación" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Si aparecen errores durante la instalación, es casi seguro que se deba a que no se han instalado algunos de los requisitos del sistema. Asegúrese de haber [instalado todos los requisitos previos de la plataforma ][install-dependencies]." + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "Es importante que utilices `python -m pip`, en lugar de `pip`. Briefcase necesita asegurarse de que tiene una versión actualizada de `pip` y `setuptools`, y una invocación de `pip` no puede auto-actualizarse. Si quieres saber más, [Brett Cannon tiene una entrada de blog detallada sobre el problema]{1}." + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#, fuzzy +msgid "Bootstrap a new project" +msgstr "Crear un nuevo proyecto" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +#, fuzzy +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "¡Empecemos nuestro primer proyecto BeeWare! Vamos a utilizar el comando `new` de Briefcase para crear una aplicación llamada **Hello World**. Ejecute lo siguiente desde su símbolo del sistema:" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +#, fuzzy +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Para los propósitos de este tutorial, utilice lo siguiente:" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#, fuzzy +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Nombre Formal** - Acepta el valor por defecto: `Hola Mundo`." + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#, fuzzy +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**Nombre de la aplicación** - Acepta el valor por defecto: `helloworld`." + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#, fuzzy +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Paquete** - Si tiene su propio dominio, introdúzcalo en orden inverso. (Por ejemplo, si posee el dominio \"cupcakes.com\", introduzca `com.cupcakes` como paquete). Si no posee su propio dominio, acepte el paquete predeterminado (`com.ejemplo`)." + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#, fuzzy +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Nombre del proyecto** - Acepte el valor por defecto: `Hola Mundo`." + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +#, fuzzy +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**Descripción** - Acepte el valor por defecto (o, si quiere ser realmente creativo, invente su propia descripción)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#, fuzzy +msgid "**Author** - Enter your own name here." +msgstr "**Autor** - Escriba aquí su propio nombre." + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#, fuzzy +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "**Correo electrónico del autor** - Introduzca su propia dirección de correo electrónico. Se utilizará en el archivo de configuración, en el texto de ayuda y en cualquier lugar donde se requiera un correo electrónico al enviar la aplicación a una tienda de aplicaciones." + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#, fuzzy +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - La URL de la página de destino de su aplicación. De nuevo, si es dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el `https://`). Si no, acepta la URL por defecto (`https://example.com/helloworld`). No es necesario que esta URL exista realmente (por ahora); sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#, fuzzy +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "**Licencia** - Acepta la licencia por defecto (BSD). Sin embargo, esto no afectará en nada al funcionamiento del tutorial, así que si tienes sentimientos particularmente fuertes sobre la elección de la licencia, siéntete libre de elegir otra licencia." + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +#, fuzzy +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**GUI framework** - Acepte la opción por defecto, Toga (el propio conjunto de herramientas GUI de BeeWare)." + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +#, fuzzy +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase generará entonces un esqueleto de proyecto para que lo utilices. Si has seguido este tutorial hasta ahora, y has aceptado los valores por defecto tal y como se describen, tu sistema de archivos debería parecerse a:" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +#, fuzzy +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Este esqueleto es en realidad una aplicación en pleno funcionamiento sin añadir nada más. La carpeta `src` contiene todo el código de la aplicación, la carpeta `tests` contiene un conjunto de pruebas iniciales, y el archivo `pyproject.toml` describe cómo empaquetar la aplicación para su distribución. Si abres `pyproject.toml` en un editor, verás los detalles de configuración que acabas de proporcionar a Briefcase." + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +#, fuzzy +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "Ahora que tenemos una aplicación stub, podemos utilizar Briefcase para ejecutar la aplicación." + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#, fuzzy +msgid "Run the app in developer mode" +msgstr "Ejecutar la aplicación en modo desarrollador" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +#, fuzzy +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Entra en el directorio del proyecto `helloworld` y dile a briefcase que inicie el proyecto en modo desarrollador (o `dev`):" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#, fuzzy +msgid "This should open a GUI window:" +msgstr "Esto debería abrir una ventana GUI:" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +#, fuzzy +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "Tutorial Hello World 1 ventana, en macOS" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +#, fuzzy +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "Ventana Hello World Tutorial 1, en Linux" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +#, fuzzy +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "Ventana Hello World Tutorial 1, en Windows" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#, fuzzy +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "Pulsa el botón de cerrar (o selecciona Salir en el menú de la aplicación), ¡y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e independiente en Python!" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +#, fuzzy +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarrollador. Ahora podemos añadir algo de lógica propia para hacer que nuestra aplicación haga algo un poco más interesante. En [Tutorial 2][tutorial-2], pondremos una interfaz de usuario más útil en nuestra aplicación." + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "Una de las herramientas de BeeWare es **Briefcase**. Briefcase se puede utilizar para empaquetar su aplicación para su distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..8e7fddb3 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,291 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-01-23 12:02+0000\n" +"Last-Translator: gallegonovato \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +#, fuzzy +msgid "Tutorial 2 - Making it interesting" +msgstr "Tutorial 2 - Hacerlo interesante" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "En [Tutorial 1][tutorial-1], generamos un proyecto stub que era capaz de ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un vistazo a lo que se generó para nosotros." + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +msgid "What was generated" +msgstr "Qué se generó" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "En el directorio `src/helloworld`, deberías ver 3 archivos: `__init__.py`, `__main__.py` y `app.py`." + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` marca el directorio `helloworld` como un módulo importable de Python. Es un archivo vacío; el mero hecho de que exista le dice al intérprete de Python que el directorio `helloworld` define un módulo." + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` marca el módulo `helloworld` como un tipo especial de módulo - un módulo ejecutable. Si intentas ejecutar el módulo `helloworld` usando `python -m helloworld`, el archivo `__main__.py` es donde Python empezará a ejecutarse. El contenido de `__main__.py` es relativamente simple:" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#, fuzzy +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "Es decir, importa el método `main` de la aplicación `helloworld`; y si se está ejecutando como punto de entrada, llama al método main(), e inicia el bucle principal de la aplicación. El bucle principal es la forma en que una aplicación GUI escucha la entrada del usuario (como clics de ratón y pulsaciones de teclado)." + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#, fuzzy +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "El archivo más interesante es `app.py` - contiene la lógica que crea la ventana de nuestra aplicación:" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#, fuzzy +msgid "Let's go through this line by line:" +msgstr "Vamos a ir a través de esta línea por línea:" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#, fuzzy +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "En primer lugar, importamos el conjunto de herramientas de widgets `toga`, así como algunas clases de utilidades y constantes relacionadas con el estilo. Nuestro código aún no las utiliza, pero lo haremos en breve." + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#, fuzzy +msgid "Then, we define a class:" +msgstr "A continuación, definimos una clase:" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#, fuzzy +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Cada aplicación Toga tiene una única instancia `toga.App`, que representa la entidad en ejecución que es la aplicación. La app puede acabar gestionando múltiples ventanas; pero para aplicaciones sencillas, habrá una única ventana principal." + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#, fuzzy +msgid "Next, we define a `startup()` method:" +msgstr "A continuación, definimos un método `startup()`:" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#, fuzzy +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "Lo primero que hace el método de inicio es definir una caja principal. El esquema de diseño de Toga se comporta de forma similar a HTML. Construyes una aplicación construyendo una colección de cajas, cada una de las cuales contiene otras cajas, o widgets reales. Luego aplicas estilos a estas cajas para definir cómo consumirán el espacio disponible en la ventana." + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#, fuzzy +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "En esta aplicación, definimos una sola caja, pero no ponemos nada en ella." + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#, fuzzy +msgid "Next, we define a window into which we can put this empty box:" +msgstr "A continuación, definimos una ventana en la que podemos poner esta caja vacía:" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#, fuzzy +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Esto crea una instancia de `toga.MainWindow`, que tendrá un título que coincida con el nombre de la aplicación. Una ventana principal es un tipo especial de ventana en Toga - es una ventana que está estrechamente vinculada al ciclo de vida de la aplicación. Cuando la Ventana Principal se cierra, la aplicación sale. La Ventana Principal es también la ventana que tiene el menú de la aplicación (si estás en una plataforma como Windows donde las barras de menú son parte de la ventana)" + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#, fuzzy +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "A continuación añadimos nuestra caja vacía como contenido de la ventana principal, e indicamos a la aplicación que muestre nuestra ventana:" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#, fuzzy +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Por último, definimos un método `main()`. Esto es lo que crea la instancia de nuestra aplicación:" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#, fuzzy +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Este método `main()` es el que es importado e invocado por `__main__.py`. Crea y devuelve una instancia de nuestra aplicación `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#, fuzzy +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "Esa es la aplicación Toga más simple posible. Pongamos algo de nuestro propio contenido en la aplicación, y hagamos que la aplicación haga algo interesante." + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#, fuzzy +msgid "Adding some content of our own" +msgstr "Añadir contenido propio" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#, fuzzy +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "No elimine las importaciones en la parte superior del archivo, o el `main()` en la parte inferior. Solo necesitas actualizar la clase `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#, fuzzy +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modifica tu clase `HelloWorld` dentro de `src/helloworld/app.py` para que tenga este aspecto:" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#, fuzzy +msgid "Let's look in detail at what has changed." +msgstr "Veamos en detalle lo que ha cambiado." + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#, fuzzy +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Seguimos creando una caja principal; sin embargo, ahora estamos aplicando un estilo:" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#, fuzzy +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "El sistema de diseño integrado de Toga se llama \"Pack\". Se comporta de forma muy parecida a CSS. Defines objetos en una jerarquía - en HTML, los objetos son `
`, ``, y otros elementos DOM; en Toga, son widgets y cajas. A continuación, puedes asignar estilos a los elementos individuales. En este caso, estamos indicando que se trata de una caja `COLUMN` - es decir, es una caja que consumirá todo el ancho disponible, y ampliará su altura a medida que se añada contenido, pero intentará ser lo más corta posible." + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#, fuzzy +msgid "Next, we define a couple of widgets:" +msgstr "A continuación, definimos un par de widgets:" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#, fuzzy +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "Aquí definimos un Label y un TextInput. Ambos widgets tienen estilos asociados; la etiqueta tendrá 5px de relleno a su izquierda y derecha, y ningún relleno en la parte superior e inferior. El TextInput está marcado como flexible - es decir, absorberá todo el espacio disponible en su eje de diseño." + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#, fuzzy +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "El TextInput se asigna como una variable de instancia de la clase. Esto nos da fácil acceso a la instancia del widget - algo que usaremos en un momento." + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#, fuzzy +msgid "Next, we define a box to hold these two widgets:" +msgstr "A continuación, definimos una caja para alojar estos dos widgets:" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#, fuzzy +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "La `caja_de_nombre` es una caja igual que la caja principal; sin embargo, esta vez, es una caja `ROW`. Eso significa que el contenido se añadirá horizontalmente, e intentará que su anchura sea lo más estrecha posible. La caja también tiene algo de relleno - 5px en todos los lados." + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#, fuzzy +msgid "Now we define a button:" +msgstr "Ahora definimos un botón:" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +#, fuzzy +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "El botón también tiene 5px de relleno en todos los lados. También definimos un *handler* - un método a invocar cuando se pulsa el botón." + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#, fuzzy +msgid "Then, we add the name box and the button to the main box:" +msgstr "A continuación, añadimos el cuadro de nombre y el botón al cuadro principal:" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#, fuzzy +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Esto completa nuestro diseño; el resto del método de inicio es como antes - definiendo una MainWindow, y asignando la caja principal como contenido de la ventana:" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#, fuzzy +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "Lo último que tenemos que hacer es definir el manejador del botón. Un manejador puede ser cualquier método, generador o co-rutina asíncrona; acepta el widget que generó el evento como argumento, y será invocado cada vez que se pulse el botón:" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#, fuzzy +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "El cuerpo del método es una simple sentencia print - sin embargo, interrogará el valor actual de la entrada name, y usará ese contenido como el texto que se imprime." + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#, fuzzy +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "Ahora que hemos realizado estos cambios podemos ver cómo quedan iniciando de nuevo la aplicación. Como antes, usaremos el modo desarrollador:" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#, fuzzy +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Notarás que esta vez, *no* instala dependencias. Briefcase puede detectar que la aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, sólo ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, puedes asegurarte de que se instalan pasando una opción `-r` cuando ejecutes `briefcase dev`." + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#, fuzzy +msgid "This should open a GUI window:" +msgstr "Esto debería abrir una ventana GUI:" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +#, fuzzy +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "Ventana Hello World Tutorial 2, en macOS" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +#, fuzzy +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "Ventana Hello World Tutorial 2, en Linux" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +#, fuzzy +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "Ventana Hello World Tutorial 2, en Windows" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#, fuzzy +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "Si introduce un nombre en el cuadro de texto y pulsa el botón GUI, debería ver aparecer la salida en la consola donde inició la aplicación." + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#, fuzzy +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pero sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta aplicación para su distribución. En [Tutorial 3][tutorial-3], vamos a empaquetar nuestra aplicación como un instalador independiente que podríamos enviar a un amigo, un cliente, o subir a una App Store." + +#~ msgid "Lets do something more interesting with our `HelloWorld` app." +#~ msgstr "" + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..27500519 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,313 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2024-01-18 12:00+0000\n" +"Last-Translator: Kamborio \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +#, fuzzy +msgid "Tutorial 3 - Packaging for distribution" +msgstr "Tutorial 3 - Empaquetado para distribución" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#, fuzzy +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "Hasta ahora, hemos estado ejecutando nuestra aplicación en \"modo desarrollador\". Esto hace que sea fácil para nosotros para ejecutar nuestra aplicación a nivel local - pero lo que realmente queremos es ser capaz de dar a nuestra aplicación a los demás." + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#, fuzzy +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "Sin embargo, no queremos tener que enseñar a nuestros usuarios cómo instalar Python, crear un entorno virtual, clonar un repositorio git y ejecutar Briefcase en modo desarrollador. Preferimos simplemente darles un instalador, y que la aplicación simplemente funcione." + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#, fuzzy +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "Briefcase puede utilizarse para empaquetar su aplicación y distribuirla de este modo." + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#, fuzzy +msgid "Creating your application scaffold" +msgstr "Creación del andamiaje de aplicaciones" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#, fuzzy +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Dado que esta es la primera vez que empaquetamos nuestra aplicación, necesitamos crear algunos archivos de configuración y otros andamios para apoyar el proceso de empaquetado. Desde el directorio `helloworld`, ejecuta:" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#, fuzzy +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "Probablemente acabas de ver pasar páginas de contenido en tu terminal... ¿qué acaba de pasar? Briefcase ha hecho lo siguiente:" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#, fuzzy +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "Se **generó una plantilla de aplicación**. Hay un montón de archivos y configuraciones necesarias para construir un instalador nativo, por encima y más allá del código de su aplicación real. Este andamiaje extra es casi el mismo para cada aplicación en la misma plataforma, excepto por el nombre de la aplicación real que se está construyendo - por lo que Briefcase proporciona una plantilla de aplicación para cada plataforma que soporta. Este paso despliega la plantilla, sustituyendo el nombre de tu aplicación, el ID del paquete y otras propiedades de tu archivo de configuración según sea necesario para soportar la plataforma en la que estás construyendo." + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +#, fuzzy +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "Si no está satisfecho con la plantilla proporcionada por Briefcase, puede crear la suya propia. Sin embargo, probablemente no quieras hacerlo hasta que tengas un poco más de experiencia utilizando la plantilla por defecto de Briefcase." + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#, fuzzy +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "Descargó e instaló un paquete de soporte**. El enfoque de empaquetado adoptado por Briefcase es mejor descrito como \"la cosa más simple que podría funcionar\" - envía un intérprete de Python completo y aislado como parte de cada aplicación que construye. Esto es ligeramente ineficiente en cuanto a espacio - si tiene 5 aplicaciones empaquetadas con Briefcase, tendrá 5 copias del intérprete de Python. Sin embargo, este enfoque garantiza que cada aplicación es completamente independiente, utilizando una versión específica de Python que se sabe que funciona con la aplicación." + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +#, fuzzy +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "De nuevo, Briefcase proporciona un paquete de soporte por defecto para cada plataforma; si lo desea, puede proporcionar su propio paquete de soporte, y hacer que ese paquete se incluya como parte del proceso de compilación. Es posible que desee hacer esto si tiene opciones particulares en el intérprete de Python que necesita tener habilitadas, o si desea eliminar módulos de la biblioteca estándar que no necesita en tiempo de ejecución." + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#, fuzzy +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "Briefcase mantiene una caché local de paquetes de soporte, por lo que una vez que haya descargado un paquete de soporte específico, esa copia en caché se utilizará en futuras compilaciones." + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#, fuzzy +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Se **instalan los requisitos de la aplicación**. Tu aplicación puede especificar cualquier módulo de terceros que se requiera en tiempo de ejecución. Estos serán instalados usando `pip` en el instalador de tu aplicación." + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#, fuzzy +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "Se **instala el código de tu aplicación**. Tu aplicación tendrá su propio código y recursos (por ejemplo, imágenes que se necesitan en tiempo de ejecución); estos archivos se copian en el instalador." + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#, fuzzy +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "Por último, añade cualquier recurso adicional que necesite el propio instalador. Esto incluye cosas como iconos que deben adjuntarse a la aplicación final e imágenes de pantalla de bienvenida." + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#, fuzzy +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Una vez completado esto, si miras en el directorio del proyecto, deberías ver un directorio correspondiente a tu plataforma (`macOS`, `linux`, o `windows`) que contiene archivos adicionales. Esta es la configuración de empaquetado específica de la plataforma para tu aplicación." + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#, fuzzy +msgid "Building your application" +msgstr "Construir su aplicación" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#, fuzzy +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "Ahora puede compilar su aplicación. Este paso realiza cualquier compilación binaria que sea necesaria para que su aplicación sea ejecutable en su plataforma de destino." + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#, fuzzy +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "En macOS, el comando `build` no necesita *compilar* nada, pero sí necesita firmar el contenido del binario para que pueda ser ejecutado. Esta firma es una firma *ad hoc* - sólo funcionará en *tu* máquina; si quieres distribuir la aplicación a otros, necesitarás proporcionar una firma completa." + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#, fuzzy +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Una vez completado este paso, la carpeta `build` contendrá una carpeta `helloworld-0.0.1` que contiene una réplica de un sistema de archivos Linux `/usr`. Esta réplica del sistema de archivos contendrá una carpeta `bin` con un binario `helloworld`, además de las carpetas `lib` y `share` necesarias para soportar el binario." + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#, fuzzy +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "En Windows, el comando `build` no necesita *compilar* nada, pero sí escribir algunos metadatos para que la aplicación sepa su nombre, versión, etc." + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +#, fuzzy +msgid "Triggering antivirus" +msgstr "Activación del antivirus" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#, fuzzy +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Dado que estos metadatos se escriben directamente en el binario precompilado que se despliega desde la plantilla durante el comando `create`, esto puede activar el software antivirus que se ejecuta en su máquina e impedir que se escriban los metadatos. En ese caso, indique al antivirus que permita la ejecución de la herramienta (llamada `rcedit-x64.exe`) y vuelva a ejecutar el comando anterior." + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#, fuzzy +msgid "Running your app" +msgstr "Ejecutar la aplicación" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#, fuzzy +msgid "You can now use Briefcase to run your application:" +msgstr "Ahora puede utilizar Briefcase para ejecutar su aplicación:" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#, fuzzy +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Esto iniciará la ejecución de su aplicación nativa, utilizando la salida del comando `build`." + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#, fuzzy +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "Es posible que notes algunas pequeñas diferencias en el aspecto de tu aplicación cuando se está ejecutando. Por ejemplo, los iconos y el nombre mostrados por el sistema operativo pueden ser ligeramente diferentes a los que veías cuando se ejecutaba en modo desarrollador. Esto también se debe a que estás utilizando la aplicación empaquetada, no sólo ejecutando código Python. Desde la perspectiva del sistema operativo, ahora estás ejecutando \"una aplicación\", no \"un programa Python\", y esto se refleja en cómo aparece la aplicación." + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#, fuzzy +msgid "Building your installer" +msgstr "Creación del instalador" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#, fuzzy +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Ahora puedes empaquetar tu aplicación para su distribución, utilizando el comando `package`. El comando `package` realiza cualquier compilación necesaria para convertir el proyecto en un producto final y distribuible. Dependiendo de la plataforma, esto puede implicar compilar un instalador, realizar la firma de código, o hacer otras tareas previas a la distribución." + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#, fuzzy +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "La carpeta `dist` contendrá un archivo llamado `Hello World-0.0.1.dmg`. Si localizas este archivo en el Finder y haces doble clic en su icono, montarás el DMG, lo que te proporcionará una copia de la aplicación Hello World y un enlace a tu carpeta Aplicaciones para facilitar la instalación. Arrastra el archivo de la aplicación a Aplicaciones, y habrás instalado tu aplicación. Envía el archivo DMG a un amigo y podrá hacer lo mismo." + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#, fuzzy +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#, fuzzy +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "La salida del paso paquete será ligeramente diferente dependiendo de su distribución de Linux. Si estás en una distribución derivada de Debian, verás:" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#, fuzzy +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "La carpeta `dist` contendrá el archivo `.deb` generado." + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#, fuzzy +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "Si estás en una distribución basada en RHEL, lo verás:" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#, fuzzy +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "La carpeta `dist` contendrá el archivo `.rpm` generado." + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#, fuzzy +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "Si estás en una distribución basada en Arch, lo verás:" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#, fuzzy +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "La carpeta `dist` contendrá el archivo `.pkg.tar.zst` generado." + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#, fuzzy +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "Actualmente no es posible empaquetar otras distribuciones de Linux." + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#, fuzzy +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "Si desea crear un paquete para una distribución de Linux distinta de la que está utilizando, Briefcase también puede ayudarle, pero tendrá que instalar Docker." + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#, fuzzy +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Existen instaladores oficiales de [Docker Engine]{1} para diversas distribuciones de Unix. Siga las instrucciones para su plataforma; sin embargo, asegúrese de no instalar Docker en modo \"sin raíz\"." + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#, fuzzy +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "Una vez que hayas instalado Docker, deberías ser capaz de iniciar un contenedor Linux - por ejemplo:" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#, fuzzy +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "te mostrará un prompt Unix (algo como `root@84444e31cff9:/#`) dentro de un contenedor Docker Ubuntu 22.04. Escribe Ctrl-D para salir de Docker y volver a tu shell local." + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#, fuzzy +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "Una vez que tengas Docker instalado, puedes usar Briefcase para construir un paquete para cualquier distribución de Linux que soporte Briefcase pasando una imagen Docker como argumento. Por ejemplo, para construir un paquete DEB para Ubuntu 22.04 (Jammy), independientemente del sistema operativo en el que se encuentre, puede ejecutar:" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#, fuzzy +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Esto descargará la imagen Docker para el sistema operativo seleccionado, creará un contenedor capaz de ejecutar las compilaciones de Briefcase y compilará el paquete de la aplicación dentro de la imagen. Una vez completado, la carpeta `dist` contendrá el paquete para la distribución Linux de destino." + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#, fuzzy +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#, fuzzy +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Una vez completado este paso, la carpeta `dist` contendrá un archivo llamado `Hello_World-0.0.1.msi`. Si haces doble clic en este instalador para ejecutarlo, deberías seguir el proceso de instalación de Windows que ya conoces. Una vez finalizada la instalación, aparecerá una entrada \"Hello World\" en el menú de inicio." + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio. Pero, ¿qué ocurre cuando necesitamos actualizar el código de nuestra aplicación? ¿Cómo introducimos esas actualizaciones en nuestra aplicación empaquetada? Visita [Tutorial 4][./tutorial-4] para averiguarlo..." + +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#~ msgstr "" + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..3079d068 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,172 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2024-01-18 12:00+0000\n" +"Last-Translator: Kamborio \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +#, fuzzy +msgid "Tutorial 4 - Updating your application" +msgstr "Tutorial 4 - Actualización de la aplicación" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#, fuzzy +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "En el último tutorial, empaquetamos nuestra aplicación como una aplicación nativa. Si estás tratando con una aplicación del mundo real, eso no va a ser el final de la historia - es probable que hagas algunas pruebas, descubras problemas, y necesites hacer algunos cambios. Incluso si tu aplicación es perfecta, con el tiempo querrás publicar la versión 2 de tu aplicación con mejoras." + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#, fuzzy +msgid "So - how do you update your installed app when you make code changes?" +msgstr "¿Cómo se actualiza la aplicación instalada cuando se realizan cambios en el código?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#, fuzzy +msgid "Updating application code" +msgstr "Actualización del código de la aplicación" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#, fuzzy +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "Actualmente, nuestra aplicación imprime en la consola cuando se pulsa el botón. Sin embargo, las aplicaciones GUI no deberían usar la consola para la salida. Necesitan usar diálogos para comunicarse con los usuarios." + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#, fuzzy +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Vamos a añadir un cuadro de diálogo para decir hola, en lugar de escribir en la consola. Modifica el callback `say_hello` para que se vea así:" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#, fuzzy +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "Esto indica a Toga que abra un cuadro de diálogo modal cuando se pulse el botón." + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#, fuzzy +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Si ejecutas `briefcase dev`, introduces un nombre y pulsas el botón, verás el nuevo cuadro de diálogo:" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Hello World Tutorial 4 diálogo, en macOS" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Diálogo Hello World Tutorial 4, en Linux" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Diálogo Hello World Tutorial 4, en Windows" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#, fuzzy +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Sin embargo, si ejecutas `briefcase run`, el cuadro de diálogo no aparecerá." + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +#, fuzzy +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "¿Por qué? Bueno, `briefcase dev` opera ejecutando tu código en su lugar - intenta producir un entorno de ejecución lo más realista posible para tu código, pero no proporciona ni utiliza ninguna de las infraestructuras de la plataforma para empaquetar tu código como una aplicación. Parte del proceso de empaquetar tu aplicación implica copiar tu código *dentro* del paquete de la aplicación - y por el momento, tu aplicación todavía tiene el código antiguo en ella." + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#, fuzzy +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "Así que - necesitamos decirle a briefcase que actualice tu aplicación, copiando la nueva versión del código. Podríamos *hacerlo* borrando el antiguo directorio de la plataforma y empezando desde cero. Sin embargo, Briefcase proporciona una manera más fácil - usted puede actualizar el código de su aplicación empaquetada existente:" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#, fuzzy +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Si Briefcase no puede encontrar la plantilla de andamiaje, invocará automáticamente `create` para generar un andamiaje nuevo." + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#, fuzzy +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Ahora que hemos actualizado el código del instalador, podemos ejecutar `briefcase build` para volver a compilar la aplicación, `briefcase run` para ejecutar la aplicación actualizada, y `briefcase package` para volver a empaquetar la aplicación para su distribución." + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#, fuzzy +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(usuarios de macOS, recordad que como se indica en [Tutorial 3][tutorial-3], para el tutorial recomendamos ejecutar `briefcase package` con la bandera `--adhoc-sign` para evitar la complejidad de configurar una identidad de firma de código y mantener el tutorial lo más simple posible)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#, fuzzy +msgid "Update and run in one step" +msgstr "Actualizar y ejecutar en un solo paso" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#, fuzzy +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Si estás iterando rápidamente cambios en el código, es probable que quieras hacer un cambio en el código, actualizar la aplicación, y volver a ejecutar inmediatamente tu aplicación. Para la mayoría de los propósitos, el modo desarrollador (`briefcase dev`) será la forma más fácil de hacer este tipo de iteración rápida; sin embargo, si estás probando algo sobre cómo se ejecuta tu aplicación como un binario nativo, o buscando un error que sólo se manifiesta cuando tu aplicación está empaquetada, puede que necesites usar repetidas llamadas a `briefcase run`. Para simplificar el proceso de actualización y ejecución de la aplicación empaquetada, Briefcase tiene un atajo para soportar este patrón de uso - la opción `-u` (o `--update`) en el comando `run`." + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +#, fuzzy +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Intentemos hacer otro cambio. Usted puede haber notado que si no escribe un nombre en el cuadro de entrada de texto, el cuadro de diálogo dirá \"Hola, \". Vamos a modificar la función `say_hello` de nuevo para manejar este caso extremo." + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#, fuzzy +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "En la parte superior del fichero, entre las importaciones y la definición de la `clase HelloWorld`, añade un método de utilidad para generar un saludo apropiado dependiendo del valor del nombre que se haya proporcionado:" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#, fuzzy +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "A continuación, modifica la llamada de retorno `say_hello` para utilizar este nuevo método de utilidad:" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#, fuzzy +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Ejecuta tu aplicación en modo desarrollo (con `briefcase dev`) para confirmar que la nueva lógica funciona; después actualiza, compila y ejecuta la aplicación con un solo comando:" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#, fuzzy +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "El comando package también acepta el argumento `-u`, de modo que si realizas un cambio en el código de tu aplicación y quieres volver a empaquetarlo inmediatamente, puedes ejecutar `briefcase package -u`." + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "Ahora tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio, y hemos podido actualizar el código de nuestra aplicación." + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +#, fuzzy +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Pero, ¿qué pasa con los móviles? En [Tutorial 5][tutorial-5/index], convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..d18e5377 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,214 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-08-28 16:09+0000\n" +"Last-Translator: gallegonovato \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "Tutorial 5 - Movilidad: Android" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "Ahora, vamos a tomar nuestra aplicación, y desplegarla como una aplicación Android." + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "El proceso de despliegue de una aplicación en Android es muy similar al proceso de despliegue como aplicación de escritorio. Briefcase se encarga de instalar las dependencias para Android, incluyendo el SDK de Android, el emulador de Android y un compilador de Java." + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +msgid "Create an Android app and compile it" +msgstr "Crear una aplicación Android y compilarla" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Primero, ejecuta el comando `create`. Esto descarga una plantilla de aplicación Android y le añade tu código Python." + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#, fuzzy +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Cuando ejecutas `briefcase create android` por primera vez, Briefcase descarga un JDK de Java, y el SDK de Android. El tamaño de los archivos y el tiempo de descarga pueden ser considerables; esto puede llevar un tiempo (10 minutos o más, dependiendo de la velocidad de tu conexión a Internet). Una vez finalizada la descarga, se le pedirá que acepte la licencia del SDK de Android de Google." + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Una vez completado esto, tendremos un directorio `build\\helloworld\\android\\gradle` en nuestro proyecto, que contendrá un proyecto Android con una configuración de construcción Gradle. Este proyecto contendrá el código de la aplicación, y un paquete de soporte que contiene el intérprete de Python." + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "A continuación, podemos utilizar el comando `build` de Briefcase para compilar esto en un archivo de aplicación Android APK." + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +msgid "Gradle may look stuck" +msgstr "Gradle puede parecer atascado" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Durante el paso `briefcase build android`, Gradle (la herramienta de compilación de la plataforma Android) imprimirá `CONFIGURING: 100%`, y parecerá que no está haciendo nada. No te preocupes, no está atascado - está descargando más componentes del SDK de Android. Dependiendo de la velocidad de su conexión a Internet, esto puede tardar otros 10 minutos (o más). Este retraso sólo debería ocurrir la primera vez que ejecutes `build`; las herramientas se almacenan en caché, y en tu próxima compilación, se utilizarán las versiones almacenadas en caché." + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +msgid "Run the app on a virtual device" +msgstr "Ejecutar la aplicación en un dispositivo virtual" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Ahora estamos listos para ejecutar nuestra aplicación. Puedes utilizar el comando `run` de Briefcase para ejecutar la aplicación en un dispositivo Android. Empecemos ejecutando en un emulador de Android." + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Para ejecutar tu aplicación, ejecuta `briefcase run android`. Al hacerlo, se te pedirá una lista de dispositivos en los que podrías ejecutar la aplicación. El último elemento será siempre una opción para crear un nuevo emulador de Android." + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Ahora podemos elegir el dispositivo deseado. Selecciona la opción \"Crear un nuevo emulador de Android\", y acepta la opción por defecto para el nombre del dispositivo (`beePhone`)." + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` arrancará automáticamente el dispositivo virtual. Cuando el dispositivo esté arrancando, verás el logo de Android:" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +msgid "Android virtual device booting" +msgstr "Arranque del dispositivo virtual Android" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "Una vez que el dispositivo haya terminado de arrancar, Briefcase instalará tu aplicación en el dispositivo. Verás brevemente una pantalla de inicio:" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Dispositivo virtual Android totalmente iniciado, en la pantalla del lanzador" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "La aplicación se iniciará. Verás una pantalla de bienvenida mientras se inicia la aplicación:" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +msgid "App splash screen" +msgstr "Pantalla de inicio de la aplicación" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +msgid "The emulator didn't start!" +msgstr "¡El emulador no arranca!" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "El emulador de Android es un software complejo que depende de una serie de características del hardware y del sistema operativo, características que pueden no estar disponibles o habilitadas en máquinas más antiguas. Si tiene dificultades para iniciar el emulador de Android, consulte la sección [Requerimientos y recomendaciones]{1} de la documentación para desarrolladores de Android." + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "La primera vez que se inicia la aplicación, tiene que desempaquetarse en el dispositivo. Esto puede tardar unos segundos. Una vez desempaquetada, verás la versión para Android de nuestra aplicación de escritorio:" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +msgid "App from Tutorial 2, fully launched" +msgstr "Aplicación del Tutorial 2, totalmente lanzada" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +msgid "Demo app fully launched" +msgstr "Lanzamiento completo de la aplicación de demostración" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Si no ves que tu aplicación se inicia, es posible que tengas que comprobar el terminal donde ejecutaste `briefcase run` y buscar cualquier mensaje de error." + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "En el futuro, si deseas ejecutar en este dispositivo sin usar el menú, puedes proporcionar el nombre del emulador a Briefcase, usando `briefcase run android -d \"@beePhone\"` para ejecutar en el dispositivo virtual directamente." + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +msgid "Run the app on a physical device" +msgstr "Ejecutar la aplicación en un dispositivo físico" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "Si tienes un teléfono o tableta Android físicos, puedes conectarlos a tu ordenador con un cable USB y, a continuación, utilizar el Maletín para apuntar a tu dispositivo físico." + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "Android requiere que prepares tu dispositivo antes de que pueda ser utilizado para el desarrollo. Tendrás que realizar 2 cambios en las opciones de tu dispositivo:" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +msgid "Enable developer options" +msgstr "Activar opciones de desarrollador" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +msgid "Enable USB debugging" +msgstr "Activar la depuración USB" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Los detalles sobre cómo realizar estos cambios se pueden encontrar [en la documentación para desarrolladores de Android]{1}." + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Una vez completados estos pasos, tu dispositivo debería aparecer en la lista de dispositivos disponibles cuando ejecutes `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Aquí podemos ver un nuevo dispositivo físico con su número de serie en la lista de despliegue - en este caso, un Pixel 3a. En el futuro, si desea ejecutar en este dispositivo sin utilizar el menú, puede proporcionar el número de serie del teléfono a Briefcase (en este caso, `briefcase run android -d 94ZZY0LNE8`). Esto se ejecutará en el dispositivo directamente, sin preguntar." + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +msgid "My device doesn't appear!" +msgstr "¡Mi dispositivo no aparece!" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "Si tu dispositivo no aparece en esta lista, significa que no has activado la depuración USB (o que el dispositivo no está conectado)." + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Si su dispositivo aparece, pero aparece como \"Dispositivo desconocido (no autorizado para el desarrollo)\", el modo de desarrollador no se ha habilitado correctamente. Vuelve a ejecutar [los pasos para habilitar las opciones de desarrollador]{1}, y vuelve a ejecutar `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..f74a6122 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,81 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-01-17 02:36+0000\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "Tutorial 5 - Para móviles: iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +#, fuzzy +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "Para compilar aplicaciones para iOS, necesitamos Xcode, que se encuentra disponible de forma gratuita en la [App Store de macOS]{1}. Una vez que Xcode esté instalado, ábrelo desde la carpeta Aplicaciones y acepta el Acuerdo de Licencia de Xcode. A continuación, Xcode mostrará los entornos de simulador que ya vienen integrados y aquellos que puedes descargar. Marca la casilla junto al entorno del simulador de iOS y luego haz clic en \"Continuar\" para descargarlo e instalarlo." + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#, fuzzy +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "Una vez que tengamos Xcode instalado, podemos tomar nuestra aplicación e implementarla como una aplicación de iOS." + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "El proceso de implementación de una aplicación en iOS es muy similar al proceso de implementación como aplicación de escritorio. Primero, ejecuta el comando `create`, pero esta vez especificamos que queremos crear una aplicación para iOS:" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Una vez que esto se complete, tendremos un directorio `build/helloworld/ios/xcode` que contiene un proyecto Xcode, así como las bibliotecas de soporte y el código de aplicación necesario para la aplicación." + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Luego puedes usar Briefcase para compilar tu aplicación usando `briefcase build iOS` (compilar para iOS con Briefcase):" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Ya estamos listos para ejecutar nuestra aplicación, utilizando `briefcase run iOS` (ejecutar iOS con Briefcase). Se te pedirá que selecciones un dispositivo para el cual puedes compilar; si tienes instalados simuladores para varias versiones del SDK de iOS, puede que también se te pregunte a qué versión de iOS quieres apuntar. Las opciones que se le muestren pueden diferir de las que se muestran en esta salida; como mínimo, es probable que la lista de dispositivos sea diferente. Para fines prácticos, no importa qué simulador se elija." + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "Esto iniciará el simulador de iOS, instalará tu aplicación y la iniciará. Vas a observar cómo se inicia el simulador y cómo se abre tu aplicación iOS:" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Ventana del Tutorial 5 de Hello World, en iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a Briefcase que utilice ese simulador proporcionando una opción `-d` (o `--device`). Utilizando el nombre del dispositivo que seleccionaste cuando creaste tu aplicación, ejecuta:" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "Si tienes varias versiones de iOS disponibles, Briefcase elegirá la versión de iOS más alta; si quieres elegir una versión de iOS en particular, dile que utilice esa versión específica:" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +msgid "Or, you can name a specific device UDID:" +msgstr "O bien, puede nombrar un UDID de dispositivo específico:" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en [la App Store de macOS]{1}." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..6293975e --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,46 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2024-01-18 18:00+0000\n" +"Last-Translator: gallegonovato \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +msgid "Tutorial 5 - Taking it Mobile" +msgstr "Tutorial 5 - Móviles" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "Hasta ahora, hemos estado ejecutando y probando nuestra aplicación en el escritorio. Sin embargo, BeeWare también es compatible con plataformas móviles, ¡y la aplicación que hemos escrito también puede desplegarse en tu dispositivo móvil!" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +msgid "iOS applications can only be compiled on macOS." +msgstr "Las aplicaciones de iOS solo pueden compilarse en macOS." + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "Las aplicaciones Android pueden compilarse en macOS, Windows o Linux." + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[¡Creemos nuestra aplicación para iOS!][iOS]" + +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[¡Creemos nuestra aplicación para Android!][android]" + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..9b2bac86 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,102 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"PO-Revision-Date: 2024-01-18 12:00+0000\n" +"Last-Translator: Kamborio \n" +"Language-Team: Spanish \n" +"Language: es\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" +"X-Generator: Weblate 5.4-dev\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 +#, fuzzy +msgid "Tutorial 6 - Put it on the web!" +msgstr "Tutorial 6 - ¡Ponlo en la web!" + +#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +#, fuzzy +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "Además de ser compatible con plataformas móviles, el conjunto de herramientas de widgets Toga también es compatible con la web Utilizando la misma API que usaste para desplegar tus aplicaciones de escritorio y móviles, puedes desplegar tu aplicación como una aplicación web de una sola página." + +#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 +#, fuzzy +msgid "Proof of Concept" +msgstr "Prueba de concepto" + +#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +#, fuzzy +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "El backend Toga Web es el menos maduro de todos los backends Toga. Es lo suficientemente maduro como para mostrar algunas características, pero es probable que tenga errores, y le faltarán muchos de los widgets que están disponibles en otras plataformas. En este momento, el despliegue Web debe considerarse una \"Prueba de Concepto\" - suficiente para demostrar lo que se puede hacer, pero no lo suficiente como para confiar en él para un desarrollo serio." + +#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +#, fuzzy +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "Si tiene problemas con este paso del tutorial, puede pasar a la página siguiente." + +#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#, fuzzy +msgid "Deploying as a web app" +msgstr "Despliegue como aplicación web" + +#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +#, fuzzy +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "El proceso de despliegue de una aplicación web de una sola página sigue el mismo patrón familiar: se crea la aplicación, se compila y se ejecuta. Sin embargo, Briefcase puede ser un poco inteligente; si intentas ejecutar una aplicación, y Briefcase determina que no ha sido creada o construida para la plataforma a la que se dirige, realizará los pasos de creación y construcción por ti. Dado que esta es la primera vez que ejecutamos la aplicación para la web, podemos realizar los tres pasos con un solo comando:" + +#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 +#, fuzzy +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Esto abrirá un navegador web, apuntando a [http://127.0.0.1:8080](http://127.0.0.1:8080):" + +#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 +#, fuzzy +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "Diálogo Hello World Tutorial 6, en un navegador" + +#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#, fuzzy +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "Si introduce su nombre y pulsa el botón, aparecerá un cuadro de diálogo." + +#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#, fuzzy +msgid "How does this work?" +msgstr "¿Como funciona esto?" + +#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +#, fuzzy +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Esta aplicación web es un sitio web estático - una única página fuente HTML, con algunos CSS y otros recursos. Briefcase ha iniciado un servidor web local para servir esta página y que tu navegador pueda verla. Si quisieras poner esta página web en producción, podrías copiar el contenido de la carpeta `www` en cualquier servidor web que pueda servir contenido estático." + +#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +#, fuzzy +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Pero cuando pulsas el botón, estás ejecutando código Python... ¿cómo funciona eso? Toga utiliza [PyScript]{1} para proporcionar un intérprete de Python en el navegador. Briefcase empaqueta el código de tu aplicación como ruedas que PyScript puede cargar en el navegador. Cuando se carga la página, el código de la aplicación se ejecuta en el navegador, construyendo la interfaz de usuario utilizando el DOM del navegador. Cuando pulsas un botón, ese botón ejecuta el código de gestión de eventos en el navegador." + +#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +#, fuzzy +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, dispositivos móviles y la web, la aplicación es bastante sencilla y no incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7][tutorial-7] para averiguarlo..." diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..723a9e04 --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,374 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2025-06-12 02:04+0000\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +#, fuzzy +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "Tutorial 7 - Poner en marcha esta (tercera)fiesta" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#, fuzzy +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "Hasta ahora, la aplicación que hemos construido sólo ha utilizado nuestro propio código, además del código proporcionado por BeeWare. Sin embargo, en una aplicación del mundo real, es probable que desees utilizar una biblioteca de terceros, descargada del Python Package Index (PyPI)." + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#, fuzzy +msgid "Let's modify our app to include a third-party library." +msgstr "Vamos a modificar nuestra aplicación para incluir una biblioteca de terceros." + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#, fuzzy +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Vamos a añadir una llamada a la API `httpx` a nuestra aplicación. Añade un import al principio de `app.py` para importar `httpx`:" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Luego modifica el callback `say_hello()` para que se vea así:" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#, fuzzy +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "Vamos a ejecutar nuestra aplicación actualizada en el modo de desarrollador de Briefcase para comprobar que nuestro cambio ha funcionado." + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +#, fuzzy +msgid "iOS" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +#, fuzzy +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "¿Qué ha pasado? Hemos añadido `httpx` a nuestro *código*, pero no lo hemos añadido a nuestro entorno virtual de desarrollo. Podemos solucionarlo instalando `httpx` con `pip`, y volviendo a ejecutar `briefcase dev`:" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +#, fuzzy +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "Cuando introduzcas un nombre y pulses el botón, deberías ver un cuadro de diálogo parecido a:" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Hello World Tutorial 7 diálogo, en macOS" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "Diálogo Hello World Tutorial 7, en Linux" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "Diálogo Hello World Tutorial 7, en Windows" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#, fuzzy +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "Ya tenemos una aplicación que funciona, que utiliza una biblioteca de terceros y que se ejecuta en modo de desarrollo" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#, fuzzy +msgid "Running the updated app" +msgstr "Ejecutar la aplicación actualizada" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Vamos a empaquetar este código de aplicación actualizado como una aplicación independiente. Como hemos hecho cambios en el código, tenemos que seguir los mismos pasos que en [Tutorial 4][tutorial-4]:" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "Actualice el código en la aplicación empaquetada:" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "Reconstruye la aplicación:" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +msgid "And finally, run the app:" +msgstr "Y, por último, ejecute la aplicación:" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola y un cuadro de diálogo de bloqueo:" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "Fallo de la aplicación Hello World Tutorial 7, en macOS" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Fallo de la aplicación Hello World Tutorial 7, en Windows" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Una vez más, la aplicación no ha podido iniciarse porque `httpx` ha sido instalado - pero ¿por qué? ¿No hemos instalado ya `httpx`?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "Sí, pero sólo en el entorno de desarrollo. Tu entorno de desarrollo es totalmente local a tu máquina - y sólo se activa cuando lo activas explícitamente. Aunque Briefcase tiene un modo de desarrollo, la principal razón por la que utilizarías Briefcase es para empaquetar tu código y poder dárselo a otra persona." + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "La única forma de garantizar que alguien más tenga un entorno Python que contenga todo lo que necesita es construir un entorno Python completamente aislado. Esto significa que hay una instalación de Python completamente aislada, y un conjunto de dependencias completamente aislado. Esto es lo que Briefcase construye cuando ejecutas `briefcase build` - un entorno Python aislado. Esto también explica por qué `httpx` no está instalado - ha sido instalado en tu entorno de *desarrollo*, pero no en la aplicación empaquetada." + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "Por lo tanto, tenemos que decirle a Briefcase que nuestra aplicación tiene una dependencia externa." + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "Actualización de las dependencias" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "En el directorio raíz de tu aplicación, hay un archivo llamado `pyproject.toml`. Este archivo contiene todos los detalles de configuración de la aplicación que proporcionaste cuando ejecutaste `briefcase new`." + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` está dividido en secciones; una de las secciones describe la configuración de tu aplicación:" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "La opción `requires` describe las dependencias de nuestra aplicación. Es una lista de cadenas, especificando librerías (y, opcionalmente, versiones) de librerías que quieres que se incluyan con tu app." + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modifique la configuración `requires` para que diga:" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Al añadir esta opción, le estamos diciendo a Briefcase \"cuando compiles mi aplicación, ejecuta `pip install httpx` en el paquete de la aplicación\". Cualquier cosa que sea una entrada legal para `pip install` se puede utilizar aquí - por lo que podría especificar:" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Una versión específica de la biblioteca (por ejemplo, `\"httpx==0.19.0\"`);" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Un rango de versiones de la biblioteca (por ejemplo, `\"httpx>=0.19\"`);" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Una ruta a un repositorio git (por ejemplo, `\"git+https://github.com/encode/httpx\"`); o bien" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#, fuzzy +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "Una ruta de archivo local (No obstante, ten cuidado: si entregas tu código a otra persona, es probable que esta ruta no exista en su máquina)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Más abajo en `pyproject.toml`, verás otras secciones que dependen del sistema operativo, como `[tool.briefcase.app.helloworld.macOS]` y `[tool.briefcase.app.helloworld.windows]`. Estas secciones también tienen una configuración `requires`. Estas opciones te permiten definir dependencias adicionales específicas de la plataforma; así, por ejemplo, si necesitas una biblioteca específica de la plataforma para manejar algún aspecto de tu aplicación, puedes especificar esa biblioteca en la sección `requires` específica de la plataforma, y esa opción sólo se utilizará para esa plataforma. Notarás que las librerías `toga` están todas especificadas en la sección `requires` específica de la plataforma - esto es porque las librerías necesarias para mostrar una interfaz de usuario son específicas de la plataforma." + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "En nuestro caso, queremos que `httpx` se instale en todas las plataformas, por lo que utilizamos el parámetro `requires` a nivel de aplicación. Las dependencias a nivel de aplicación siempre se instalarán; las dependencias específicas de la plataforma se instalan *además* de las dependencias a nivel de aplicación." + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Ahora que hemos informado a Briefcase sobre nuestros requisitos adicionales, podemos intentar empaquetar nuestra aplicación de nuevo. Asegúrate de que has guardado los cambios en `pyproject.toml`, y luego actualiza tu aplicación de nuevo - esta vez, introduciendo la bandera `-r`. Esto le dice a Briefcase que actualice los requisitos en la aplicación empaquetada:" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Una vez que haya actualizado, puede ejecutar `briefcase build` y `briefcase run` - y usted debe ver su aplicación empaquetada, con el nuevo comportamiento de diálogo." + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "La opción `-r` para actualizar los requisitos también es respetada por los comandos `build` y `run`, así que si quieres actualizar, construir y ejecutar en un solo paso, puedes usar `briefcase run -u -r`." + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "En plataformas de escritorio (macOS, Windows, Linux), se puede añadir cualquier `pip`-instalable a sus requisitos. En plataformas móviles y web, [las opciones son ligeramente limitadas]{1}." + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#, fuzzy +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "BeeWare puede proporcionar binarios para algunos módulos binarios populares (incluyendo `numpy`, `pandas`, y `cryptography`). Es *normalmente* posible compilar paquetes para plataformas móviles, pero no es fácil de configurar - fuera del alcance de un tutorial introductorio como éste." + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "Acceso a una API" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Una tarea común que una aplicación necesitará realizar es hacer una petición a una API web para recuperar datos, y mostrar esos datos al usuario. Esta es una aplicación de juguete, así que no tenemos una API *real* con la que trabajar, así que usaremos la [{JSON} Placeholder API]{1} como fuente de datos." + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "El {JSON} Placeholder API tiene una serie de \"falsos\" puntos finales de la API que puede utilizar como datos de prueba. Una de esas API es el punto final `/posts/`, que devuelve entradas de blog falsas. Si abre `https://jsonplaceholder.typicode.com/posts/42` en su navegador, obtendrá una carga útil JSON que describe una única entrada: algo de contenido [Lorum ipsum]{1} para una entrada de blog con ID 42." + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "La biblioteca estándar de Python contiene todas las herramientas necesarias para acceder a una API. Sin embargo, las API incorporadas son de muy bajo nivel. Son buenas implementaciones del protocolo HTTP, pero requieren que el usuario gestione muchos detalles de bajo nivel, como la redirección de URL, las sesiones, la autenticación y la codificación de la carga útil. Como \"usuario normal de navegador\" probablemente estés acostumbrado a dar por sentado estos detalles, ya que un navegador gestiona estos detalles por ti." + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Como resultado, la gente ha desarrollado bibliotecas de terceros que envuelven las APIs integradas y proporcionan una API más simple que se acerca más a la experiencia cotidiana del navegador. Vamos a utilizar una de esas bibliotecas para acceder a la API {JSON} Placeholder - una biblioteca llamada [httpx]{1}." + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Esto cambiará la llamada de retorno `say_hello()` para que cuando sea invocada, lo haga:" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "realice una solicitud GET en la API de marcador de posición JSON para obtener el puesto 42;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "decodificar la respuesta como JSON;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "extraer el cuerpo del mensaje; y" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "incluir el cuerpo de ese mensaje como texto del diálogo." + +#~ msgid "Some binary packages may not be available" +#~ msgstr "Algunos paquetes binarios pueden no estar disponibles" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "En resumen; cualquier paquete *puro* de Python (es decir, paquetes que *no* contienen un módulo binario) puede ser utilizado sin dificultad. Sin embargo, si su dependencia contiene un componente binario, debe ser compilado; en este momento, la mayoría de los paquetes de Python no proporcionan soporte de compilación para plataformas que no sean de escritorio." + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita [Tutorial 8][tutorial-8] para averiguarlo..." + diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..635bb42b --- /dev/null +++ b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,368 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2025-06-12 02:04+0000\n" +"Last-Translator: Adolfo Jayme Barrientos \n" +"Language: es\n" +"Language-Team: Spanish \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +#, fuzzy +msgid "Tutorial 8 - Making it Smooooth" +msgstr "Tutorial 8 - Suavizar" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +#, fuzzy +msgid "iOS" +msgstr "Windows" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "A menos que tengas una conexión a Internet *realmente* rápida, puede que notes que cuando pulsas el botón, la GUI de tu aplicación se bloquea un poco. Esto se debe a que la petición web que hemos realizado es *síncrona*. Cuando nuestra aplicación realiza la petición web, espera a que la API devuelva una respuesta antes de continuar. Mientras espera, *no* permite a la aplicación redibujar - y como resultado, la aplicación se bloquea." + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +#, fuzzy +msgid "GUI Event Loops" +msgstr "Bucles de eventos GUI" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#, fuzzy +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "Para entender por qué ocurre esto, tenemos que profundizar en los detalles del funcionamiento de una aplicación GUI. Los detalles varían en función de la plataforma, pero los conceptos de alto nivel son los mismos, independientemente de la plataforma o el entorno GUI que utilices." + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#, fuzzy +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Una aplicación GUI es, fundamentalmente, un único bucle parecido a:" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "Este bucle se llama *Bucle de Evento*. (Estos no son nombres de métodos reales - es una ilustración de lo que está pasando en \"pseudo-código\")." + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#, fuzzy +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Cuando haces clic en un botón, arrastras una barra de desplazamiento o tecleas una tecla, estás generando un \"evento\". Ese \"evento\" se coloca en una cola, y la aplicación procesará la cola de eventos la próxima vez que tenga la oportunidad de hacerlo. El código de usuario que se activa en respuesta al evento se denomina *manejador de eventos*. Estos manejadores de eventos son invocados como parte de la llamada `process_events()`." + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +#, fuzzy +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Una vez que una aplicación ha procesado todos los eventos disponibles, `redibujará()` la GUI. Esto tiene en cuenta cualquier cambio que los eventos hayan causado en la pantalla de la aplicación, así como cualquier otra cosa que esté ocurriendo en el sistema operativo - por ejemplo, las ventanas de otra aplicación pueden oscurecer o revelar parte de la ventana de nuestra aplicación, y el redibujado de nuestra aplicación tendrá que reflejar la parte de la ventana que es visible en ese momento." + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#, fuzzy +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "El detalle importante a tener en cuenta: mientras una aplicación está procesando un evento, *no puede redibujar*, y *no puede procesar otros eventos*." + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#, fuzzy +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "Esto significa que cualquier lógica de usuario contenida en un manejador de eventos necesita completarse rápidamente. Cualquier retraso en la finalización del manejador de eventos será observado por el usuario como una ralentización (o detención) en las actualizaciones de la interfaz gráfica de usuario. Si este retraso es lo suficientemente largo, tu sistema operativo puede reportarlo como un problema - los iconos \"beachball\" de macOS y \"spinner\" de Windows son el sistema operativo diciéndote que tu aplicación está tardando demasiado en un manejador de eventos." + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#, fuzzy +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "Operaciones sencillas como \"actualizar una etiqueta\" o \"volver a calcular el total de las entradas\" son fáciles de completar rápidamente. Sin embargo, hay muchas operaciones que no pueden completarse rápidamente. Si realizas un cálculo matemático complejo, o indexas todos los archivos de un sistema de ficheros, o realizas una petición de red de gran tamaño, no puedes \"hacerlo rápido\": las operaciones son intrínsecamente lentas." + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#, fuzzy +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "Entonces, ¿cómo realizar operaciones de larga duración en una aplicación GUI?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#, fuzzy +msgid "Asynchronous programming" +msgstr "Programación asíncrona" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#, fuzzy +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "Lo que necesitamos es una manera de decirle a una aplicación en medio de un manejador de eventos de larga duración que está bien liberar temporalmente el control de nuevo al bucle de eventos, siempre y cuando podamos reanudar donde lo dejamos. Depende de la aplicación determinar cuándo puede ocurrir esta liberación; pero si la aplicación libera el control al bucle de eventos regularmente, podemos tener un manejador de eventos de larga duración *y* mantener una interfaz de usuario responsiva." + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#, fuzzy +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "Podemos hacerlo utilizando *programación asíncrona*. La programación asíncrona es una forma de describir un programa que permite al intérprete ejecutar varias funciones al mismo tiempo, compartiendo recursos entre todas las funciones que se ejecutan simultáneamente." + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "Las funciones asíncronas (conocidas como *corrutinas*) deben declararse explícitamente como asíncronas. También necesitan declarar internamente cuándo existe la oportunidad de cambiar el contexto a otra co-rutina." + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "En Python, la programación asíncrona se implementa utilizando las palabras clave `async` y `await`, y el módulo [asyncio]{1} de la biblioteca estándar. La palabra clave `async` nos permite declarar que una función es una co-rutina asíncrona. La palabra clave `await` proporciona una forma de declarar cuando existe la oportunidad de cambiar el contexto a otra co-rutina. El módulo [asyncio]{1} proporciona algunas otras herramientas útiles y primitivas para la codificación asíncrona." + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "Hacer que el tutorial sea asíncrono" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#, fuzzy +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "Sólo hay 4 cambios en este código con respecto a la versión anterior:" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#, fuzzy +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "El cliente que se crea es un `AsyncClient()` asíncrono, en lugar de un `Client()` síncrono. Esto indica a `httpx` que debe operar en modo asíncrono, en lugar de síncrono." + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#, fuzzy +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "El gestor de contexto utilizado para crear el cliente está marcado como `async`. Esto le indica a Python que existe la oportunidad de liberar el control a medida que se entra y se sale del gestor de contexto." + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "Toga te permite utilizar métodos regulares o co-rutinas asíncronas como manejadores; Toga gestiona todo entre bastidores para asegurarse de que el manejador es invocado o esperado según sea necesario." + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "Si guardas estos cambios y vuelves a ejecutar la aplicación (ya sea con `briefcase dev` en modo desarrollo, o actualizando y volviendo a ejecutar la aplicación empaquetada), no habrá ningún cambio obvio en la aplicación. Sin embargo, al hacer clic en el botón para activar el cuadro de diálogo, puede notar una serie de mejoras sutiles:" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#, fuzzy +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "El botón vuelve a un estado \"no pulsado\", en lugar de quedar atrapado en un estado \"pulsado\"." + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +#, fuzzy +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "El icono \"bola de playa\"/\"spinner\" no aparece" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#, fuzzy +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "Si mueves o cambias el tamaño de la ventana de la aplicación mientras esperas a que aparezca el cuadro de diálogo, la ventana volverá a dibujarse." + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#, fuzzy +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "Si intentas abrir el menú de una aplicación, el menú aparecerá inmediatamente." + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "Siguientes pasos" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "Esto ha sido una muestra de lo que puedes hacer con las herramientas proporcionadas por el proyecto BeeWare. En el transcurso de este tutorial, usted tiene:" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "Creado un nuevo proyecto de aplicación GUI;" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "Ejecuta esa aplicación en modo desarrollo;" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "Creé la aplicación como un binario independiente para un sistema operativo de escritorio;" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "Empaquetado de ese proyecto para su distribución a otros;" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "Ejecuta la aplicación en un simulador y/o dispositivo móvil;" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "Ejecute la aplicación como una aplicación web;" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "Has añadido una dependencia de terceros a tu aplicación; y" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "Modificado la aplicación para que siga respondiendo." + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "Entonces - ¿ahora qué?" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "Si quieres ir más allá, hay algunos tutoriales [Tutoriales adicionales][/tutorial/topics/index] que entran en detalle sobre aspectos específicos del desarrollo de aplicaciones." + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +#, fuzzy +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "Si quieres saber más sobre cómo construir interfaces de usuario complejas con Toga, puedes sumergirte en [la documentación de Toga]{1}. Toga también tiene su propio tutorial [demostrando cómo usar varias características del widget toolkit]{1}." + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +#, fuzzy +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse en [la documentación de Briefcase]{1}." + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Ahora tenemos una aplicación que es ágil y sensible, incluso cuando está esperando en una API lenta. Pero, ¿cómo podemos asegurarnos de que la aplicación sigue funcionando a medida que continuamos desarrollándola? ¿Cómo probamos nuestra aplicación? Visita [Tutorial 9][tutorial-9] para descubrirlo..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "El método se define como `async def`, en lugar de sólo `def`. Esto indica a Python que el método es una co-rutina asíncrona." + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "La llamada `get` se hace con una palabra clave `await`. Esto indica a la aplicación que, mientras esperamos la respuesta de la red, puede ceder el control al bucle de eventos." + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + diff --git a/updated-locales/fr/LC_MESSAGES/how-to/index.po b/updated-locales/fr/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..7bb0d280 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/fr/LC_MESSAGES/index.po b/updated-locales/fr/LC_MESSAGES/index.po new file mode 100644 index 00000000..f6e98c68 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/index.po @@ -0,0 +1,101 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2025-05-22 02:01+0000\n" +"Last-Translator: Hēphaïstos \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +msgid "Welcome to the BeeWare Tutorial!" +msgstr "Bienvenue dans le didacticiel BeeWare !" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +msgid "**Write Python. Run Anywhere.**" +msgstr "**Écrire en Python. Exécutez n'importe où.**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "Bienvenue à BeeWare ! Dans ce tutoriel, nous allons construire une interface utilisateur graphique en utilisant Python, et la déployer en tant qu'application de bureau, application mobile et application web à page unique. Nous allons également voir comment vous pouvez utiliser les outils de BeeWare pour effectuer certaines tâches courantes pour les développeur d'applications, telles que tester votre application." + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +msgid "Translations are available" +msgstr "Des traductions sont disponibles" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "Si vous n'êtes pas à l'aise en français, vous pouvez trouver des traductions de ce didacticiel en [English]{1}, [Deutsch]{1}, [Español]{1}, [Português]{1}, and [汉语]{1}." + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +msgid "This is a machine translation!" +msgstr "Il s'agit d'une traduction automatique !" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "Cette version du didacticiel a en partie été générée par une traduction automatique. Nous savons que ce n'est pas la solution idéale, mais nous avons estimé qu'une mauvaise traduction valait mieux que pas de traduction du tout." + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Si vous souhaitez nous aider à améliorer la traduction, n'hésitez pas à nous contacter ! Nous avons un canal `#translations` dans [Discord]{1} ; présentez-vous et nous vous ajouterons à l'équipe de traduction." + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +msgid "This is a translation!" +msgstr "Il s'agit d'une traduction !" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "Ce document est une traduction de la version anglaise. La traduction a été révisée par des humains, mais des sections plus récentes peuvent être générées par une traduction automatique, ou ne pas être traduites du tout." + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +msgid "What is BeeWare?" +msgstr "Qu'est-ce que BeeWare ?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "BeeWare n'est pas un produit, un outil ou une bibliothèque unique - c'est une collection d'outils et de bibliothèques, chacun d'entre eux fonctionnant ensemble pour vous aider à écrire des applications Python multiplateformes avec une interface graphique native. Il comprend :" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +#, fuzzy +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, une boîte à outils de widgets multiplateforme ;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#, fuzzy +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, un outil pour empaqueter les projets Python en tant qu'artefacts distribuables pouvant être envoyés aux utilisateurs finaux ;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#, fuzzy +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Des bibliothèques (telles que [Rubicon ObjC]{1}) pour accéder aux bibliothèques natives des diverses plates-formes ;" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "Des versions pré-compilées de Python pour les plateformes où les programmes d'installation officiels de Python ne sont pas disponibles." + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "Dans ce tutoriel, nous utiliserons tous ces outils, mais en tant qu'utilisateur, vous n'aurez besoin d'interagir qu'avec les deux premiers (Toga et Briefcase). Cependant, chacun de ces outils peut également être utilisé séparément. Par exemple, vous pouvez utiliser Briefcase pour déployer une application sans utiliser Toga comme boîte à outils GUI." + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "La suite BeeWare est disponible pour macOS, Windows, Linux (avec GTK) ; pour des plateformes mobiles telles qu'Android et iOS ; et pour le Web." + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "C'est parti !" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Prêt à essayer BeeWare par vous-même ? [Créons une application multiplateforme en Python !][tutorial/tutorial-0]" + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..41797195 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "" + +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#~ msgstr "" + +#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." +#~ msgstr "" + +#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" +#~ msgstr "" + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..e04f6929 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,144 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2025-06-21 02:01+0000\n" +"Last-Translator: John \n" +"Language-Team: French \n" +"Language: fr\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" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#, fuzzy +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "Jusqu'à présent, notre application utilise l'icône par défaut \"abeille grise\". Comment mettre à jour l'application pour qu'elle utilise notre propre icône ?" + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#, fuzzy +msgid "Adding an icon" +msgstr "Ajouter une icône" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**Bientôt disponible**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Nous avons maintenant une application avec une icône personnalisée sur notre bureau et notre téléphone ! Comment partager cette application avec tout le monde ? Consultez [Tutoriel 11][tutorial-11] pour le découvrir..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "Tutoriel 10 - Créez votre propre application" + +#~ msgid "Next steps" +#~ msgstr "Étapes suivantes" + +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..fd77b17a --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: fr\n" +"Language-Team: fr \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "" + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "" + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..a17ee0c5 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,147 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +#, fuzzy +msgid "Testing times" +msgstr "Tutoriel 9 - Temps de test" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#, fuzzy +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "La plupart des développements de logiciels n'impliquent pas l'écriture d'un nouveau code, mais la modification d'un code existant. S'assurer que le code existant continue à fonctionner comme nous l'attendons est une partie essentielle du processus de développement logiciel. Une façon de s'assurer du comportement de notre application est d'utiliser une *suite de tests*." + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#, fuzzy +msgid "Running the test suite" +msgstr "Exécution de la suite de tests" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#, fuzzy +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Il s'avère que notre projet possède déjà une suite de tests ! Lorsque nous avons généré notre projet à l'origine, deux répertoires de premier niveau ont été générés : `src` et `tests`. Le dossier `src` contient le code de notre application ; le dossier `tests` contient notre suite de tests. Dans le dossier `tests` se trouve un fichier nommé `test_app.py` avec le contenu suivant: :" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#, fuzzy +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Ceci est un [Pytest]{1} *test case* - un bloc de code qui peut être exécuté pour vérifier un certain comportement de votre application. Dans ce cas, le test est un placeholder, et ne teste rien de notre application - mais c'est un test que nous pouvons effectuer." + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#, fuzzy +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Nous pouvons lancer cette suite de tests en utilisant l'option `--test` de `briefcase dev`. Comme c'est la première fois que nous lançons des tests, nous devons également passer l'option `-r` pour nous assurer que les exigences de test sont également installées :" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#, fuzzy +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "Succès ! Nous venons d'exécuter un seul test qui vérifie que les mathématiques Python fonctionnent de la manière attendue (Quel soulagement !)." + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#, fuzzy +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Remplaçons ce placeholder test par un test pour vérifier que notre méthode `greeting()` se comporte comme nous l'attendons. Remplacez le contenu de `test_app.py` par ce qui suit: :" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#, fuzzy +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "Ceci définit deux nouveaux tests, vérifiant les deux comportements que nous attendons : la sortie lorsqu'un nom est fourni, et la sortie lorsque le nom est vide." + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#, fuzzy +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Nous pouvons maintenant réexécuter la suite de tests. Cette fois, nous n'avons pas besoin de fournir l'option `-r`, puisque les pré-requis pour les tests ont déjà été installés ; nous avons seulement besoin d'utiliser l'option `--test` :" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#, fuzzy +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Excellent ! Notre méthode utilitaire `greeting()` fonctionne comme prévu." + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#, fuzzy +msgid "Test driven development" +msgstr "Développement piloté par les tests" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#, fuzzy +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Maintenant que nous disposons d'une suite de tests, nous pouvons l'utiliser pour développer de nouvelles fonctionnalités. Modifions notre application pour avoir un message d'accueil spécial pour un utilisateur particulier. Nous pouvons commencer par ajouter un scénario de test pour le nouveau comportement que nous aimerions voir au bas de `test_app.py`: :" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#, fuzzy +msgid "Then, run the test suite with this new test:" +msgstr "Ensuite, exécutez la suite de tests avec ce nouveau test :" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#, fuzzy +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Cette fois, nous voyons un échec du test - et la sortie explique la source de l'échec : le test attend la sortie \"BeeWare the IDEs of Python !\", mais notre implémentation de `greeting()` retourne \"Hello, Brutus\". Modifions l'implémentation de `greeting()` dans `src/helloworld/app.py` pour avoir le nouveau comportement: :" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#, fuzzy +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "Si nous exécutons à nouveau les tests, nous constatons qu'ils sont réussis :" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#, fuzzy +msgid "Runtime tests" +msgstr "Tests d'exécution" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#, fuzzy +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "Jusqu'à présent, nous avons exécuté les tests en mode développement. C'est particulièrement utile lorsque vous développez de nouvelles fonctionnalités, car vous pouvez rapidement itérer sur l'ajout de tests et l'ajout de code pour faire passer ces tests. Cependant, à un moment donné, vous voudrez vérifier que votre code s'exécute correctement dans l'environnement de l'application groupée." + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#, fuzzy +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Les options `--test` et `-r` peuvent également être passées à la commande `run`. Si vous utilisez `briefcase run --test -r`, la même suite de tests s'exécutera, mais elle s'exécutera dans le paquetage de l'application plutôt que dans votre environnement de développement :" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#, fuzzy +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Comme pour `briefcase dev --test`, l'option `-r` n'est nécessaire que la première fois que vous exécutez la suite de tests pour vous assurer que les dépendances des tests sont présentes. Lors des exécutions suivantes, vous pouvez omettre cette option." + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#, fuzzy +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Vous pouvez également utiliser l'option `--test` sur les backends mobiles : - ainsi `briefcase run iOS --test` et `briefcase run android --test` fonctionneront tous les deux, lançant la suite de tests sur l'appareil mobile que vous avez sélectionné." + +#~ msgid "Next steps" +#~ msgstr "Étapes suivantes" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..122a3637 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,235 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +msgid "Tutorial 0 - Let's get set up!" +msgstr "Tutoriel 0 - Préparons-nous !" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "Avant de créer notre première application BeeWare, nous devons nous assurer que nous disposons de tous les prérequis pour le fonctionnement de BeeWare." + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +msgid "Install Python" +msgstr "Installer Python" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "La première chose dont nous avons besoin est un interpréteur Python fonctionnel." + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#, fuzzy +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#, fuzzy +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Il existe de nombreuses façons d'installer Python. Vous pouvez installer Python via [homebrew]{1}. Vous pouvez utiliser [pyenv]{1} pour gérer plusieurs installations de Python sur la même machine. Les utilisateurs de Windows peuvent installer Python à partir du Windows App Store. Les utilisateurs ayant une formation en science des données pourraient préfèrer utiliser [Anaconda]{1} ou [Miniconda]{1}." + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Si vous êtes sous Linux, vous installerez Python en utilisant le gestionnaire de paquets du système (`apt` sur Debian/Ubuntu/Mint, `dnf` sur Fedora, ou `pacman` sur Arch)." + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "Vous devez vous assurer que le Python du système est Python 3.8 ou plus récent ; si ce n'est pas le cas (par exemple, Ubuntu 18.04 est livré avec Python 3.6), vous devrez mettre à jour votre distribution Linux vers quelque chose de plus récent." + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Si vous êtes sous macOS ou Windows, peu importe *comment* vous avez installé Python – ce qui compte c'est que vous puissiez lancer `python3` à partir de l'invite de commande/terminal de votre système d'exploitation, et obtenir un interpréteur Python fonctionnel." + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +msgid "Install dependencies" +msgstr "Installer les dépendances" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "Ensuite, installez les dépendances supplémentaires nécessaires à votre système d'exploitation :" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +msgid "Building BeeWare apps on macOS requires:" +msgstr "La construction d'applications BeeWare sur macOS nécessite :" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "Pour permettre le développement local, vous allez devoir installer certains paquets système. La liste des paquets requis varie en fonction de votre distribution :" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#, fuzzy +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu 20.04+ / Debian 10+**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#, fuzzy +msgid "**Arch / Manjaro**" +msgstr "**Arch, Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +msgid "Building BeeWare apps on Windows requires:" +msgstr "La création d'applications BeeWare sur Windows nécessite :" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, un système de contrôle de version. Vous pouvez télécharger Git à partir de [git-scm.com]{1}." + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "Après avoir installé ces outils, assurez-vous de redémarrer toutes les sessions de terminal. Sous Windows, les nouveaux outils installés ne seront accessibles qu'aux terminaux démarrés *après* la fin de l'installation." + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +msgid "Set up a virtual environment" +msgstr "Mise en place d'un environnement virtuel" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "Nous allons maintenant créer un environnement virtuel – un \"bac à sable\" (sandbox) que nous pouvons utiliser pour isoler notre travail sur ce tutoriel de notre installation Python principale. Si nous installons des paquets dans l'environnement virtuel, notre installation principale de Python (et tout autre projet Python sur notre ordinateur) ne sera pas affectée. Si nous provoquons un désordre complet dans notre environnement virtuel, nous pourrons simplement l'effacer et recommencer, sans affecter aucun autre projet Python sur notre ordinateur, et sans avoir besoin de réinstaller Python." + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +msgid "Errors running PowerShell Scripts" +msgstr "Erreurs lors de l'exécution de scripts PowerShell" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Si vous utilisez PowerShell et que vous recevez l'erreur :" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "Votre compte Windows n'a pas les autorisations nécessaires pour exécuter des scripts. Pour y remédier :" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Exécutez `set-executionpolicy RemoteSigned`" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +msgid "Select `Y` to change the execution policy." +msgstr "Sélectionnez \"O\" pour modifier la politique d'exécution." + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Une fois que vous avez fait cela, vous pouvez exécuter à nouveau `beeware-venv\\Scripts\\activate.ps1` dans votre session PowerShell d'origine (ou dans une nouvelle session dans le même répertoire)." + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Si cela a fonctionné, votre prompt devrait maintenant être modifié – il devrait avoir un préfixe `(beeware-venv)`. Cela vous permet de savoir que vous êtes actuellement dans votre environnement virtuel BeeWare. Chaque fois que vous travaillerez sur ce tutoriel, vous devrez vous assurer que votre environnement virtuel est activé. Si ce n'est pas le cas, relancez la dernière commande (la commande `activate`) pour réactiver votre environnement." + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +msgid "Alternative virtual environments" +msgstr "Environnements virtuels alternatifs" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Si vous utilisez Anaconda ou miniconda, vous êtes peut-être plus familier avec l'utilisation des environnements conda. Vous avez peut-être aussi entendu parler de `virtualenv`, un prédécesseur du module intégré `venv` de Python. De même pour les installations de Python – si vous êtes sous macOS ou Windows, peu importe *comment* vous créez votre environnement virtuel, tant que vous en avez un. Si vous êtes sous Linux, vous devriez vous en tenir à `venv` et au Python du système." + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prêts à [créer notre première application BeeWare][tutorial-1]." + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "Exécutez Windows PowerShell en tant qu'administrateur." + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "**Git**, un système de contrôle de version. Il est inclus dans Xcode ou dans les outils de développement en ligne de commande, que vous avez installés précédemment." + +#~ msgid "Alternative Python distributions" +#~ msgstr "Distributions alternatives de Python" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "Si vous êtes sous Linux, vous devez utiliser le Python fourni par votre système d'exploitation. Vous pourrez réaliser *la majeure partie* de ce tutoriel en utilisant un Python non système, mais vous ne pourrez pas empaqueter votre application pour la distribuer à d'autres." + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "Si vous utilisez macOS, une version récente de Python est incluse dans Xcode ou dans les outils de développement en ligne de commande. Pour vérifier si vous l'avez déjà, exécutez la commande suivante :" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "Si Python est installé, vous verrez son numéro de version. Sinon, vous serez invité à installer les outils de développement en ligne de commande." + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..e586f217 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,191 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Charles Bousseau \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +msgid "Tutorial 1 - Your first app" +msgstr "Tutoriel 1 - Votre première application" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +msgid "We're ready to create our first application." +msgstr "Nous sommes prêts à créer notre première application." + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +msgid "Install the BeeWare tools" +msgstr "Installer les outils BeeWare" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Tout d'abord, nous devons installer **Briefcase**. Briefcase est un outil BeeWare qui peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux – mais il peut également être utilisé pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire `beeware-tutorial` que vous avez créé lors du [Tutorial 0][tutorial-0], avec l'environnement virtuel `beeware-venv` activé, et exécutez :" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +msgid "Possible errors during installation" +msgstr "Erreurs possibles lors de l'installation" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Si vous rencontrez des erreurs pendant l'installation, c'est très certainement parce que certains des prérequis du système n'ont pas été installés. Assurez-vous d'avoir [installé tous les prérequis de la plateforme ][install-dependencies]." + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "Il est important que vous utilisiez `python -m pip`, plutôt qu'un simple `pip`. Briefcase doit s'assurer qu'il a une version à jour de `pip` et de `setuptools`, et une simple utilisation de `pip` ne peut pas se mettre à jour d'elle-même. Si vous voulez en savoir plus, [Brett Cannon a publié un billet de blog détaillé sur ce sujet]{1}." + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +msgid "Bootstrap a new project" +msgstr "Créer un nouveau projet" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Commençons notre premier projet BeeWare ! Nous allons utiliser la commande `new` de Briefcase pour créer une application appelée **Hello World**. Exécutez la commande suivante à partir de votre invite de commande :" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "Briefcase nous demandera quelques détails sur notre nouvelle application. Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formal Name** (Nom formel) – Acceptez la valeur par défaut : `Hello World`." + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** (Nom de l'application) - Acceptez la valeur par défaut : `helloworld`." + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#, fuzzy +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Si vous possédez votre propre domaine, entrez ce domaine en ordre inverse. (Par exemple, si vous possédez le domaine \"cupcakes.com\", entrez `com.cupcakes` comme bundle). Si vous ne possédez pas votre propre domaine, acceptez le bundle par défaut (`com.example`)." + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Project Name** (Nom du projet) - Acceptez la valeur par défaut : `Hello World`." + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +#, fuzzy +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**Description** - Acceptez la valeur par défaut (ou, si vous voulez être vraiment créatif, trouvez votre propre description !)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +msgid "**Author** - Enter your own name here." +msgstr "** Author** (Auteur) - Entrez votre propre nom ici." + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#, fuzzy +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "**Author's email** (adresse email) - Entrez votre propre adresse email. Elle sera utilisée dans le fichier de configuration, dans le texte d'aide, et partout où un email est requis lors de la soumission de l'application à un app store (magasin d'applications)." + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#, fuzzy +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - L'URL de la page d'accueil de votre application. Encore une fois, si vous possédez votre propre domaine, entrez une URL sur ce domaine (y compris le `https://`). Sinon, acceptez l'URL par défaut (`https://example.com/helloworld`). Cette URL n'a pas besoin d'exister (pour l'instant) ; elle ne sera utilisée que si vous publiez votre application dans un magasin d'applications." + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#, fuzzy +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "**License** (Licence) - Acceptez la licence par défaut (BSD). Cela n'affecte en rien le fonctionnement du tutoriel, donc si vous avez des opinions fortes à ce sujet, n'hésitez pas à en choisir une autre." + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**GUI framework** (framework d'interface utilisateur graphique) - Acceptez l'option par défaut, Toga (la boîte à outils GUI de BeeWare)." + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase va alors générer un squelette de projet que vous pourrez utiliser. Si vous avez suivi ce tutoriel jusqu'ici, et accepté les paramètres par défaut tels que décrits, votre système de fichiers devrait ressembler à quelque chose comme ceci :" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Ce squelette est en fait une application pleinement fonctionnelle, sans avoir rien à ajouter d'autre. Le dossier `src` contient tout le code de l'application, le dossier `tests` contient une suite de tests initiale, et le fichier `pyproject.toml` décrit comment empaqueter l'application pour la distribuer. Si vous ouvrez `pyproject.toml` dans un éditeur, vous verrez les détails de la configuration que vous venez de fournir à Briefcase." + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "Maintenant que nous avons une ébauche d'application, nous pouvons utiliser Briefcase pour l'exécuter." + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +msgid "Run the app in developer mode" +msgstr "Exécuter l'application en mode développeur" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Entrez dans le répertoire du projet `helloworld` et faites démarrer le projet en mode développeur (ou `dev`) par briefcase :" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +msgid "This should open a GUI window:" +msgstr "Cela devrait ouvrir une fenêtre GUI :" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "Fenêtre Tutoriel 1 Hello World, sur macOS" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "Fenêtre Tutoriel 1 Hello World, sous Linux" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "Fenêtre Tutoriel 1 Hello World, sur Windows" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#, fuzzy +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "Appuyez sur le bouton de fermeture (ou sélectionnez Quitter dans le menu d'application), et c'est terminé ! Félicitations, vous venez d'écrire une application native et autonome en Python !" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mode développeur. Nous pouvons maintenant ajouter notre propre logique pour que notre application fasse quelque chose d'un peu plus intéressant. Dans [Tutoriel 2][tutorial-2], nous allons ajouter à notre application une interface utilisateur plus utile." + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "L'un des outils de BeeWare est **Briefcase**. Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux, mais il peut également être utilisé pour démarrer un nouveau projet." + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..e700315c --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,262 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-02 22:01+0000\n" +"Last-Translator: Charles Bousseau \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +msgid "Tutorial 2 - Making it interesting" +msgstr "Tutoriel 2 - Rendre les choses intéressantes" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "Dans le [Tutoriel 1][tutorial-1], nous avons généré une ébauche de projet capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. Jetons un coup d'œil à ce qui a été généré pour nous." + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +msgid "What was generated" +msgstr "Ce qui a été généré" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "Dans le répertoire `src/helloworld`, vous devriez voir 3 fichiers : `__init__.py`, `__main__.py` et `app.py`." + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` marque le répertoire `helloworld` comme un module Python importable. C'est un fichier vide ; le simple fait qu'il existe indique à l'interpréteur Python que le répertoire `helloworld` définit un module." + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "Le fichier `__main__.py` marque le module `helloworld` comme un type spécial de module - un module exécutable. Si vous essayez d'exécuter le module `helloworld'' en utilisant `python -m helloworld'', le fichier `__main__.py` est l'endroit où Python commencera à s'exécuter. Le contenu de `__main__.py` est relativement simple :" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#, fuzzy +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "Il importe la méthode `main` de l'application `helloworld`, et s'il est exécuté en tant que point d'entrée, il appelle la méthode main(), et démarre la boucle principale de l'application. La boucle principale est la façon dont une application GUI écoute les entrées de l'utilisateur (comme les clics de souris et les pressions sur le clavier)." + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "Le fichier le plus intéressant est `app.py` - il contient la logique responsable de la création de notre fenêtre d'application :" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +msgid "Let's go through this line by line:" +msgstr "Examinons-le ligne par ligne :" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#, fuzzy +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Tout d'abord, nous importons la boîte à outils `toga`, ainsi que quelques classes et constantes utilitaires liées au style. Notre code ne les utilise pas encore, mais nous les utiliserons bientôt." + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +msgid "Then, we define a class:" +msgstr "Ensuite, nous définissons une classe :" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Chaque application Toga possède une seule instance `toga.App`, représentant l'entité en cours d'exécution, c'est-à-dire notre application. L'application peut gérer plusieurs fenêtres, mais pour les applications simples, il n'y aura qu'une seule fenêtre principale." + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +msgid "Next, we define a `startup()` method:" +msgstr "Ensuite, nous définissons une méthode de démarrage `startup()` :" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "La première chose que fait la méthode de démarrage est de définir une boîte principale. Le schéma de présentation de Toga est similaire à celui du HTML. Vous construisez une application en construisant une collection de boîtes, chacune d'entre elles contenant d'autres boîtes, ou de véritables widgets. Vous appliquez ensuite des styles à ces boîtes pour définir la manière dont elles utiliseront l'espace disponible dans la fenêtre." + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "Dans cette application, nous définissons une seule boîte, mais nous n'y mettons rien." + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Ensuite, nous définissons une fenêtre dans laquelle nous pouvons placer cette boîte vide :" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#, fuzzy +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Cela crée une instance de `toga.MainWindow`, qui aura un titre correspondant au nom de l'application. Une fenêtre principale est un type spécial de fenêtre dans Toga - c'est une fenêtre qui est étroitement liée au cycle de vie de l'application. Lorsque la fenêtre principale est fermée, l'application se termine. La fenêtre principale est également la fenêtre qui contient le menu de l'application (si vous êtes sur une plateforme comme Windows où les barres de menu font partie des fenêtres)." + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Nous ajoutons ensuite notre boîte vide au contenu de la fenêtre principale et demandons à l'application d'afficher notre fenêtre :" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#, fuzzy +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Enfin, nous définissons une méthode `main()`. C'est elle qui crée l'instance de notre application :" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Cette méthode `main()` est celle qui est importée et invoquée par `main__.py`. Elle crée et retourne une instance de notre application `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "C'est l'application Toga la plus simple possible. Bous allons ajouter notre propre contenu à l'application, et faire en sorte qu'elle fasse quelque chose de plus intéressant." + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +msgid "Adding some content of our own" +msgstr "Ajouter notre propre contenu" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#, fuzzy +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Ne supprimez pas les imports en haut du fichier, ni le `main()` en bas. Vous n'avez besoin de mettre à jour que la classe `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modifiez votre classe `HelloWorld` dans `src/helloworld/app.py` pour qu'elle ressemble à ceci :" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +msgid "Let's look in detail at what has changed." +msgstr "Examinons en détail ce qui a changé." + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Nous sommes toujours en train de créer une boîte principale, mais nous appliquons maintenant un style :" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#, fuzzy +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Le système de mise en page intégré à Toga s'appelle \"Pack\". Il se comporte en grande partie comme CSS. Vous définissez des objets dans une hiérarchie - en HTML, les objets sont `
`, ``, et d'autres éléments DOM ; dans Toga, ce sont des widgets et des boîtes. Vous pouvez ensuite attribuer des styles aux différents éléments. Dans ce cas, nous indiquons qu'il s'agit d'une boîte `COLUMN` - c'est-à-dire qu'il s'agit d'une boîte qui utilisera toute la largeur disponible, et qui augmentera sa hauteur au fur et à mesure que du contenu sera ajouté, mais qui essaiera d'être aussi courte que possible." + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +msgid "Next, we define a couple of widgets:" +msgstr "Ensuite, nous définissons quelques widgets :" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#, fuzzy +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "Ici, nous définissons un Label (widget de texte) et un TextInput (widget de saisie de texte). Les deux widgets sont associés à des styles ; le Label aura un espace de 5 px à gauche et à droite, et aucun espace en haut et en bas. Le TextInput est marqué comme étant flexible, c'est-à-dire qu'il absorbera tout l'espace disponible dans son axe de mise en page." + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "Le TextInput est assigné en tant que variable d'instance d classe. Cela nous permet d'accéder facilement à l'instance du widget, ce que nous utiliserons dans un instant." + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +msgid "Next, we define a box to hold these two widgets:" +msgstr "Ensuite, nous définissons une boîte pour contenir ces deux widgets :" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#, fuzzy +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "La `name_box` est une boîte comme la boîte principale, mais cette fois, c'est une boîte `ROW` (rangée). Cela signifie que le contenu sera ajouté horizontalement, et qu'il essaiera d'être le moins large possible. La boîte a également un peu de padding (espace) - 5px sur tous les côtés." + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +msgid "Now we define a button:" +msgstr "Nous définissons maintenant un bouton :" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +#, fuzzy +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "Le bouton est également doté d'un espace de 5 px sur tous les côtés. Nous définissons également un *handler* - une méthode à invoquer lorsque le bouton est pressé." + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +msgid "Then, we add the name box and the button to the main box:" +msgstr "Ensuite, nous ajoutons la boîte de nom et le bouton à la boîte principale :" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#, fuzzy +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Le reste de la méthode de démarrage est identique à la précédente : définition d'une fenêtre principale et attribution de la boîte principale en tant que contenu de la fenêtre :" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#, fuzzy +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "Notre dernière action est de définir le gestionnaire du bouton. Un gestionnaire peut être n'importe quelle méthode, générateur ou co-routine asynchrone ; il accepte le widget qui a généré l'événement comme argument, et sera invoqué chaque fois que le bouton est pressé :" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "Le corps de la méthode est une simple instruction d'affichage (print). Cependant, elle interroge la valeur actuelle de l'entrée name et utilise ce contenu comme texte à imprimer." + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "Maintenant que nous avons effectué ces changements, nous pouvons voir à quoi ils ressemblent en relançant l'application. Comme précédemment, nous utiliserons le mode développeur :" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#, fuzzy +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Vous remarquerez que cette fois-ci, briefcase n'installe pas de dépendances. Briefcase peut détecter que l'application a déjà été exécutée auparavant, et pour gagner du temps, il n'exécutera que l'application. Si vous ajoutez de nouvelles dépendances à votre application, vous pouvez vous assurer qu'elles soient installées en passant une option `-r` lorsque vous lancez `briefcase dev`." + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "This should open a GUI window:" +msgstr "Cela devrait ouvrir une fenêtre GUI :" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "Fenêtre Hello World Tutorial 2, sur macOS" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "Fenêtre Hello World Tutorial 2, sous Linux" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "Fenêtre Hello World Tutorial 2, sur Windows" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "Si vous saisissez un nom dans la zone de texte et que vous appuyez sur le bouton GUI, vous devriez voir apparaître une sortie dans la console où vous avez démarré l'application." + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu plus intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons empaqueter cette application pour la distribuer. Dans [Tutoriel 3][tutorial-3], nous allons empaqueter notre application sous la forme d'un programme d'installation autonome que nous pourrons envoyer à un ami, un client, ou télécharger sur un App Store." + +#~ msgid "Lets do something more interesting with our `HelloWorld`` app." +#~ msgstr "" + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..66446caa --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,313 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +#, fuzzy +msgid "Tutorial 3 - Packaging for distribution" +msgstr "Tutoriel 3 - Emballage pour la distribution" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#, fuzzy +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "Jusqu'à présent, nous avons exécuté notre application en \"mode développeur\". Cela nous permet d'exécuter facilement notre application localement - mais ce que nous voulons vraiment, c'est pouvoir donner notre application à d'autres personnes." + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#, fuzzy +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "Cependant, nous ne voulons pas avoir à apprendre à nos utilisateurs comment installer Python, créer un environnement virtuel, cloner un dépôt git, et lancer Briefcase en mode développeur. Nous préférons leur donner un programme d'installation et faire en sorte que l'application fonctionne tout simplement." + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#, fuzzy +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer de cette manière." + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#, fuzzy +msgid "Creating your application scaffold" +msgstr "Création de l'échafaudage de l'application" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#, fuzzy +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Puisque c'est la première fois que nous empaquetons notre application, nous devons créer quelques fichiers de configuration et autres échafaudages pour supporter le processus d'empaquetage. Depuis le répertoire `helloworld`, exécutez :" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#, fuzzy +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "Vous venez probablement de voir défiler des pages de contenu dans votre terminal... que s'est-il passé ? Briefcase a fait ce qui suit :" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#, fuzzy +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "Il **génère un modèle d'application**. Il y a beaucoup de fichiers et de configurations nécessaires pour construire un installateur natif, en plus du code de votre application réelle. Cet échafaudage supplémentaire est presque le même pour chaque application sur la même plateforme, à l'exception du nom de l'application réelle en cours de construction - Briefcase fournit donc un modèle d'application pour chaque plateforme qu'il supporte. Cette étape déploie le modèle, en substituant le nom de votre application, l'ID du bundle, et d'autres propriétés de votre fichier de configuration comme requis pour supporter la plateforme sur laquelle vous construisez." + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +#, fuzzy +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "Si vous n'êtes pas satisfait du modèle fourni par Briefcase, vous pouvez créer votre propre modèle. Cependant, vous ne voudrez probablement pas faire cela avant d'avoir un peu plus d'expérience dans l'utilisation du modèle par défaut de Briefcase." + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#, fuzzy +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "Il **télécharge et installe un paquetage de support**. L'approche d'empaquetage adoptée par Briefcase est décrite comme \"la chose la plus simple qui puisse fonctionner\" - elle fournit un interpréteur Python complet et isolé dans le cadre de chaque application qu'elle construit. Cette approche est légèrement inefficace en termes d'espace - si vous avez 5 applications empaquetées avec Briefcase, vous aurez 5 copies de l'interpréteur Python. Cependant, cette approche garantit que chaque application est complètement indépendante, utilisant une version spécifique de Python connue pour fonctionner avec l'application." + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +#, fuzzy +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "Encore une fois, Briefcase fournit un paquetage de support par défaut pour chaque plateforme ; si vous le souhaitez, vous pouvez fournir votre propre paquetage de support, et faire en sorte que ce paquetage soit inclus dans le processus de construction. Vous pouvez faire cela si vous avez des options particulières dans l'interpréteur Python que vous devez activer, ou si vous voulez retirer de la bibliothèque standard les modules dont vous n'avez pas besoin au moment de l'exécution." + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#, fuzzy +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "Briefcase maintient un cache local des paquets de support, de sorte qu'une fois que vous avez téléchargé un paquet de support spécifique, cette copie en cache sera utilisée dans les futures versions." + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#, fuzzy +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Il **installe les exigences de l'application**. Votre application peut spécifier tous les modules tiers qui sont nécessaires à l'exécution. Ceux-ci seront installés en utilisant `pip` dans l'installeur de votre application." + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#, fuzzy +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "Il **installe le code de votre application**. Votre application aura son propre code et ses propres ressources (par exemple, les images nécessaires à l'exécution) ; ces fichiers sont copiés dans le programme d'installation." + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#, fuzzy +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "Il **installe les ressources nécessaires à votre application.** Enfin, il ajoute toutes les ressources supplémentaires nécessaires à l'installateur lui-même. Cela inclut des choses comme les icônes qui doivent être attachées à l'application finale et les images de l'écran d'accueil." + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#, fuzzy +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Une fois cette opération terminée, si vous regardez dans le répertoire du projet, vous devriez voir un répertoire correspondant à votre plateforme (`macOS`, `linux`, ou `windows`) qui contient des fichiers supplémentaires. C'est la configuration de l'empaquetage spécifique à la plate-forme pour votre application." + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#, fuzzy +msgid "Building your application" +msgstr "Construire votre application" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#, fuzzy +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "Vous pouvez maintenant compiler votre application. Cette étape permet d'effectuer toute compilation binaire nécessaire pour que votre application soit exécutable sur votre plate-forme cible." + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#, fuzzy +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "Sous macOS, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit signer le contenu du binaire pour qu'il puisse être exécuté. Cette signature est une signature *ad hoc* - elle ne fonctionnera que sur *votre* machine ; si vous voulez distribuer l'application à d'autres, vous devrez fournir une signature complète." + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#, fuzzy +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Une fois cette étape terminée, le dossier `build` contiendra un dossier `helloworld-0.0.1` qui contient un miroir du système de fichiers Linux `/usr`. Ce miroir du système de fichiers contiendra un dossier `bin` avec un binaire `helloworld`, ainsi que les dossiers `lib` et `share` nécessaires pour supporter le binaire." + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#, fuzzy +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "Sous Windows, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit écrire quelques métadonnées pour que l'application connaisse son nom, sa version, et ainsi de suite." + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +#, fuzzy +msgid "Triggering antivirus" +msgstr "Déclenchement de l'antivirus" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#, fuzzy +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Puisque ces métadonnées sont écrites directement dans le binaire précompilé déployé à partir du modèle pendant la commande `create`, cela peut déclencher un logiciel antivirus fonctionnant sur votre machine et empêcher les métadonnées d'être écrites. Dans ce cas, demandez à l'antivirus d'autoriser l'outil (nommé `rcedit-x64.exe`) à s'exécuter et relancez la commande ci-dessus." + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#, fuzzy +msgid "Running your app" +msgstr "Exécution de l'application" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#, fuzzy +msgid "You can now use Briefcase to run your application:" +msgstr "Vous pouvez maintenant utiliser Briefcase pour exécuter votre application :" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#, fuzzy +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Ceci lancera l'exécution de votre application native, en utilisant la sortie de la commande `build`." + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#, fuzzy +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "Il se peut que vous remarquiez de petites différences dans l'apparence de votre application lorsqu'elle est en cours d'exécution. Par exemple, les icônes et le nom affichés par le système d'exploitation peuvent être légèrement différents de ceux que vous avez vus lors de l'exécution en mode développeur. Cela s'explique également par le fait que vous utilisez l'application packagée et que vous ne vous contentez pas d'exécuter du code Python. Du point de vue du système d'exploitation, vous exécutez maintenant \"une application\" et non \"un programme Python\", ce qui se reflète dans l'apparence de l'application." + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#, fuzzy +msgid "Building your installer" +msgstr "Construction du programme d'installation" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#, fuzzy +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Vous pouvez maintenant empaqueter votre application pour la distribuer, en utilisant la commande `package`. La commande package effectue toutes les compilations nécessaires pour convertir le projet d'échafaudage en un produit final distribuable. Selon la plateforme, cela peut impliquer la compilation d'un installateur, la signature du code, ou d'autres tâches de pré-distribution." + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#, fuzzy +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "Le dossier `dist` contiendra un fichier nommé `Hello World-0.0.1.dmg`. Si vous localisez ce fichier dans le Finder, et que vous double-cliquez sur son icône, vous monterez le DMG, ce qui vous donnera une copie de l'application Hello World, et un lien vers votre dossier Applications pour faciliter l'installation. Faites glisser le fichier de l'application dans Applications, et vous aurez installé votre application. Envoyez le fichier DMG à un ami, qui devrait pouvoir faire de même." + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#, fuzzy +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#, fuzzy +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "Le résultat de l'étape du paquetage sera légèrement différent selon votre distribution Linux. Si vous êtes sur une distribution dérivée de Debian, vous verrez :" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#, fuzzy +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "Le dossier `dist` contiendra le fichier `.deb` qui a été généré." + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#, fuzzy +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "Si vous utilisez une distribution basée sur RHEL, vous verrez :" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#, fuzzy +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "Le dossier `dist` contiendra le fichier `.rpm` qui a été généré." + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#, fuzzy +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "Si vous êtes sur une distribution basée sur Arch, vous verrez :" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#, fuzzy +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "Le dossier `dist` contiendra le fichier `.pkg.tar.zst` qui a été généré." + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#, fuzzy +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "Les autres distributions Linux ne sont actuellement pas prises en charge pour l'empaquetage." + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#, fuzzy +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "Si vous souhaitez créer un paquet pour une distribution Linux autre que celle que vous utilisez, Briefcase peut également vous aider - mais vous devrez installer Docker." + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#, fuzzy +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Des installateurs officiels pour [Docker Engine]{1} sont disponibles pour une série de distributions Unix. Suivez les instructions correspondant à votre plate-forme, mais assurez-vous de ne pas installer Docker en mode \"sans racine\"." + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#, fuzzy +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "Une fois que vous avez installé Docker, vous devriez être en mesure de démarrer un conteneur Linux - par exemple :" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#, fuzzy +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "vous montrera une invite Unix (quelque chose comme `root@84444e31cff9:/#`) à l'intérieur d'un conteneur Docker Ubuntu 22.04. Tapez Ctrl-D pour quitter Docker et revenir à votre shell local." + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#, fuzzy +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "Une fois que vous avez installé Docker, vous pouvez utiliser Briefcase pour construire un paquet pour n'importe quelle distribution Linux que Briefcase supporte en passant une image Docker comme argument. Par exemple, pour construire un paquet DEB pour Ubuntu 22.04 (Jammy), quel que soit le système d'exploitation sur lequel vous êtes, vous pouvez exécuter :" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#, fuzzy +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Ceci téléchargera l'image Docker pour le système d'exploitation choisi, créera un conteneur capable d'exécuter les builds de Briefcase, et construira le paquetage de l'application à l'intérieur de l'image. Une fois terminé, le dossier `dist` contiendra le paquet pour la distribution Linux cible." + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#, fuzzy +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#, fuzzy +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Une fois cette étape terminée, le dossier `dist` contiendra un fichier nommé `Hello_World-0.0.1.msi`. Si vous double-cliquez sur ce programme d'installation pour le lancer, vous devriez passer par un processus d'installation Windows familier. Une fois l'installation terminée, il y aura une entrée \"Hello World\" dans votre menu de démarrage." + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau. Mais que se passe-t-il lorsque nous devons mettre à jour le code de notre application ? Comment intégrer ces mises à jour dans notre application packagée ? Consultez [Tutoriel 4][./tutorial-4] pour le découvrir..." + +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#~ msgstr "" + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..cec1c51e --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,172 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +#, fuzzy +msgid "Tutorial 4 - Updating your application" +msgstr "Tutoriel 4 - Mise à jour de votre application" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#, fuzzy +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "Dans le dernier tutoriel, nous avons packagé notre application en tant qu'application native. Si vous avez affaire à une application réelle, l'histoire ne s'arrêtera pas là : vous ferez probablement des tests, découvrirez des problèmes et devrez apporter des modifications. Même si votre application est parfaite, vous finirez par vouloir publier la version 2 de votre application avec des améliorations." + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#, fuzzy +msgid "So - how do you update your installed app when you make code changes?" +msgstr "Alors, comment mettre à jour l'application installée lorsque vous modifiez le code ?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#, fuzzy +msgid "Updating application code" +msgstr "Mise à jour du code de l'application" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#, fuzzy +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "Notre application imprime actuellement sur la console lorsque vous appuyez sur le bouton. Cependant, les applications d'interface graphique ne devraient pas vraiment utiliser la console pour la sortie. Elles doivent utiliser des boîtes de dialogue pour communiquer avec les utilisateurs." + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#, fuzzy +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Ajoutons une boîte de dialogue pour dire bonjour, au lieu d'écrire dans la console. Modifiez le callback `say_hello` pour qu'il ressemble à ceci: :" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#, fuzzy +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "Toga ouvre ainsi une boîte de dialogue modale lorsque le bouton est enfoncé." + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#, fuzzy +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Si vous lancez `briefcase dev`, entrez un nom et appuyez sur le bouton, vous verrez la nouvelle boîte de dialogue :" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Tutoriel Hello World 4 dialogue, sur macOS" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Tutoriel Hello World 4 dialogue, sur Linux" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Tutoriel Hello World 4 dialogue, sur Windows" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#, fuzzy +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Cependant, si vous exécutez `briefcase run`, la boîte de dialogue n'apparaîtra pas." + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +#, fuzzy +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Pourquoi ? Eh bien, `briefcase dev` fonctionne en exécutant votre code en place - il essaie de produire un environnement d'exécution aussi réaliste que possible pour votre code, mais il ne fournit ni n'utilise aucune des infrastructures de la plate-forme pour envelopper votre code en tant qu'application. Une partie du processus d'emballage de votre application implique de copier votre code *dans* le paquet d'application - et pour le moment, votre application contient toujours l'ancien code." + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#, fuzzy +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "Nous devons donc demander à Briefcase de mettre à jour votre application, en copiant la nouvelle version du code. Nous pourrions le faire en supprimant l'ancien répertoire de la plateforme et en repartant de zéro. Cependant, Briefcase offre un moyen plus simple - vous pouvez mettre à jour le code de votre application groupée existante :" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#, fuzzy +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Si Briefcase ne trouve pas le modèle échafaudé, il invoquera automatiquement `create` pour générer un nouvel échafaudage." + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#, fuzzy +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Maintenant que nous avons mis à jour le code de l'installateur, nous pouvons lancer `briefcase build` pour recompiler l'application, `briefcase run` pour exécuter l'application mise à jour, et `briefcase package` pour reconditionner l'application en vue de sa distribution." + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#, fuzzy +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(Utilisateurs de macOS, rappelez-vous que comme indiqué dans [Tutoriel 3][tutorial-3], pour le tutoriel nous recommandons d'exécuter `briefcase package` avec le drapeau `--adhoc-sign` pour éviter la complexité de la mise en place d'une identité de signature de code et garder le tutoriel aussi simple que possible)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#, fuzzy +msgid "Update and run in one step" +msgstr "Mise à jour et exécution en une seule étape" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#, fuzzy +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Si vous effectuez rapidement des changements de code, vous voudrez probablement faire un changement de code, mettre à jour l'application et la réexécuter immédiatement. Dans la plupart des cas, le mode développeur (`briefcase dev`) sera le moyen le plus facile de faire ce genre d'itération rapide ; cependant, si vous testez quelque chose sur la façon dont votre application fonctionne en tant que binaire natif, ou si vous chassez un bogue qui ne se manifeste que lorsque votre application est sous forme de paquetage, vous pouvez avoir besoin d'utiliser des appels répétés à `briefcase run`. Pour simplifier le processus de mise à jour et d'exécution de l'application packagée, Briefcase dispose d'un raccourci pour supporter ce schéma d'utilisation - l'option `-u` (ou `--update`) de la commande `run`." + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +#, fuzzy +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Essayons d'apporter une autre modification. Vous avez peut-être remarqué que si vous ne tapez pas de nom dans la zone de saisie, la boîte de dialogue dira \"Hello, \". Modifions à nouveau la fonction `say_hello` pour gérer ce cas particulier." + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#, fuzzy +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "En haut du fichier, entre les imports et la définition de `class HelloWorld`, ajoutez une méthode utilitaire pour générer un message d'accueil approprié en fonction de la valeur du nom qui a été fourni: :" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#, fuzzy +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Ensuite, modifiez le callback `say_hello` pour utiliser cette nouvelle méthode utilitaire: :" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#, fuzzy +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Exécutez votre application en mode développement (avec `briefcase dev`) pour confirmer que la nouvelle logique fonctionne ; puis mettez à jour, compilez et exécutez l'application avec une seule commande :" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#, fuzzy +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "La commande package accepte aussi l'argument `-u`, donc si vous faites un changement dans le code de votre application et que vous voulez repackager immédiatement, vous pouvez lancer `briefcase package -u`." + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau et nous avons pu mettre à jour le code de notre application." + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +#, fuzzy +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Mais qu'en est-il de l'application mobile ? Dans [Tutoriel 5][tutorial-5/index], nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..a9fbb3cc --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,252 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "Tutoriel 5 - Le mobile : Android" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#, fuzzy +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "Nous allons maintenant prendre notre application et la déployer en tant qu'application Android." + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#, fuzzy +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "Le processus de déploiement d'une application sur Android est très similaire au processus de déploiement d'une application de bureau. Briefcase prend en charge l'installation des dépendances pour Android, y compris le SDK Android, l'émulateur Android et un compilateur Java." + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#, fuzzy +msgid "Create an Android app and compile it" +msgstr "Créer une application Android et la compiler" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#, fuzzy +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Tout d'abord, lancez la commande `create`. Celle-ci télécharge un modèle d'application Android et y ajoute votre code Python." + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#, fuzzy +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Lorsque vous lancez `briefcase create android` pour la première fois, Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers et le temps de téléchargement peuvent être considérables ; cela peut prendre un certain temps (10 minutes ou plus, selon la vitesse de votre connexion Internet). Une fois le téléchargement terminé, vous serez invité à accepter la licence Android SDK de Google." + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#, fuzzy +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Une fois cette opération terminée, nous aurons un répertoire `buildhelloworld\\android\\gradle` dans notre projet, qui contiendra un projet Android avec une configuration de construction Gradle. Ce projet contiendra le code de votre application, ainsi qu'un package de support contenant l'interpréteur Python." + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +#, fuzzy +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Nous pouvons ensuite utiliser la commande `build` de Briefcase pour compiler ce fichier dans un fichier d'application APK Android." + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +#, fuzzy +msgid "Gradle may look stuck" +msgstr "Gradle peut sembler bloqué" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +#, fuzzy +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Pendant l'étape `briefcase build android`, Gradle (l'outil de construction de la plateforme Android) affiche `CONFIGURING : 100%`, et semble ne rien faire. Ne vous inquiétez pas, il n'est pas bloqué - il est en train de télécharger plus de composants du SDK Android. Selon la vitesse de votre connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce décalage ne devrait se produire que la première fois que vous lancez `build` ; les outils sont mis en cache, et lors de votre prochain build, les versions mises en cache seront utilisées." + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#, fuzzy +msgid "Run the app on a virtual device" +msgstr "Exécuter l'application sur un appareil virtuel" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +#, fuzzy +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Nous sommes maintenant prêts à exécuter notre application. Vous pouvez utiliser la commande `run` de Briefcase pour exécuter l'application sur un appareil Android. Commençons par l'exécuter sur un émulateur Android." + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#, fuzzy +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Pour lancer votre application, exécutez `briefcase run android`. Vous obtiendrez alors une liste d'appareils sur lesquels vous pouvez faire fonctionner l'application. Le dernier élément sera toujours une option pour créer un nouvel émulateur Android." + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +#, fuzzy +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Nous pouvons maintenant choisir l'appareil que nous souhaitons. Sélectionnez l'option \"Créer un nouvel émulateur Android\", et acceptez le choix par défaut du nom de l'appareil (`beePhone`)." + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +#, fuzzy +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` démarrera automatiquement l'appareil virtuel. Lorsque l'appareil démarre, vous verrez le logo Android :" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +#, fuzzy +msgid "Android virtual device booting" +msgstr "Démarrage d'un dispositif virtuel Android" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#, fuzzy +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "Une fois que l'appareil a fini de démarrer, Briefcase installera votre application sur l'appareil. Vous verrez brièvement un écran de lancement :" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +#, fuzzy +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Appareil virtuel Android entièrement démarré, sur l'écran du lanceur" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#, fuzzy +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "L'application démarre alors. Vous verrez un écran de démarrage pendant que l'application démarre :" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +#, fuzzy +msgid "App splash screen" +msgstr "Écran d'accueil de l'application" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#, fuzzy +msgid "The emulator didn't start!" +msgstr "L'émulateur n'a pas démarré !" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#, fuzzy +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "L'émulateur Android est un logiciel complexe qui s'appuie sur un certain nombre de caractéristiques du matériel et du système d'exploitation - des caractéristiques qui peuvent ne pas être disponibles ou activées sur des machines plus anciennes. Si vous rencontrez des difficultés au démarrage de l'émulateur Android, consultez la section [Exigences et recommandations]{1} de la documentation destinée aux développeurs Android." + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +#, fuzzy +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "La première fois que l'application démarre, elle doit se décompresser sur l'appareil. Cela peut prendre quelques secondes. Une fois qu'elle est décompressée, vous verrez la version Android de notre application de bureau :" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#, fuzzy +msgid "App from Tutorial 2, fully launched" +msgstr "Application du didacticiel 2, entièrement lancée" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#, fuzzy +msgid "Demo app fully launched" +msgstr "Lancement de l'application de démonstration" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#, fuzzy +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Si vous ne voyez pas votre application se lancer, vous devrez peut-être vérifier le terminal où vous avez lancé `briefcase run` et rechercher les messages d'erreur." + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#, fuzzy +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "A l'avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, vous pouvez fournir le nom de l'émulateur à Briefcase, en utilisant `briefcase run android -d @beePhone` pour utiliser directement l'appareil virtuel." + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#, fuzzy +msgid "Run the app on a physical device" +msgstr "Exécuter l'application sur un appareil physique" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#, fuzzy +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "Si vous avez un téléphone ou une tablette Android physique, vous pouvez le connecter à votre ordinateur à l'aide d'un câble USB, puis utiliser la mallette pour cibler votre appareil physique." + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#, fuzzy +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "Android exige que vous prépariez votre appareil avant de pouvoir l'utiliser pour le développement. Vous devrez apporter deux modifications aux options de votre appareil :" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#, fuzzy +msgid "Enable developer options" +msgstr "Activer les options pour les développeurs" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#, fuzzy +msgid "Enable USB debugging" +msgstr "Activer le débogage USB" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#, fuzzy +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Les détails sur la manière d'effectuer ces changements peuvent être trouvés [dans la documentation du développeur Android]{1}." + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#, fuzzy +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Une fois ces étapes terminées, votre appareil devrait apparaître dans la liste des appareils disponibles lorsque vous lancez `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#, fuzzy +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série sur la liste de déploiement - dans ce cas, un Pixel 3a. À l'avenir, si vous souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez fournir le numéro de série du téléphone à Briefcase (dans ce cas, `briefcase run android -d 94ZZY0LNE8`). Cela lancera l'application directement sur l'appareil, sans l'inviter à le faire." + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#, fuzzy +msgid "My device doesn't appear!" +msgstr "Mon appareil n'apparaît pas !" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#, fuzzy +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "Si votre appareil n'apparaît pas du tout dans cette liste, c'est que vous n'avez pas activé le débogage USB (ou que l'appareil n'est pas branché !)." + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#, fuzzy +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Si votre appareil apparaît, mais qu'il est listé comme \"Unknown device (not authorized for development)\", le mode développeur n'a pas été correctement activé. Réexécutez [les étapes pour activer les options de développement]{1}, et réexécutez `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..a64d2e20 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,94 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language: fr\n" +"Language-Team: French \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "Tutoriel 5 - Le mobile : iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#, fuzzy +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "Une fois Xcode installé, nous pouvons prendre notre application et la déployer en tant qu'application iOS." + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +#, fuzzy +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "Le processus de déploiement d'une application sur iOS est très similaire au processus de déploiement d'une application de bureau. Tout d'abord, vous exécutez la commande `create` - mais cette fois, nous spécifions que nous voulons créer une application iOS :" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#, fuzzy +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Une fois cette opération terminée, nous aurons un répertoire `build/helloworld/ios/xcode` contenant un projet Xcode, ainsi que les bibliothèques de support et le code nécessaire à l'application." + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#, fuzzy +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Vous pouvez ensuite utiliser Briefcase pour compiler votre application en utilisant `briefcase build iOS` :" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#, fuzzy +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Nous sommes maintenant prêts à exécuter notre application, en utilisant `briefcase run iOS`. Il vous sera demandé de sélectionner un appareil pour lequel compiler ; si vous avez installé des simulateurs pour plusieurs versions du SDK iOS, il vous sera peut-être demandé quelle version d'iOS vous voulez cibler. Les options affichées peuvent différer de celles présentées dans cette sortie - au moins, la liste des appareils sera probablement différente. En ce qui nous concerne, le simulateur choisi n'a pas d'importance." + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +#, fuzzy +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "Ceci lancera le simulateur iOS, installera votre application et la démarrera. Vous devriez voir le simulateur démarrer, puis ouvrir votre application iOS :" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +#, fuzzy +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Hello World Tutorial 5 window, sur iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#, fuzzy +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Si vous savez à l'avance quel simulateur iOS vous voulez cibler, vous pouvez dire à Briefcase d'utiliser ce simulateur en fournissant une option `-d` (ou `--device`). En utilisant le nom de l'appareil que vous avez sélectionné lorsque vous avez créé votre application, exécutez :" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#, fuzzy +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "Si vous avez plusieurs versions iOS disponibles, Briefcase choisira la version iOS la plus élevée ; si vous voulez choisir une version iOS particulière, vous lui direz d'utiliser cette version spécifique :" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#, fuzzy +msgid "Or, you can name a specific device UDID:" +msgstr "Vous pouvez également nommer un appareil spécifique UDID :" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Pour compiler les applications iOS, nous avons besoin de Xcode, qui est disponible gratuitement sur [le macOS App Store]{1}." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgstr "" + diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..e326658e --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,46 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2025-06-21 02:01+0000\n" +"Last-Translator: John \n" +"Language-Team: French \n" +"Language: fr\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" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +msgid "Tutorial 5 - Taking it Mobile" +msgstr "Tutoriel 5 - Rendre votre application mobile" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "Jusqu'à présent, nous avons exécuté et testé notre application sur un ordinateur de bureau. Cependant, BeeWare prend également en charge les plates-formes mobiles - et l'application que nous avons écrite peut également être déployée sur votre appareil mobile !" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +msgid "iOS applications can only be compiled on macOS." +msgstr "Les applications iOS ne peuvent être compilées que sur macOS." + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "Les applications Android peuvent être compilées sur macOS, Windows ou Linux." + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Créons notre application pour iOS !][iOS]" + +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Créons notre application pour Android !][android]" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..5585c4d4 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,102 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"PO-Revision-Date: 2024-01-14 01:02+0000\n" +"Last-Translator: Lancelot Fouillet \n" +"Language-Team: French \n" +"Language: fr\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" +"X-Generator: Weblate 5.4-dev\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 +#, fuzzy +msgid "Tutorial 6 - Put it on the web!" +msgstr "Tutoriel 6 - Mettez-le sur le web !" + +#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +#, fuzzy +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "En plus de prendre en charge les plateformes mobiles, la boîte à outils Toga widget prend également en charge le web ! En utilisant la même API que celle utilisée pour déployer vos applications de bureau et mobiles, vous pouvez déployer votre application en tant qu'application web à page unique." + +#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 +#, fuzzy +msgid "Proof of Concept" +msgstr "Preuve de concept" + +#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +#, fuzzy +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "Le backend de Toga Web est le moins mature de tous les backends de Toga. Il est suffisamment mature pour présenter quelques fonctionnalités, mais il est probable qu'il soit bogué et qu'il manque de nombreux widgets disponibles sur d'autres plates-formes. À ce stade, le déploiement sur le Web doit être considéré comme une \"preuve de concept\" - suffisante pour démontrer ce qui peut être fait, mais pas assez pour être utilisée pour un développement sérieux." + +#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +#, fuzzy +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "Si vous avez des problèmes avec cette étape du tutoriel, vous pouvez passer à la page suivante." + +#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#, fuzzy +msgid "Deploying as a web app" +msgstr "Déploiement en tant qu'application web" + +#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +#, fuzzy +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "Le processus de déploiement en tant qu'application web à page unique suit le même schéma familier - vous créez l'application, vous la construisez, puis vous l'exécutez. Cependant, Briefcase peut être un peu plus intelligent ; si vous essayez d'exécuter une application et que Briefcase détermine qu'elle n'a pas été créée ou construite pour la plateforme ciblée, il effectuera les étapes de création et de construction pour vous. Puisque c'est la première fois que nous lançons l'application pour le web, nous pouvons exécuter les trois étapes en une seule commande :" + +#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 +#, fuzzy +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Cela ouvrira un navigateur web, pointant sur [http://127.0.0.1:8080](http://127.0.0.1:8080) :" + +#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 +#, fuzzy +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "Tutoriel Hello World 6 dialogue, dans un navigateur" + +#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#, fuzzy +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "Si vous entrez votre nom et cliquez sur le bouton, une boîte de dialogue apparaît." + +#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#, fuzzy +msgid "How does this work?" +msgstr "Comment ça marche ?" + +#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +#, fuzzy +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Cette application web est un site web statique - une seule page source HTML, avec quelques feuilles de style CSS et d'autres ressources. Briefcase a démarré un serveur web local pour servir cette page afin que votre navigateur puisse la voir. Si vous voulez mettre cette page web en production, vous pouvez copier le contenu du dossier `www` sur n'importe quel serveur web qui peut servir du contenu statique." + +#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +#, fuzzy +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Mais lorsque vous appuyez sur le bouton, vous exécutez du code Python... Comment cela fonctionne-t-il ? Toga utilise [PyScript]{1} pour fournir un interprète Python dans le navigateur. Briefcase présente le code de votre application sous forme de roues que PyScript peut charger dans le navigateur. Lorsque la page est chargée, le code de l'application s'exécute dans le navigateur, construisant l'interface utilisateur en utilisant le DOM du navigateur. Lorsque vous cliquez sur un bouton, ce bouton exécute le code de gestion des événements dans le navigateur." + +#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +#, fuzzy +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Bien que nous ayons maintenant déployé cette application sur les ordinateurs de bureau, les téléphones portables et le web, l'application est assez simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des bibliothèques du Python Package Index (PyPI) dans notre application ? Consultez [Tutoriel 7][tutorial-7] pour le savoir..." diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..26d715ee --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,374 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2025-06-21 02:01+0000\n" +"Last-Translator: John \n" +"Language-Team: French \n" +"Language: fr\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" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +#, fuzzy +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "Tutoriel n° 7 - Démarrer cette (troisième) partie" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#, fuzzy +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "Jusqu'à présent, l'application que nous avons construite n'a utilisé que notre propre code, ainsi que le code fourni par BeeWare. Cependant, dans une application réelle, vous voudrez probablement utiliser une bibliothèque tierce, téléchargée à partir du Python Package Index (PyPI)." + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#, fuzzy +msgid "Let's modify our app to include a third-party library." +msgstr "Modifions notre application pour y inclure une bibliothèque tierce." + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#, fuzzy +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Ajoutons un appel API `httpx` à notre application. Ajoutez un import au début de `app.py` pour importer `httpx`: :" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Ensuite, modifiez le callback `say_hello()` pour qu'il ressemble à ceci: :" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#, fuzzy +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "Exécutons notre application mise à jour dans le mode développeur de Briefcase pour vérifier que notre changement a fonctionné." + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +#, fuzzy +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "Qu'est-ce qui s'est passé ? Nous avons ajouté `httpx` à notre *code*, mais nous ne l'avons pas ajouté à notre environnement virtuel de développement. Nous pouvons corriger cela en installant `httpx` avec `pip`, puis en relançant `briefcase dev` :" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +#, fuzzy +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "Lorsque vous entrez un nom et que vous appuyez sur le bouton, une boîte de dialogue doit s'afficher :" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Tutoriel Hello World 7 dialogue, sur macOS" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "Tutoriel Hello World 7 dialogue, sur Linux" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "Tutoriel Hello World 7 dialogue, sur Windows" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#, fuzzy +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "Nous avons maintenant une application fonctionnelle, utilisant une bibliothèque tierce, fonctionnant en mode développement !" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#, fuzzy +msgid "Running the updated app" +msgstr "Exécution de l'application mise à jour" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Nous allons faire en sorte que ce code d'application mis à jour soit empaqueté en tant qu'application autonome. Puisque nous avons modifié le code, nous devons suivre les mêmes étapes que dans [Tutoriel 4][tutorial-4] :" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "Mettre à jour le code dans l'application packagée :" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "Reconstruire l'application :" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#, fuzzy +msgid "And finally, run the app:" +msgstr "Enfin, lancez l'application :" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "Cependant, lorsque l'application s'exécute, vous verrez une erreur dans la console, ainsi qu'une boîte de dialogue de plantage :" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "Plantage de l'application Hello World Tutorial 7, sur macOS" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans la console :" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Plantage de l'application Hello World Tutorial 7, sous Windows" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans la console :" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Une fois de plus, l'application n'a pas pu démarrer parce que `httpx` a été installé - mais pourquoi ? N'avons-nous pas déjà installé [httpx` ?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "Nous l'avons fait, mais uniquement dans l'environnement de développement. Votre environnement de développement est entièrement local à votre machine - et n'est activé que lorsque vous l'activez explicitement. Bien que Briefcase dispose d'un mode de développement, la principale raison pour laquelle vous utilisez Briefcase est d'empaqueter votre code afin de le donner à quelqu'un d'autre." + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "La seule façon de garantir que quelqu'un d'autre disposera d'un environnement Python contenant tout ce dont il a besoin est de construire un environnement Python complètement isolé. Cela signifie qu'il y a une installation Python complètement isolée, et un ensemble de dépendances complètement isolé. C'est ce que Briefcase construit quand vous lancez `briefcase build` - un environnement Python isolé. Cela explique aussi pourquoi `httpx` n'est pas installé - il a été installé dans votre environnement de *développement*, mais pas dans l'application packagée." + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "Nous devons donc indiquer à Briefcase que notre application a une dépendance externe." + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "Mise à jour des dépendances" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "Dans le répertoire racine de votre application, il y a un fichier nommé `pyproject.toml`. Ce fichier contient tous les détails de configuration de l'application que vous avez fournis lorsque vous avez lancé `briefcase new`." + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` est divisé en sections ; l'une d'entre elles décrit les paramètres de votre application: :" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "L'option `requires` décrit les dépendances de notre application. C'est une liste de chaînes de caractères, spécifiant les bibliothèques (et, optionnellement, les versions) des bibliothèques que vous voulez inclure dans votre application." + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modifiez le paramètre `requires` de façon à ce qu'il se lise: :" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "En ajoutant ce paramètre, nous disons à Briefcase \"lorsque vous compilez mon application, lancez `pip install httpx` dans le bundle de l'application\". Tout ce qui serait une entrée légale pour `pip install` peut être utilisé ici - ainsi, vous pourriez spécifier :" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Une version spécifique de la bibliothèque (par exemple, `\"httpx==0.19.0\"`) ;" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Une gamme de versions de la bibliothèque (par exemple, `\"httpx>=0.19\"`) ;" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Un chemin vers un dépôt git (par exemple, `\"git+https://github.com/encode/httpx\"`) ; ou" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#, fuzzy +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "Un chemin d'accès à un fichier local (Cependant, attention : si vous donnez votre code à quelqu'un d'autre, ce chemin d'accès n'existera probablement pas sur sa machine !)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Plus loin dans `pyproject.toml`, vous remarquerez d'autres sections qui dépendent du système d'exploitation, comme `[tool.briefcase.app.helloworld.macOS]` et `[tool.briefcase.app.helloworld.windows]`. Ces sections ont *également* un paramètre `requires`. Ces paramètres vous permettent de définir des dépendances supplémentaires spécifiques à une plate-forme - ainsi, par exemple, si vous avez besoin d'une bibliothèque spécifique à une plate-forme pour gérer un aspect de votre application, vous pouvez spécifier cette bibliothèque dans la section `requires'' spécifique à la plate-forme, et ce paramètre ne sera utilisé que pour cette plate-forme. Vous remarquerez que les bibliothèques `toga` sont toutes spécifiées dans la section `requires` spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires pour afficher une interface utilisateur sont spécifiques à la plate-forme." + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "Dans notre cas, nous voulons que `httpx` soit installé sur toutes les plateformes, donc nous utilisons le paramètre `requires` au niveau de l'application. Les dépendances au niveau de l'application seront toujours installées ; les dépendances spécifiques à la plate-forme sont installées *en plus* de celles au niveau de l'application." + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Maintenant que nous avons informé Briefcase de nos exigences supplémentaires, nous pouvons essayer d'empaqueter à nouveau notre application. Assurez-vous que vous avez sauvegardé vos changements dans `pyproject.toml`, puis mettez à jour votre application à nouveau - cette fois-ci, en passant le drapeau `-r`. Cela indique à Briefcase de mettre à jour les exigences dans l'application packagée :" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Une fois la mise à jour effectuée, vous pouvez lancer `briefcase build` et `briefcase run` - et vous devriez voir votre application packagée, avec le nouveau comportement du dialogue." + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "L'option `-r` pour la mise à jour des exigences est également honorée par les commandes `build` et `run`, donc si vous voulez mettre à jour, compiler et exécuter en une seule étape, vous pouvez utiliser `briefcase run -u -r`." + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Sur les plateformes de bureau (macOS, Windows, Linux), tout `pip`-installable peut être ajouté à vos exigences. Sur les plateformes mobiles et web, [vos options sont légèrement limitées]{1}." + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#, fuzzy +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "BeeWare peut fournir des binaires pour certains modules binaires populaires (y compris `numpy`, `pandas`, et `cryptographie`). Il est *habituellement* possible de compiler des paquets pour les plateformes mobiles, mais ce n'est pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel d'introduction comme celui-ci." + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "Accéder à une API" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Une tâche courante qu'une application doit effectuer est de faire une requête sur une API web pour récupérer des données, et afficher ces données à l'utilisateur. Comme il s'agit d'une application jouet, nous n'avons pas de *vraie* API à utiliser. Nous utiliserons donc la [{JSON} Placeholder API]{1} comme source de données." + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "L'API {JSON} Placeholder possède un certain nombre de \"faux\" points de terminaison d'API que vous pouvez utiliser comme données de test. L'une de ces API est le point de terminaison `/posts/`, qui renvoie de faux billets de blog. Si vous ouvrez `https://jsonplaceholder.typicode.com/posts/42` dans votre navigateur, vous obtiendrez un fichier JSON décrivant un seul article - un contenu [Lorum ipsum]{1} pour un article de blog avec l'ID 42." + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "La bibliothèque standard de Python contient tous les outils dont vous avez besoin pour accéder à une API. Cependant, les API intégrées sont de très bas niveau. Ce sont de bonnes implémentations du protocole HTTP, mais elles exigent de l'utilisateur qu'il gère de nombreux détails de bas niveau, comme la redirection d'URL, les sessions, l'authentification et l'encodage des données utiles. En tant qu'\"utilisateur normal de navigateur\", vous avez probablement l'habitude de considérer ces détails comme allant de soi, car le navigateur les gère pour vous." + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "En conséquence, des bibliothèques tierces ont été développées pour envelopper les API intégrées et fournir une API plus simple qui correspond mieux à l'expérience quotidienne du navigateur. Nous allons utiliser l'une de ces bibliothèques pour accéder à l'API {JSON} Placeholder - une bibliothèque appelée [httpx]{1}." + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Cela modifiera le callback `say_hello()` de telle sorte que lorsqu'il est invoqué, il le fera :" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "effectuer une requête GET sur l'API JSON pour obtenir le poste 42 ;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "décoder la réponse en JSON ;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "extraire le corps du message ; et" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "inclure le corps de ce message dans le texte du dialogue." + +#~ msgid "Some binary packages may not be available" +#~ msgstr "Certains paquets binaires peuvent ne pas être disponibles" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "En bref, tout paquetage *pure Python* (c'est-à-dire les paquetages qui ne contiennent pas de module binaire) peut être utilisé sans difficulté. Cependant, si votre dépendance contient un composant binaire, il doit être compilé ; à l'heure actuelle, la plupart des paquets Python ne fournissent pas de support de compilation pour les plates-formes autres que les ordinateurs de bureau." + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Nous avons maintenant une application qui utilise une bibliothèque tierce ! Cependant, vous avez peut-être remarqué que lorsque vous appuyez sur le bouton, l'application ne répond plus vraiment. Pouvons-nous faire quelque chose pour résoudre ce problème ? Consultez [Tutoriel 8][tutorial-8] pour le savoir..." diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..60641805 --- /dev/null +++ b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,371 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2025-06-21 02:01+0000\n" +"Last-Translator: John \n" +"Language-Team: French \n" +"Language: fr\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" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +#, fuzzy +msgid "Tutorial 8 - Making it Smooooth" +msgstr "Tutoriel 8 - Le rendre lisse" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "A moins que vous ne disposiez d'une connexion internet *très* rapide, vous remarquerez peut-être que lorsque vous appuyez sur le bouton, l'interface graphique de votre application se bloque pendant un petit moment. C'est parce que la requête web que nous avons faite est *synchrone*. Lorsque notre application effectue la requête web, elle attend que l'API renvoie une réponse avant de continuer. Pendant cette attente, l'API ne permet pas à l'application de se redessiner, ce qui a pour effet de bloquer l'application." + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +#, fuzzy +msgid "GUI Event Loops" +msgstr "Boucles d'événements de l'interface graphique" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#, fuzzy +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "Pour comprendre pourquoi cela se produit, nous devons entrer dans les détails du fonctionnement d'une application GUI. Les spécificités varient en fonction de la plate-forme, mais les concepts de haut niveau sont les mêmes, quelle que soit la plate-forme ou l'environnement d'interface graphique que vous utilisez." + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#, fuzzy +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Une application GUI est, fondamentalement, une boucle unique qui ressemble à quelque chose comme: :" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "Cette boucle est appelée *boucle d'événements*. (Il ne s'agit pas de noms de méthodes réels, mais d'une illustration de ce qui se passe dans le \"pseudo-code\")." + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#, fuzzy +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Lorsque vous cliquez sur un bouton, faites glisser une barre de défilement ou tapez une touche, vous générez un \"événement\". Cet \"événement\" est placé dans une file d'attente, et l'application traitera la file d'événements lorsqu'elle en aura l'occasion. Le code utilisateur déclenché en réponse à l'événement est appelé \"gestionnaire d'événement\". Ces gestionnaires d'événements sont invoqués dans le cadre de l'appel `process_events()`." + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +#, fuzzy +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Une fois qu'une application a traité tous les événements disponibles, elle va `redraw()` l'interface graphique. Cela prend en compte tous les changements que les événements ont causés à l'affichage de l'application, ainsi que tout ce qui se passe dans le système d'exploitation - par exemple, les fenêtres d'une autre application peuvent masquer ou révéler une partie de la fenêtre de notre application, et le redessin de notre application devra refléter la partie de la fenêtre qui est actuellement visible." + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#, fuzzy +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "Détail important : pendant qu'une application traite un événement, *elle ne peut pas redessiner*, et *elle ne peut pas traiter d'autres événements*." + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#, fuzzy +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "Cela signifie que toute logique utilisateur contenue dans un gestionnaire d'événements doit être exécutée rapidement. Tout retard dans l'exécution du gestionnaire d'événements sera observé par l'utilisateur sous la forme d'un ralentissement (ou d'un arrêt) des mises à jour de l'interface graphique. Si ce délai est suffisamment long, votre système d'exploitation peut signaler qu'il s'agit d'un problème - les icônes macOS \"beachball\" et Windows \"spinner\" indiquent que votre application prend trop de temps dans un gestionnaire d'événements." + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#, fuzzy +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "Des opérations simples comme \"mettre à jour une étiquette\" ou \"recalculer le total des entrées\" sont faciles à réaliser rapidement. Cependant, de nombreuses opérations ne peuvent pas être effectuées rapidement. Si vous effectuez un calcul mathématique complexe, si vous indexez tous les fichiers d'un système de fichiers ou si vous effectuez une requête réseau importante, vous ne pouvez pas \"faire vite\" - les opérations sont intrinsèquement lentes." + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#, fuzzy +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "Alors, comment effectuer des opérations à long terme dans une application GUI ?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#, fuzzy +msgid "Asynchronous programming" +msgstr "Programmation asynchrone" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#, fuzzy +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "Ce dont nous avons besoin, c'est d'un moyen de dire à une application au milieu d'un gestionnaire d'événements de longue durée qu'il est acceptable de relâcher temporairement le contrôle dans la boucle d'événements, tant que nous pouvons reprendre là où nous nous sommes arrêtés. C'est à l'application de déterminer quand cette libération peut avoir lieu ; mais si l'application libère le contrôle dans la boucle d'événements régulièrement, nous pouvons avoir un gestionnaire d'événements de longue durée *et* maintenir une interface utilisateur réactive." + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#, fuzzy +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "Nous pouvons le faire en utilisant la *programmation asynchrone*. La programmation asynchrone est une façon de décrire un programme qui permet à l'interpréteur d'exécuter plusieurs fonctions en même temps, en partageant les ressources entre toutes les fonctions qui s'exécutent simultanément." + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "Les fonctions asynchrones (appelées *co-routines*) doivent être explicitement déclarées comme étant asynchrones. Elles doivent également déclarer en interne lorsqu'il est possible de changer de contexte et de passer à une autre co-routine." + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "En Python, la programmation asynchrone est implémentée à l'aide des mots-clés `async` et `await`, et du module [asyncio]{1} dans la bibliothèque standard. Le mot-clé `async` nous permet de déclarer qu'une fonction est une co-routine asynchrone. Le mot-clé `await` permet de déclarer qu'il existe une opportunité de changer de contexte vers une autre co-routine. Le module `asyncio]{1} fournit d'autres outils et primitives utiles pour le codage asynchrone." + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "Rendre le didacticiel asynchrone" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#, fuzzy +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "Il n'y a que 4 changements dans ce code par rapport à la version précédente :" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#, fuzzy +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "Le client créé est un `AsyncClient()` asynchrone, plutôt qu'un `Client()` synchrone. Cela indique à `httpx` qu'il doit fonctionner en mode asynchrone, plutôt qu'en mode synchrone." + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#, fuzzy +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "Le gestionnaire de contexte utilisé pour créer le client est marqué comme `async`. Cela indique à Python qu'il y a une opportunité de relâcher le contrôle lorsque le gestionnaire de contexte est entré et sorti." + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "Toga vous permet d'utiliser des méthodes normales ou des co-programmes asynchrones en tant que gestionnaires ; Toga gère tout en coulisses pour s'assurer que le gestionnaire est invoqué ou attendu selon les besoins." + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "Si vous sauvegardez ces changements et relancez l'application (soit avec `briefcase dev` en mode développement, soit en mettant à jour et en relançant l'application packagée), il n'y aura pas de changements évidents dans l'application. Cependant, lorsque vous cliquez sur le bouton pour déclencher le dialogue, vous pouvez remarquer un certain nombre d'améliorations subtiles :" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#, fuzzy +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "Le bouton revient à l'état \"décliqué\" au lieu d'être bloqué à l'état \"cliqué\"." + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +#, fuzzy +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "L'icône \"beachball\"/\"spinner\" n'apparaît pas" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#, fuzzy +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "Si vous déplacez ou redimensionnez la fenêtre de l'application en attendant que la boîte de dialogue s'affiche, la fenêtre se redessinera." + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#, fuzzy +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "Si vous essayez d'ouvrir un menu d'application, le menu s'affiche immédiatement." + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "Étapes suivantes" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "" + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Nous disposons désormais d'une application élégante et réactive, même lorsqu'elle est en attente d'une API lente. Mais comment s'assurer que l'application continue de fonctionner au fur et à mesure que nous la développons ? Comment tester notre application ? Consultez [Tutoriel 9][tutorial-9] pour le découvrir..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "La méthode est définie comme `async def`, plutôt que comme `def`. Cela indique à Python que la méthode est une co-routine asynchrone." + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "L'appel `get` est fait avec un mot-clé `await`. Cela indique à l'application que pendant que nous attendons la réponse du réseau, l'application peut laisser le contrôle à la boucle d'événements." + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx``:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +#~ msgstr "" + +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#~ msgstr "" diff --git a/updated-locales/it/LC_MESSAGES/how-to/index.po b/updated-locales/it/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..228dceb9 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/it/LC_MESSAGES/index.po b/updated-locales/it/LC_MESSAGES/index.po new file mode 100644 index 00000000..da890833 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/index.po @@ -0,0 +1,122 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2024-02-13 12:10+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +#, fuzzy +msgid "Welcome to the BeeWare Tutorial!" +msgstr "Benvenuti al Tutorial di BeeWare!" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#, fuzzy +msgid "**Write Python. Run Anywhere.**" +msgstr "**Scrivere Python. Esegui ovunque.**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +#, fuzzy +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "Benvenuti a BeeWare! In questa esercitazione costruiremo un'interfaccia grafica utilizzando Python e la distribuiremo come applicazione desktop, applicazione mobile e applicazione web a pagina singola. Vedremo anche come utilizzare gli strumenti di BeeWare per eseguire alcune delle attività più comuni che dovrete svolgere come sviluppatori di applicazioni, come ad esempio testare la vostra applicazione." + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +#, fuzzy +msgid "Translations are available" +msgstr "Le traduzioni sono disponibili" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +#, fuzzy +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "Se non vi sentite a vostro agio con l'inglese, sono disponibili traduzioni di questo tutorial in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1} e [汉语]{1}." + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +#, fuzzy +msgid "This is a machine translation!" +msgstr "Questa è una traduzione automatica!" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +#, fuzzy +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "Questa versione del tutorial è stata generata da una traduzione automatica. Sappiamo che non è l'ideale, ma abbiamo pensato che una cattiva traduzione fosse meglio di nessuna traduzione." + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +#, fuzzy +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Se volete contribuire a migliorare la traduzione, contattateci! Abbiamo un canale `#translations` in [Discord]{1}. Presentati lì e ti aggiungeremo al team di traduzione." + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +#, fuzzy +msgid "This is a translation!" +msgstr "Questa è una traduzione!" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +#, fuzzy +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "Questo documento è una traduzione della versione inglese. La traduzione è stata revisionata da personale umano, ma le sezioni più recenti potrebbero essere generate dalla traduzione automatica o non essere tradotte affatto." + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#, fuzzy +msgid "What is BeeWare?" +msgstr "Che cos'è BeeWare?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +#, fuzzy +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "BeeWare non è un singolo prodotto, o strumento, o libreria: è una raccolta di strumenti e librerie, ognuno dei quali lavora insieme per aiutarvi a scrivere applicazioni Python multipiattaforma con un'interfaccia grafica nativa. Include:" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +#, fuzzy +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, un toolkit di widget multipiattaforma;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#, fuzzy +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, uno strumento per impacchettare i progetti Python come artefatti distribuibili che possono essere spediti agli utenti finali;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#, fuzzy +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Librerie (come [Rubicon ObjC]{1}) per accedere alle librerie native della piattaforma;" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +#, fuzzy +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "Costruzioni precompilate di Python che possono essere utilizzate su piattaforme in cui non sono disponibili gli installatori ufficiali di Python." + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +#, fuzzy +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "In questo tutorial utilizzeremo tutti questi strumenti, ma come utente dovrete interagire solo con i primi due (Toga e Briefcase). Tuttavia, ciascuno di questi strumenti può essere utilizzato anche singolarmente: ad esempio, si può usare Briefcase per distribuire un'applicazione senza usare Toga come toolkit per l'interfaccia grafica." + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +#, fuzzy +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "La suite BeeWare è disponibile su macOS, Windows, Linux (utilizzando GTK); su piattaforme mobili come Android e iOS; e per il Web." + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "Andiamo!" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +#, fuzzy +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Siete pronti a provare BeeWare? [Costruiamo un'applicazione multipiattaforma in Python!][tutorial/tutorial-0]" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..261f3b58 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "" + +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#~ msgstr "" + +#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." +#~ msgstr "" + +#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" +#~ msgstr "" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..3d05d7fc --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,149 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2024-02-13 12:14+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#, fuzzy +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "Finora la nostra applicazione ha utilizzato l'icona predefinita \"ape grigia\". Come possiamo aggiornare l'app per utilizzare la nostra icona?" + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#, fuzzy +msgid "Adding an icon" +msgstr "Aggiunta di un'icona" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**Prossimamente**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Ora abbiamo un'applicazione con un'icona personalizzata sul desktop e sul telefono! Come possiamo condividere questa applicazione con tutti gli altri? Consultate [Tutorial 11][tutorial-11] per scoprirlo..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "Esercitazione 10 - Create la vostra applicazione" + +#~ msgid "Next steps" +#~ msgstr "Prossimi passi" + +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..d6bdb479 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,64 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: 2024-12-10 11:00+0000\n" +"Last-Translator: pp pp \n" +"Language-Team: Italian \n" +"Language: it\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" +"X-Generator: Weblate 5.9-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "Andare avanti" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "" +"Vuoi approfondire degli argomenti in specifico? Qui troverai dei tutorial " +"aggiuntivi che esplorano degli aspetti comuni nello sviluppo delle " +"applicazioni. Ogni tutorial è indipendente, e può essere completato in " +"qualsiasi ordine; tuttavia tutti presumono che tu abbia completato il " +"tutorial di base." + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "Personalizzazione Icone" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "" +"Personalizza l'aspetto delle tue applicazioni sostituendo l'icona " +"predefinita \"gray bee\"." + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "Test Applicazioni" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "" +"Come fai ad assicurarti che la tua applicazione funzioni, e che continui a " +"funzionare? Aggiungendo una suite di prova al tuo progetto!" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "Accesso Fotocamera" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "" +"Usa la fotocamera sul tuo dispositivo mobile, o fisso, per catturare e " +"visualizzare un immagine dall'interno della tua applicazione." diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..28ca1c95 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2024-12-10 11:00+0000\n" +"Last-Translator: pp pp \n" +"Language-Team: Italian \n" +"Language: it\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" +"X-Generator: Weblate 5.9-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +msgid "Testing times" +msgstr "Tempi di verifica" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#, fuzzy +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "La maggior parte dello sviluppo del software non comporta la scrittura di nuovo codice, ma la modifica di quello esistente. Assicurarsi che il codice esistente continui a funzionare nel modo in cui ci aspettiamo è una parte fondamentale del processo di sviluppo del software. Un modo per garantire il comportamento della nostra applicazione è una *serie di test*." + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#, fuzzy +msgid "Running the test suite" +msgstr "Esecuzione della suite di test" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#, fuzzy +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Si scopre che il nostro progetto ha già una suite di test! Quando abbiamo generato il nostro progetto, sono state generate due directory di primo livello: `src` e `tests`. La cartella `src` contiene il codice della nostra applicazione; la cartella `tests` contiene la nostra suite di test. All'interno della cartella `tests` c'è un file chiamato `test_app.py` con il seguente contenuto:" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#, fuzzy +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Questo è un [Pytest]{1} *caso di test* - un blocco di codice che può essere eseguito per verificare un comportamento dell'applicazione. In questo caso, il test è un segnaposto e non verifica nulla della nostra applicazione, ma è un test che possiamo eseguire." + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#, fuzzy +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Possiamo eseguire questa suite di test usando l'opzione `--test` di `briefcase dev`. Poiché è la prima volta che si eseguono dei test, è necessario inserire anche l'opzione `-r` per assicurarsi che anche i requisiti dei test siano installati:" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#, fuzzy +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "Successo! Abbiamo appena eseguito un singolo test che verifica che la matematica di Python funziona nel modo previsto (che sollievo!)." + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#, fuzzy +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Sostituiamo questo test segnaposto con un test per verificare che il nostro metodo `greeting()` si comporti come ci aspettiamo. Sostituire il contenuto di `test_app.py` con il seguente:" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#, fuzzy +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "Questo definisce due nuovi test, che verificano i due comportamenti che ci aspettiamo di vedere: l'output quando viene fornito un nome e l'output quando il nome è vuoto." + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#, fuzzy +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Ora possiamo eseguire nuovamente la suite di test. Questa volta non è necessario fornire l'opzione `-r`, poiché i requisiti per i test sono già stati installati; è sufficiente usare l'opzione `--test`:" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#, fuzzy +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Eccellente! Il nostro metodo di utilità `greeting()` funziona come previsto." + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#, fuzzy +msgid "Test driven development" +msgstr "Sviluppo guidato dai test" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#, fuzzy +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Ora che abbiamo una suite di test, possiamo usarla per guidare lo sviluppo di nuove funzionalità. Modifichiamo la nostra applicazione per avere un saluto speciale per un utente in particolare. Possiamo iniziare aggiungendo un caso di test per il nuovo comportamento che vorremmo vedere in fondo a `test_app.py`:" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#, fuzzy +msgid "Then, run the test suite with this new test:" +msgstr "Quindi, eseguire la suite di test con questo nuovo test:" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#, fuzzy +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Questa volta, vediamo un fallimento del test e l'output spiega la fonte del fallimento: il test si aspetta l'output \"BeeWare the IDEs of Python!\", ma la nostra implementazione di `greeting()` restituisce \"Hello, Brutus\". Modifichiamo l'implementazione di `greeting()` in `src/helloworld/app.py` per avere il nuovo comportamento:" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#, fuzzy +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "Se eseguiamo nuovamente i test, vedremo che i nostri test passano:" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#, fuzzy +msgid "Runtime tests" +msgstr "Test di runtime" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#, fuzzy +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "Finora abbiamo eseguito i test in modalità di sviluppo. Questo è particolarmente utile quando si sviluppano nuove funzionalità, in quanto si può iterare rapidamente sull'aggiunta di test e sull'aggiunta di codice per far sì che tali test passino. Tuttavia, a un certo punto, si vorrà verificare che il codice venga eseguito correttamente anche nell'ambiente dell'applicazione bundle." + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#, fuzzy +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Le opzioni `--test` e `-r` possono essere passate anche al comando `run`. Se si usa `briefcase run --test -r`, verrà eseguita la stessa suite di test, ma all'interno del bundle dell'applicazione confezionata e non nell'ambiente di sviluppo:" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#, fuzzy +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Come per `briefcase dev --test`, l'opzione `-r` è necessaria solo la prima volta che si esegue la suite di test, per assicurarsi che le dipendenze del test siano presenti. Nelle esecuzioni successive, si può omettere questa opzione." + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#, fuzzy +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Si può anche usare l'opzione `--test` sui backend mobili: - quindi `briefcase run iOS --test` e `briefcase run android --test` funzioneranno entrambi, eseguendo la suite di test sul dispositivo mobile selezionato." + +#~ msgid "Next steps" +#~ msgstr "Prossimi passi" diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..7b6666ec --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2024-02-13 12:10+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +#, fuzzy +msgid "Tutorial 0 - Let's get set up!" +msgstr "Esercitazione 0 - Configuriamoci!" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +#, fuzzy +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "Prima di creare la nostra prima applicazione BeeWare, dobbiamo assicurarci di avere tutti i prerequisiti per l'esecuzione di BeeWare." + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#, fuzzy +msgid "Install Python" +msgstr "Installare Python" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#, fuzzy +msgid "The first thing we'll need is a working Python interpreter." +msgstr "La prima cosa di cui abbiamo bisogno è un interprete Python funzionante." + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#, fuzzy +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#, fuzzy +msgid "You can also install Python through `homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Esistono molti modi diversi per installare Python. Si può installare Python tramite [homebrew]{1}. Si può usare [pyenv]{1} per gestire più installazioni di Python sulla stessa macchina. Gli utenti di Windows possono installare Python dal Windows App Store. Gli utenti con un background di scienza dei dati potrebbero voler usare [Anaconda]{1} o [Miniconda]{1}." + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +#, fuzzy +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Se siete su Linux, installerete Python usando il gestore di pacchetti del sistema (`apt` su Debian/Ubuntu/Mint, `dnf` su Fedora, o `pacman` su Arch)." + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "Dovete assicurarvi che il sistema Python sia Python 3.8 o più recente; se non lo è (ad esempio, Ubuntu 18.04 viene fornito con Python 3.6), dovrete aggiornare la vostra distribuzione Linux con qualcosa di più recente." + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#, fuzzy +msgid "Support for Raspberry Pi is limited at this time." +msgstr "Il supporto per Raspberry Pi è al momento limitato." + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "Il supporto per Raspberry Pi è al momento limitato." + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use `Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Se siete su macOS o Windows, non importa *come* avete installato Python: importa solo che possiate eseguire `python3` dal prompt dei comandi/terminale del vostro sistema operativo e ottenere un interprete Python funzionante." + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#, fuzzy +msgid "Install dependencies" +msgstr "Installare le dipendenze" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +#, fuzzy +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "Successivamente, installate le dipendenze aggiuntive necessarie per il vostro sistema operativo:" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#, fuzzy +msgid "Building BeeWare apps on macOS requires:" +msgstr "La creazione di applicazioni BeeWare su macOS richiede:" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +#, fuzzy +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "Per supportare lo sviluppo locale, è necessario installare alcuni pacchetti di sistema. L'elenco dei pacchetti necessari varia a seconda della distribuzione:" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#, fuzzy +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu 20.04+ / Debian 10+**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#, fuzzy +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#, fuzzy +msgid "**Arch / Manjaro**" +msgstr "**Arch, Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#, fuzzy +msgid "Building BeeWare apps on Windows requires:" +msgstr "La creazione di applicazioni BeeWare su Windows richiede:" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +#, fuzzy +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, un sistema di controllo delle versioni. È possibile scaricare Git da [git-scm.com]{1}." + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +#, fuzzy +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "Dopo l'installazione di questi strumenti, è necessario assicurarsi di riavviare tutte le sessioni di terminale. Windows esporrà i terminali degli strumenti appena installati solo dopo il completamento dell'installazione." + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#, fuzzy +msgid "Set up a virtual environment" +msgstr "Impostare un ambiente virtuale" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +#, fuzzy +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "Ora creeremo un ambiente virtuale, una \"sandbox\" che potremo usare per isolare il nostro lavoro su questo tutorial dalla nostra installazione principale di Python. Se installiamo dei pacchetti nell'ambiente virtuale, la nostra installazione principale di Python (e qualsiasi altro progetto Python sul nostro computer) non ne risentirà. Se facciamo un pasticcio completo nel nostro ambiente virtuale, potremo semplicemente cancellarlo e ricominciare da capo, senza influenzare nessun altro progetto Python sul nostro computer e senza la necessità di reinstallare Python." + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +#, fuzzy +msgid "Errors running PowerShell Scripts" +msgstr "Errori nell'esecuzione degli script PowerShell" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#, fuzzy +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Se si utilizza PowerShell e si riceve l'errore:" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +#, fuzzy +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "L'account di Windows non ha i permessi per eseguire gli script. Per risolvere il problema:" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#, fuzzy +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Eseguire `set-executionpolicy RemoteSigned`" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#, fuzzy +msgid "Select `Y` to change the execution policy." +msgstr "Selezionare `Y` per modificare il criterio di esecuzione." + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +#, fuzzy +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Una volta fatto questo, si può rieseguire `beeware-venv\\Scripts\\activate.ps1` nella sessione PowerShell originale (o in una nuova sessione nella stessa directory)." + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +#, fuzzy +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Se questo ha funzionato, il prompt dovrebbe essere cambiato: dovrebbe avere il prefisso `(beeware-venv)`. Questo permette di sapere che ci si trova nell'ambiente virtuale BeeWare. Ogni volta che si lavora a questo tutorial, bisogna assicurarsi che l'ambiente virtuale sia attivato. In caso contrario, eseguire nuovamente l'ultimo comando (il comando `activate`) per riattivare l'ambiente." + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +#, fuzzy +msgid "Alternative virtual environments" +msgstr "Ambienti virtuali alternativi" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +#, fuzzy +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Se si usa Anaconda o miniconda, forse si ha più familiarità con l'uso degli ambienti conda. Potreste anche aver sentito parlare di `virtualenv`, un predecessore del modulo `venv` integrato in Python. Come per le installazioni di Python, se siete su macOS o Windows, non importa *come* create il vostro ambiente virtuale, purché ne abbiate uno. Se siete su Linux, dovreste usare `venv` e il Python di sistema." + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +#, fuzzy +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a [creare la nostra prima applicazione BeeWare][tutorial-1]." + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "Eseguire Windows PowerShell come amministratore." + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "**Git**, un sistema di controllo delle versioni. È incluso in Xcode o negli strumenti per sviluppatori a riga di comando, installati in precedenza." + +#~ msgid "Alternative Python distributions" +#~ msgstr "Distribuzioni Python alternative" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "Se utilizzate Linux, dovreste usare il Python di sistema fornito dal vostro sistema operativo. Sarete in grado di completare *la maggior parte* di questo tutorial utilizzando un Python non di sistema, ma non sarete in grado di pacchettizzare la vostra applicazione per distribuirla ad altri." + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "Se si utilizza macOS, una versione recente di Python è inclusa in Xcode o negli strumenti di sviluppo a riga di comando. Per verificare se ne disponete già, eseguite il seguente comando:" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "Se Python è installato, verrà visualizzato il suo numero di versione. In caso contrario, verrà richiesto di installare gli strumenti di sviluppo a riga di comando." + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..1072f0a5 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,221 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-13 12:10+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +#, fuzzy +msgid "Tutorial 1 - Your first app" +msgstr "Esercitazione 1 - La vostra prima applicazione" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#, fuzzy +msgid "We're ready to create our first application." +msgstr "Siamo pronti a creare la nostra prima applicazione." + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#, fuzzy +msgid "Install the BeeWare tools" +msgstr "Installare gli strumenti BeeWare" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +#, fuzzy +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno strumento di BeeWare che può essere usato per confezionare l'applicazione da distribuire agli utenti finali, ma può anche essere usato per avviare un nuovo progetto. Assicuratevi di essere nella cartella `beeware-tutorial` creata in [Tutorial 0][tutorial-0], con l'ambiente virtuale `beeware-venv` attivato ed eseguite:" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +#, fuzzy +msgid "Possible errors during installation" +msgstr "Possibili errori durante l'installazione" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +#, fuzzy +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Se si riscontrano errori durante l'installazione, è quasi certamente perché alcuni dei requisiti di sistema non sono stati installati. Assicurarsi di aver [installato tutti i pre-requisiti della piattaforma ][install-dependencies]." + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +#, fuzzy +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "È importante utilizzare `python -m pip`, piuttosto che un semplice `pip`. Briefcase deve assicurarsi di avere una versione aggiornata di `pip` e `setuptools`, e un'invocazione nuda di `pip` non può autoaggiornarsi. Se volete saperne di più, [Brett Cannon ha un post dettagliato sul blog sul problema]{1}." + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#, fuzzy +msgid "Bootstrap a new project" +msgstr "Bootstrap di un nuovo progetto" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +#, fuzzy +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Avviamo il nostro primo progetto BeeWare! Useremo il comando `new` di Briefcase per creare un'applicazione chiamata **Hello World**. Eseguite il seguente comando dal prompt dei comandi:" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +#, fuzzy +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. Ai fini di questa esercitazione, utilizzate quanto segue:" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#, fuzzy +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Nome formale** - Accettare il valore predefinito: `Hello World`." + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#, fuzzy +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**Nome applicazione** - Accettare il valore predefinito: `helloworld`." + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#, fuzzy +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Se si possiede un proprio dominio, inserirlo in ordine inverso. (Ad esempio, se si possiede il dominio \"cupcakes.com\", inserire `com.cupcakes` come bundle). Se non si possiede un dominio proprio, accettare il bundle predefinito (`com.example`)." + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#, fuzzy +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Nome del progetto** - Accettare il valore predefinito: `Hello World`." + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +#, fuzzy +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**Descrizione** - Accettare il valore predefinito (o, se si vuole essere molto creativi, creare una descrizione personalizzata)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#, fuzzy +msgid "**Author** - Enter your own name here." +msgstr "**Autore** - Inserire qui il proprio nome." + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#, fuzzy +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "**Email dell'autore** - Inserire il proprio indirizzo e-mail. Verrà utilizzato nel file di configurazione, nel testo della guida e ovunque sia richiesto un indirizzo e-mail quando si invia l'applicazione a un app store." + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#, fuzzy +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - L'URL della pagina di destinazione dell'applicazione. Anche in questo caso, se si possiede un dominio proprio, inserire un URL di quel dominio (compreso `https://`). Altrimenti, accettare l'URL predefinito (`https://example.com/helloworld`). Questo URL non deve esistere (per ora); sarà usato solo se si pubblica l'applicazione su un app store." + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#, fuzzy +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "**Licenza** - Accettare la licenza predefinita (BSD). Questo non influisce in alcun modo sul funzionamento del tutorial, quindi se si hanno sentimenti particolarmente forti riguardo alla scelta della licenza, si può scegliere liberamente un'altra licenza." + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +#, fuzzy +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**Quadro GUI** - Accettare l'opzione predefinita, Toga (il toolkit GUI di BeeWare)." + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +#, fuzzy +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete seguito questo tutorial fino a questo punto e avete accettato le impostazioni predefinite come descritto, il vostro file system dovrebbe avere un aspetto simile a:" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +#, fuzzy +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Questo scheletro è in realtà un'applicazione completamente funzionante, senza aggiungere altro. La cartella `src` contiene tutto il codice dell'applicazione, la cartella `tests` contiene una suite di test iniziale e il file `pyproject.toml` descrive come confezionare l'applicazione per la distribuzione. Se si apre `pyproject.toml` in un editor, si vedranno i dettagli di configurazione appena forniti a Briefcase." + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +#, fuzzy +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "Ora che abbiamo un'applicazione stub, possiamo usare Briefcase per eseguire l'applicazione." + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#, fuzzy +msgid "Run the app in developer mode" +msgstr "Eseguire l'applicazione in modalità sviluppatore" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +#, fuzzy +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Spostatevi nella cartella del progetto `helloworld` e dite a briefcase di avviare il progetto in modalità sviluppatore (o `dev`):" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#, fuzzy +msgid "This should open a GUI window:" +msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +#, fuzzy +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "Esercitazione Hello World 1 finestra, su macOS" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +#, fuzzy +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "Esercitazione Hello World 1 finestra, su Linux" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +#, fuzzy +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "Finestra Hello World Tutorial 1, su Windows" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#, fuzzy +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "Premete il pulsante di chiusura (o selezionate Quit dal menu dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto un'applicazione nativa standalone in Python!" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +#, fuzzy +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. Ora possiamo aggiungere un po' di logica per far fare alla nostra applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], realizzeremo un'interfaccia utente più utile per la nostra applicazione." + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "Uno degli strumenti di BeeWare è **Briefcase**. Briefcase può essere utilizzato per confezionare l'applicazione da distribuire agli utenti finali, ma anche per avviare un nuovo progetto." + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..b43058d1 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,301 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-13 12:11+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +#, fuzzy +msgid "Tutorial 2 - Making it interesting" +msgstr "Esercitazione 2 - Rendere interessante" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +#, fuzzy +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che è stato generato per noi." + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#, fuzzy +msgid "What was generated" +msgstr "Cosa è stato generato" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +#, fuzzy +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "Nella cartella `src/helloworld`, si dovrebbero vedere 3 file: `__init__.py`, `__main__.py` e `app.py`." + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +#, fuzzy +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` segna la cartella `helloworld` come un modulo Python importabile. È un file vuoto; il solo fatto che esista indica all'interprete Python che la cartella `helloworld` definisce un modulo." + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +#, fuzzy +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` segna il modulo `helloworld` come un tipo speciale di modulo, un modulo eseguibile. Se si cerca di eseguire il modulo `helloworld` usando `python -m helloworld`, il file `__main__.py` è il punto in cui Python inizierà l'esecuzione. Il contenuto di `__main__.py` è relativamente semplice:" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#, fuzzy +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "Cioè, importa il metodo `main` dall'applicazione `helloworld` e, se viene eseguito come punto di ingresso, chiama il metodo main() e avvia il ciclo principale dell'applicazione. Il ciclo principale è il modo in cui un'applicazione GUI ascolta gli input dell'utente (come i clic del mouse e la pressione della tastiera)." + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#, fuzzy +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "Il file più interessante è `app.py`: contiene la logica che crea la finestra della nostra applicazione:" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#, fuzzy +msgid "Let's go through this line by line:" +msgstr "Esaminiamo questa riga per riga:" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#, fuzzy +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Per prima cosa, importiamo il toolkit di widget `toga` e alcune classi e costanti di utilità legate allo stile. Il nostro codice non le usa ancora, ma le useremo a breve." + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#, fuzzy +msgid "Then, we define a class:" +msgstr "Quindi, definiamo una classe:" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#, fuzzy +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Ogni applicazione Toga ha una singola istanza `toga.App`, che rappresenta l'entità in esecuzione che è l'applicazione. L'applicazione può finire per gestire più finestre, ma per le applicazioni semplici ci sarà una sola finestra principale." + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#, fuzzy +msgid "Next, we define a `startup()` method:" +msgstr "Quindi, definiamo un metodo `startup()`:" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#, fuzzy +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "La prima cosa che il metodo di avvio fa è definire un riquadro principale. Lo schema di layout di Toga si comporta in modo simile all'HTML. Si costruisce un'applicazione costruendo un insieme di riquadri, ognuno dei quali contiene altri riquadri, o widget veri e propri. Si applicano poi degli stili a questi riquadri per definire il modo in cui consumeranno lo spazio disponibile della finestra." + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#, fuzzy +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "In questa applicazione, definiamo una singola casella, ma non inseriamo nulla al suo interno." + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#, fuzzy +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Quindi, definiamo una finestra in cui inserire questa casella vuota:" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#, fuzzy +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Questo crea un'istanza di `toga.MainWindow`, che avrà un titolo corrispondente al nome dell'applicazione. Una finestra principale è un tipo speciale di finestra in Toga: è una finestra strettamente legata al ciclo di vita dell'applicazione. Quando la finestra principale viene chiusa, l'applicazione esce. La finestra principale è anche la finestra che contiene il menu dell'applicazione (se si utilizza una piattaforma come Windows in cui le barre dei menu fanno parte della finestra)" + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#, fuzzy +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Aggiungiamo quindi la nostra casella vuota come contenuto della finestra principale e istruiamo l'applicazione a mostrare la nostra finestra:" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#, fuzzy +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Infine, definiamo un metodo `main()`. Questo è ciò che crea l'istanza della nostra applicazione:" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#, fuzzy +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Questo metodo `main()` è quello che viene importato e invocato da `__main__.py`. Crea e restituisce un'istanza della nostra applicazione `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#, fuzzy +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "Questa è l'applicazione Toga più semplice possibile. Inseriamo nell'applicazione alcuni contenuti personali e facciamo in modo che l'applicazione faccia qualcosa di interessante." + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#, fuzzy +msgid "Adding some content of our own" +msgstr "Aggiunta di contenuti propri" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#, fuzzy +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Non rimuovete le importazioni all'inizio del file o il `main()` in fondo. È necessario aggiornare solo la classe `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#, fuzzy +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modificate la classe `HelloWorld` all'interno di `src/helloworld/app.py` in modo che abbia questo aspetto:" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#, fuzzy +msgid "Let's look in detail at what has changed." +msgstr "Vediamo nel dettaglio cosa è cambiato." + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#, fuzzy +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Stiamo ancora creando un riquadro principale, ma ora stiamo applicando uno stile:" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#, fuzzy +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Il sistema di layout integrato di Toga si chiama \"Pack\". Si comporta in modo molto simile ai CSS. Si definiscono gli oggetti in una gerarchia: in HTML, gli oggetti sono `
`, `` e altri elementi DOM; in Toga, sono widget e box. Si possono poi assegnare stili ai singoli elementi. In questo caso, stiamo indicando che si tratta di un riquadro `COLUMN`, cioè un riquadro che consumerà tutta la larghezza disponibile e si espanderà in altezza man mano che si aggiungono contenuti, ma cercherà di essere il più corto possibile." + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#, fuzzy +msgid "Next, we define a couple of widgets:" +msgstr "Successivamente, definiamo un paio di widget:" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#, fuzzy +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "Qui definiamo una Label e un TextInput. A entrambi i widget sono associati degli stili; l'etichetta avrà un padding di 5px a sinistra e a destra e nessun padding in alto e in basso. Il TextInput è contrassegnato come flessibile, cioè assorbirà tutto lo spazio disponibile nel suo asse di layout." + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#, fuzzy +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "Il TextInput è assegnato come variabile di istanza della classe. Questo ci consente di accedere facilmente all'istanza del widget, che utilizzeremo tra poco." + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#, fuzzy +msgid "Next, we define a box to hold these two widgets:" +msgstr "Quindi, definiamo un riquadro per contenere questi due widget:" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#, fuzzy +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "Il `nome_box` è un box come quello principale, ma questa volta è un box `ROW`. Ciò significa che il contenuto sarà aggiunto orizzontalmente e cercherà di avere una larghezza il più possibile ridotta. Il riquadro ha anche un padding di 5px su tutti i lati." + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#, fuzzy +msgid "Now we define a button:" +msgstr "Ora definiamo un pulsante:" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +#, fuzzy +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "Il pulsante ha anche 5px di padding su tutti i lati. Definiamo anche un *handler*, un metodo da invocare quando il pulsante viene premuto." + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#, fuzzy +msgid "Then, we add the name box and the button to the main box:" +msgstr "Quindi, aggiungiamo la casella del nome e il pulsante alla casella principale:" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#, fuzzy +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Questo completa il nostro layout; il resto del metodo di avvio è come in precedenza: definire una MainWindow e assegnare il riquadro principale come contenuto della finestra:" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#, fuzzy +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "L'ultima cosa da fare è definire il gestore del pulsante. Un gestore può essere qualsiasi metodo, generatore o co-routine asincrona; accetta come argomento il widget che ha generato l'evento e sarà invocato ogni volta che il pulsante viene premuto:" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#, fuzzy +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "Il corpo del metodo è una semplice istruzione di stampa, che però interroga il valore corrente dell'input name e utilizza il suo contenuto come testo stampato." + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#, fuzzy +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "Ora che abbiamo apportato queste modifiche, possiamo vederne l'aspetto avviando nuovamente l'applicazione. Come prima, useremo la modalità sviluppatore:" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#, fuzzy +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Si noterà che questa volta *non* installa le dipendenze. Briefcase è in grado di rilevare che l'applicazione è già stata eseguita in precedenza e, per risparmiare tempo, eseguirà solo l'applicazione. Se si aggiungono nuove dipendenze alla propria applicazione, ci si può assicurare che vengano installate passando l'opzione `-r` quando si esegue `briefcase dev``." + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#, fuzzy +msgid "This should open a GUI window:" +msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +#, fuzzy +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "Finestra Hello World Tutorial 2, su macOS" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +#, fuzzy +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "Finestra Hello World Tutorial 2, su Linux" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +#, fuzzy +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "Finestra Hello World Tutorial 2, su Windows" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#, fuzzy +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "Se si inserisce un nome nella casella di testo e si preme il pulsante GUI, si dovrebbe vedere l'output nella console in cui è stata avviata l'applicazione." + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#, fuzzy +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona solo sul nostro computer. Impacchettiamo questa applicazione per la distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra applicazione come un programma di installazione autonomo da inviare a un amico, a un cliente o da caricare su un App Store." + +#~ msgid "Lets do something more interesting with our `HelloWorld` app." +#~ msgstr "" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..97628c50 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,318 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2024-02-13 12:11+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +#, fuzzy +msgid "Tutorial 3 - Packaging for distribution" +msgstr "Esercitazione 3 - Confezionamento per la distribuzione" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#, fuzzy +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "Finora abbiamo eseguito la nostra applicazione in \"modalità sviluppatore\". Questo ci consente di eseguire facilmente la nostra applicazione a livello locale, ma ciò che vogliamo veramente è poterla fornire ad altri." + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#, fuzzy +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "Tuttavia, non vogliamo insegnare ai nostri utenti come installare Python, creare un ambiente virtuale, clonare un repository git ed eseguire Briefcase in modalità sviluppatore. Preferiamo dare loro un programma di installazione e far sì che l'applicazione funzioni e basta." + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#, fuzzy +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "Briefcase può essere utilizzato per impacchettare l'applicazione per la distribuzione in questo modo." + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#, fuzzy +msgid "Creating your application scaffold" +msgstr "Creare lo scaffold dell'applicazione" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#, fuzzy +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Poiché è la prima volta che impacchettiamo la nostra applicazione, dobbiamo creare alcuni file di configurazione e altre impalcature per supportare il processo di impacchettamento. Dalla cartella `helloworld`, eseguire:" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#, fuzzy +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "Probabilmente avete appena visto passare delle pagine di contenuto nel vostro terminale... cosa è successo? Briefcase ha fatto quanto segue:" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#, fuzzy +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "Ha **generato un modello di applicazione**. Per costruire un programma di installazione nativo sono necessari molti file e configurazioni, oltre al codice dell'applicazione vera e propria. Questa impalcatura aggiuntiva è quasi la stessa per ogni applicazione sulla stessa piattaforma, tranne che per il nome dell'applicazione vera e propria che si sta costruendo, quindi Briefcase fornisce un modello di applicazione per ogni piattaforma che supporta. Questo passo esegue il modello, sostituendo il nome dell'applicazione, l'ID del bundle e altre proprietà del file di configurazione, come richiesto per supportare la piattaforma su cui si sta costruendo." + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +#, fuzzy +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "Se non si è soddisfatti del modello fornito da Briefcase, è possibile crearne uno proprio. Tuttavia, probabilmente non è il caso di farlo prima di aver acquisito un po' di esperienza nell'uso del modello predefinito di Briefcase." + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#, fuzzy +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "Ha **scaricato e installato un pacchetto di supporto**. L'approccio alla pacchettizzazione adottato da Briefcase è meglio descritto come \"la cosa più semplice che possa funzionare\": spedisce un interprete Python completo e isolato come parte di ogni applicazione che costruisce. Questo è leggermente inefficiente dal punto di vista dello spazio: se si hanno 5 applicazioni pacchettizzate con Briefcase, si avranno 5 copie dell'interprete Python. Tuttavia, questo approccio garantisce che ogni applicazione sia completamente indipendente, utilizzando una versione specifica di Python che è nota per funzionare con l'applicazione." + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +#, fuzzy +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "Anche in questo caso, Briefcase fornisce un pacchetto di supporto predefinito per ogni piattaforma; se lo si desidera, si può fornire il proprio pacchetto di supporto e farlo includere come parte del processo di compilazione. Questo può essere utile se si hanno particolari opzioni nell'interprete Python che devono essere abilitate, o se si vogliono togliere dalla libreria standard i moduli che non servono in fase di esecuzione." + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#, fuzzy +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "Briefcase mantiene una cache locale dei pacchetti di supporto, per cui una volta scaricato un pacchetto di supporto specifico, la copia in cache verrà utilizzata nelle build future." + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#, fuzzy +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Si tratta di **requisiti dell'applicazione installata**. L'applicazione può specificare qualsiasi modulo di terze parti richiesto in fase di esecuzione. Questi saranno installati usando `pip` nel programma di installazione dell'applicazione." + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#, fuzzy +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "Ha **installato il codice dell'applicazione**. L'applicazione avrà il suo codice e le sue risorse (ad esempio, le immagini necessarie per l'esecuzione); questi file vengono copiati nel programma di installazione." + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#, fuzzy +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "Infine, aggiunge qualsiasi risorsa aggiuntiva necessaria al programma di installazione stesso. Questo include cose come le icone che devono essere allegate all'applicazione finale e le immagini della schermata iniziale." + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#, fuzzy +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Una volta completata questa operazione, se si guarda nella cartella del progetto, si dovrebbe vedere una cartella corrispondente alla propria piattaforma (`macOS`, `linux` o `windows`) che contiene file aggiuntivi. Questa è la configurazione di pacchettizzazione specifica della piattaforma per l'applicazione." + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#, fuzzy +msgid "Building your application" +msgstr "Creazione dell'applicazione" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#, fuzzy +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "È ora possibile compilare l'applicazione. Questo passaggio esegue la compilazione binaria necessaria affinché l'applicazione sia eseguibile sulla piattaforma di destinazione." + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#, fuzzy +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "Su macOS, il comando `build` non ha bisogno di *compilare* nulla, ma deve firmare il contenuto del binario in modo che possa essere eseguito. Questa firma è una firma *ad hoc*: funzionerà solo sulla *vostra* macchina; se volete distribuire l'applicazione ad altri, dovrete fornire una firma completa." + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#, fuzzy +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Una volta completato questo passaggio, la cartella `build` conterrà una cartella `helloworld-0.0.1` che contiene un mirror di un file system Linux `/usr`. Questo file system mirror conterrà una cartella `bin` con un binario di `helloworld`, oltre alle cartelle `lib` e `share` necessarie per supportare il binario." + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#, fuzzy +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "Su Windows, il comando `build` non ha bisogno di *compilare* nulla, ma deve scrivere alcuni metadati in modo che l'applicazione conosca il suo nome, la sua versione e così via." + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +#, fuzzy +msgid "Triggering antivirus" +msgstr "Attivazione dell'antivirus" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#, fuzzy +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Poiché questi metadati vengono scritti direttamente nel binario precompilato che viene lanciato dal modello durante il comando `create`, è possibile che il software antivirus in esecuzione sul computer impedisca la scrittura dei metadati. In questo caso, istruire l'antivirus per consentire l'esecuzione dello strumento (chiamato `rcedit-x64.exe`) e rieseguire il comando precedente." + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#, fuzzy +msgid "Running your app" +msgstr "Esecuzione dell'applicazione" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#, fuzzy +msgid "You can now use Briefcase to run your application:" +msgstr "Ora è possibile utilizzare Briefcase per eseguire l'applicazione:" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#, fuzzy +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "In questo modo si avvia l'esecuzione dell'applicazione nativa, utilizzando l'output del comando `build`." + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#, fuzzy +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "È possibile notare alcune piccole differenze nell'aspetto dell'applicazione quando è in esecuzione. Ad esempio, le icone e il nome visualizzati dal sistema operativo potrebbero essere leggermente diversi da quelli visualizzati durante l'esecuzione in modalità sviluppatore. Ciò è dovuto anche al fatto che si sta utilizzando l'applicazione pacchettizzata e non solo il codice Python in esecuzione. Dal punto di vista del sistema operativo, ora si sta eseguendo \"un'applicazione\", non \"un programma Python\", e questo si riflette sull'aspetto dell'applicazione." + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#, fuzzy +msgid "Building your installer" +msgstr "Creazione del programma di installazione" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#, fuzzy +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "È ora possibile pacchettizzare l'applicazione per la distribuzione, utilizzando il comando `package`. Il comando package esegue qualsiasi compilazione necessaria per convertire il progetto scaffolded in un prodotto finale distribuibile. A seconda della piattaforma, ciò può comportare la compilazione di un programma di installazione, l'esecuzione della firma del codice o altre operazioni preliminari alla distribuzione." + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#, fuzzy +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "La cartella `dist` conterrà un file chiamato `Hello World-0.0.1.dmg`. Se individuate questo file nel Finder e fate doppio clic sulla sua icona, monterete il DMG, ottenendo una copia dell'applicazione Hello World e un collegamento alla cartella Applicazioni per facilitare l'installazione. Trascinate il file dell'app in Applicazioni e avrete installato la vostra applicazione. Inviate il file DMG a un amico, che dovrebbe essere in grado di fare lo stesso." + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#, fuzzy +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#, fuzzy +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "L'output del passaggio del pacchetto sarà leggermente diverso a seconda della vostra distribuzione Linux. Se si utilizza una distribuzione derivata da Debian, si vedrà:" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#, fuzzy +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "La cartella `dist` conterrà il file `.deb` generato." + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#, fuzzy +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "Se si utilizza una distribuzione basata su RHEL, si vedrà:" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#, fuzzy +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "La cartella `dist` conterrà il file `.rpm` generato." + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#, fuzzy +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "Se si utilizza una distribuzione basata su Arch, si vedrà:" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#, fuzzy +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "La cartella `dist` conterrà il file `.pkg.tar.zst` che è stato generato." + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#, fuzzy +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "Altre distribuzioni Linux non sono attualmente supportate per il packaging." + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#, fuzzy +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "Se volete creare un pacchetto per una distribuzione Linux diversa da quella che state usando, Briefcase può aiutarvi, ma dovrete installare Docker." + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#, fuzzy +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Gli installatori ufficiali di [Docker Engine]{1} sono disponibili per diverse distribuzioni Unix. Seguite le istruzioni per la vostra piattaforma; tuttavia, assicuratevi di non installare Docker in modalità \"rootless\"." + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#, fuzzy +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "Una volta installato Docker, dovreste essere in grado di avviare un contenitore Linux, ad esempio:" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#, fuzzy +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "mostrerà un prompt Unix (qualcosa come `root@84444e31cff9:/#`) all'interno di un contenitore Docker Ubuntu 22.04. Digitare Ctrl-D per uscire da Docker e tornare alla shell locale." + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#, fuzzy +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "Una volta installato Docker, si può usare Briefcase per creare un pacchetto per qualsiasi distribuzione Linux supportata da Briefcase, passando un'immagine Docker come argomento. Per esempio, per creare un pacchetto DEB per Ubuntu 22.04 (Jammy), indipendentemente dal sistema operativo in uso, si può eseguire:" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#, fuzzy +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Questo scaricherà l'immagine Docker per il sistema operativo selezionato, creerà un contenitore in grado di eseguire le build di Briefcase e costruirà il pacchetto dell'applicazione all'interno dell'immagine. Una volta completato, la cartella `dist` conterrà il pacchetto per la distribuzione Linux di destinazione." + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#, fuzzy +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#, fuzzy +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Una volta completato questo passaggio, la cartella `dist` conterrà un file chiamato `Hello_World-0.0.1.msi`. Se si fa doppio clic su questo programma di installazione per eseguirlo, si dovrebbe seguire il consueto processo di installazione di Windows. Una volta completata l'installazione, nel menu di avvio sarà presente una voce \"Hello World\"." + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita su piattaforme desktop. Ma cosa succede quando dobbiamo aggiornare il codice della nostra applicazione? Come facciamo a inserire gli aggiornamenti nella nostra applicazione pacchettizzata? Consultate [Tutorial 4][./tutorial-4] per scoprirlo..." + +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#~ msgstr "" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..eae2c85c --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,177 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2024-02-13 12:12+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +#, fuzzy +msgid "Tutorial 4 - Updating your application" +msgstr "Esercitazione 4 - Aggiornamento dell'applicazione" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#, fuzzy +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "Nell'ultima esercitazione abbiamo confezionato la nostra applicazione come applicazione nativa. Se avete a che fare con un'applicazione reale, la storia non finisce qui: probabilmente farete dei test, scoprirete dei problemi e dovrete apportare delle modifiche. Anche se la vostra applicazione è perfetta, alla fine vorrete pubblicare la versione 2 della vostra applicazione con dei miglioramenti." + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#, fuzzy +msgid "So - how do you update your installed app when you make code changes?" +msgstr "Come si aggiorna l'applicazione installata quando si apportano modifiche al codice?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#, fuzzy +msgid "Updating application code" +msgstr "Aggiornamento del codice dell'applicazione" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#, fuzzy +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "La nostra applicazione attualmente stampa sulla console quando si preme il pulsante. Tuttavia, le applicazioni GUI non dovrebbero utilizzare la console per l'output. Devono utilizzare le finestre di dialogo per comunicare con gli utenti." + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#, fuzzy +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Aggiungiamo una finestra di dialogo per dire ciao, invece di scrivere nella console. Modificare il callback `say_hello` in modo che assomigli a questo:" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#, fuzzy +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "Questo indica a Toga di aprire una finestra di dialogo modale quando viene premuto il pulsante." + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#, fuzzy +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Se si esegue `briefcase dev`, si inserisce un nome e si preme il pulsante , si vedrà la nuova finestra di dialogo:" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Esercitazione Hello World 4, su macOS" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Esercitazione Hello World 4, su Linux" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Esercitazione Hello World 4, su Windows" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#, fuzzy +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +#, fuzzy +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Perché? Beh, `briefcase dev` opera eseguendo il vostro codice sul posto - cerca di produrre un ambiente di runtime il più realistico possibile per il vostro codice, ma non fornisce o utilizza alcuna infrastruttura della piattaforma per avvolgere il vostro codice come un'applicazione. Parte del processo di impacchettamento dell'applicazione comporta la copia del codice *nel* bundle dell'applicazione e, al momento, l'applicazione contiene ancora il vecchio codice." + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#, fuzzy +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "Quindi, dobbiamo dire a briefcase di aggiornare l'applicazione, copiando la nuova versione del codice. Potremmo farlo cancellando la vecchia cartella della piattaforma e ricominciando da zero. Tuttavia, Briefcase offre un modo più semplice: è possibile aggiornare il codice dell'applicazione esistente:" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#, fuzzy +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Se Briefcase non riesce a trovare il modello impalcabile, invocherà automaticamente `create` per generare un nuovo scaffold." + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#, fuzzy +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Ora che abbiamo aggiornato il codice dell'installatore, possiamo eseguire `briefcase build` per ricompilare l'applicazione, `briefcase run` per eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare l'applicazione per la distribuzione." + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#, fuzzy +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3][tutorial-3], per il tutorial si consiglia di eseguire il pacchetto `briefcase` con il flag `--adhoc-sign` per evitare la complessità di impostare un'identità di firma del codice e mantenere il tutorial il più semplice possibile)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#, fuzzy +msgid "Update and run in one step" +msgstr "Aggiornamento ed esecuzione in un unico passaggio" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#, fuzzy +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Se state iterando rapidamente le modifiche al codice, è probabile che vogliate apportare una modifica al codice, aggiornare l'applicazione e rieseguirla immediatamente. Per la maggior parte degli scopi, la modalità sviluppatore (`briefcase dev``) è il modo più semplice per eseguire questo tipo di iterazione rapida; tuttavia, se si sta testando qualcosa sul modo in cui l'applicazione viene eseguita come binario nativo, o si sta cercando un bug che si manifesta solo quando l'applicazione è in forma pacchettizzata, potrebbe essere necessario utilizzare ripetute chiamate a `briefcase run`. Per semplificare il processo di aggiornamento ed esecuzione dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +#, fuzzy +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Proviamo a fare un'altra modifica. Si sarà notato che se non si digita un nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#, fuzzy +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "All'inizio del file, tra le importazioni e la definizione della `classe HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto appropriato a seconda del valore del nome fornito:" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#, fuzzy +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Quindi, modificare il callback `say_hello` per utilizzare questo nuovo metodo di utilità:" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#, fuzzy +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Eseguire l'applicazione in modalità di sviluppo (con `briefcase dev`) per verificare che la nuova logica funzioni; quindi aggiornare, compilare ed eseguire l'applicazione con un solo comando:" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#, fuzzy +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "Il comando package accetta anche l'argomento `-u`, per cui se si apporta una modifica al codice dell'applicazione e si desidera eseguire immediatamente il repackaging, si può eseguire `briefcase package -u`." + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "Ora abbiamo la nostra applicazione confezionata per la distribuzione su piattaforme desktop e siamo stati in grado di aggiornare il codice della nostra applicazione." + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +#, fuzzy +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Ma che dire della telefonia mobile? In [Tutorial 5][tutorial-5/index], convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..9ff5835d --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,257 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-13 12:12+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "Esercitazione 5 - Il mobile: Android" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#, fuzzy +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "Ora prenderemo la nostra applicazione e la distribuiremo come applicazione Android." + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#, fuzzy +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "Il processo di distribuzione di un'applicazione su Android è molto simile a quello di un'applicazione desktop. Briefcase gestisce l'installazione delle dipendenze per Android, tra cui l'SDK Android, l'emulatore Android e un compilatore Java." + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#, fuzzy +msgid "Create an Android app and compile it" +msgstr "Creare un'applicazione Android e compilarla" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#, fuzzy +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Per prima cosa, eseguire il comando `create`. Questo scarica un modello di applicazione Android e vi aggiunge il codice Python." + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#, fuzzy +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Quando si esegue `briefcase create android` per la prima volta, Briefcase scarica un JDK Java e l'SDK Android. Le dimensioni dei file e i tempi di download possono essere considerevoli; il download può richiedere un po' di tempo (10 minuti o più, a seconda della velocità della connessione a Internet). Al termine del download, verrà richiesto di accettare la licenza Android SDK di Google." + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#, fuzzy +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Una volta completata questa operazione, nel nostro progetto avremo una cartella `buildhelloworld\\android\\gradle`, che conterrà un progetto Android con una configurazione di compilazione Gradle. Questo progetto conterrà il codice dell'applicazione e un pacchetto di supporto contenente l'interprete Python." + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +#, fuzzy +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Possiamo quindi usare il comando `build` di Briefcase per compilare questo file in un'applicazione Android APK." + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +#, fuzzy +msgid "Gradle may look stuck" +msgstr "Gradle può sembrare bloccato" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +#, fuzzy +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Durante il passaggio `briefcase build android`, Gradle (lo strumento di creazione della piattaforma Android) stampa `CONFIGURING: 100%` e sembra non fare nulla. Non preoccupatevi, non è bloccato: sta scaricando altri componenti dell'SDK Android. A seconda della velocità della connessione a Internet, potrebbero essere necessari altri 10 minuti (o più). Questo ritardo dovrebbe verificarsi solo la prima volta che si esegue `build`; gli strumenti vengono memorizzati nella cache e nella compilazione successiva verranno utilizzate le versioni memorizzate nella cache." + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#, fuzzy +msgid "Run the app on a virtual device" +msgstr "Eseguire l'applicazione su un dispositivo virtuale" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +#, fuzzy +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Ora siamo pronti a eseguire la nostra applicazione. È possibile utilizzare il comando `run` di Briefcase per eseguire l'applicazione su un dispositivo Android. Cominciamo con l'esecuzione su un emulatore Android." + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#, fuzzy +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Per eseguire la vostra applicazione, eseguite `briefcase run android`. In questo modo, verrà richiesto un elenco di dispositivi su cui è possibile eseguire l'applicazione. L'ultima voce sarà sempre un'opzione per creare un nuovo emulatore Android." + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +#, fuzzy +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Ora possiamo scegliere il dispositivo desiderato. Selezionate l'opzione \"Crea un nuovo emulatore Android\" e accettate la scelta predefinita per il nome del dispositivo (`beePhone`)." + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +#, fuzzy +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` avvierà automaticamente il dispositivo virtuale. Quando il dispositivo si avvia, si vedrà il logo di Android:" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +#, fuzzy +msgid "Android virtual device booting" +msgstr "Avvio del dispositivo virtuale Android" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#, fuzzy +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "Una volta terminato l'avvio del dispositivo, Briefcase installerà l'applicazione sul dispositivo. Verrà visualizzata brevemente una schermata di avvio:" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +#, fuzzy +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Dispositivo virtuale Android completamente avviato, sulla schermata del launcher" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#, fuzzy +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "L'applicazione si avvia. Durante l'avvio dell'applicazione verrà visualizzata una schermata iniziale:" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +#, fuzzy +msgid "App splash screen" +msgstr "Schermata iniziale dell'app" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#, fuzzy +msgid "The emulator didn't start!" +msgstr "L'emulatore non si è avviato!" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#, fuzzy +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "L'emulatore Android è un software complesso che si basa su una serie di caratteristiche dell'hardware e del sistema operativo, caratteristiche che potrebbero non essere disponibili o abilitate su macchine più vecchie. In caso di difficoltà nell'avvio dell'emulatore Android, consultare la sezione [Requisiti e raccomandazioni]{1} della documentazione per sviluppatori Android." + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +#, fuzzy +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "Al primo avvio, l'applicazione deve scompattarsi sul dispositivo. Questa operazione può richiedere alcuni secondi. Una volta scompattata, verrà visualizzata la versione Android dell'applicazione desktop:" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#, fuzzy +msgid "App from Tutorial 2, fully launched" +msgstr "App dal Tutorial 2, completamente avviata" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#, fuzzy +msgid "Demo app fully launched" +msgstr "Applicazione demo completamente lanciata" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#, fuzzy +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Se non si riesce a vedere l'avvio dell'applicazione, potrebbe essere necessario controllare il terminale in cui è stato eseguito `briefcase run` e cercare eventuali messaggi di errore." + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#, fuzzy +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#, fuzzy +msgid "Run the app on a physical device" +msgstr "Eseguire l'applicazione su un dispositivo fisico" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#, fuzzy +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "Se si dispone di un telefono o di un tablet Android fisico, è possibile collegarlo al computer con un cavo USB e quindi utilizzare la valigetta per puntare al dispositivo fisico." + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#, fuzzy +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "Android richiede la preparazione del dispositivo prima di poterlo utilizzare per lo sviluppo. È necessario apportare due modifiche alle opzioni del dispositivo:" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#, fuzzy +msgid "Enable developer options" +msgstr "Abilitare le opzioni per gli sviluppatori" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#, fuzzy +msgid "Enable USB debugging" +msgstr "Abilitare il debug USB" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#, fuzzy +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "I dettagli su come apportare queste modifiche sono disponibili [nella documentazione per sviluppatori Android]{1}." + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#, fuzzy +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Una volta completati questi passaggi, il dispositivo dovrebbe apparire nell'elenco dei dispositivi disponibili quando si esegue `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#, fuzzy +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Qui possiamo vedere un nuovo dispositivo fisico con il suo numero di serie nell'elenco di distribuzione - in questo caso, un Pixel 3a. In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il numero di serie del telefono a Briefcase (in questo caso, `briefcase run android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul dispositivo, senza richiedere nulla." + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#, fuzzy +msgid "My device doesn't appear!" +msgstr "Il mio dispositivo non appare!" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#, fuzzy +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "Se il dispositivo non compare in questo elenco, significa che non è stato attivato il debug USB (oppure che il dispositivo non è collegato!)." + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#, fuzzy +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Se il dispositivo appare, ma è elencato come \"Dispositivo sconosciuto (non autorizzato per lo sviluppo)\", la modalità sviluppatore non è stata abilitata correttamente. Eseguire nuovamente [i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..7ef4949d --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,99 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-13 12:12+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "Esercitazione 5 - Il mobile: iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#, fuzzy +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "Una volta installato Xcode, possiamo prendere la nostra applicazione e distribuirla come applicazione iOS." + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +#, fuzzy +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "Il processo di distribuzione di un'applicazione su iOS è molto simile a quello per la distribuzione come applicazione desktop. Per prima cosa, si esegue il comando `create`, ma questa volta si specifica che si vuole creare un'applicazione iOS:" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#, fuzzy +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Una volta completata questa operazione, avremo una cartella `build/helloworld/ios/xcode` contenente un progetto Xcode, oltre alle librerie di supporto e al codice dell'applicazione necessario per l'applicazione." + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#, fuzzy +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Si può quindi usare Briefcase per compilare l'applicazione usando `briefcase build iOS`:" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#, fuzzy +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Ora siamo pronti a eseguire la nostra applicazione, usando `briefcase run iOS`. Verrà richiesto di selezionare un dispositivo per il quale compilare; se sono stati installati simulatori per più versioni dell'SDK di iOS, potrebbe anche essere richiesto quale versione di iOS si desidera utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle mostrate in questo output; come minimo, l'elenco dei dispositivi sarà diverso. Per i nostri scopi, non importa quale simulatore si sceglie." + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +#, fuzzy +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "Questo avvierà il simulatore iOS, installerà la vostra applicazione e la avvierà. Si dovrebbe vedere il simulatore avviarsi e alla fine aprire l'applicazione iOS:" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +#, fuzzy +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Esercitazione Hello World 5, su iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#, fuzzy +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a Briefcase di usare quel simulatore fornendo un'opzione `-d` (o `--device`). Utilizzando il nome del dispositivo selezionato al momento della creazione dell'applicazione, eseguite:" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#, fuzzy +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "Se sono disponibili più versioni di iOS, Briefcase sceglierà la versione di iOS più alta; se si vuole scegliere una versione di iOS in particolare, si dice di usare quella versione specifica:" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#, fuzzy +msgid "Or, you can name a specific device UDID:" +msgstr "In alternativa, è possibile assegnare un nome UDID a un dispositivo specifico:" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Per compilare le applicazioni iOS è necessario Xcode, disponibile gratuitamente sull [App Store di macOS]{1}." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgstr "" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..48d96b2e --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2024-02-13 12:12+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +#, fuzzy +msgid "Tutorial 5 - Taking it Mobile" +msgstr "Esercitazione 5 - Il mobile" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +#, fuzzy +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "Finora abbiamo eseguito e testato la nostra applicazione sul desktop. Tuttavia, BeeWare supporta anche le piattaforme mobili e l'applicazione che abbiamo scritto può essere distribuita anche sul vostro dispositivo mobile!" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +#, fuzzy +msgid "iOS applications can only be compiled on macOS." +msgstr "le applicazioni iOS possono essere compilate solo su macOS." + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#, fuzzy +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "Le applicazioni Android possono essere compilate su macOS, Windows o Linux." + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Costruiamo la nostra applicazione per iOS!][iOS]" + +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Costruiamo la nostra applicazione per Android!][android]" + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..aa8fee9e --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,106 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-02-13 11:48+0800\n" +"PO-Revision-Date: 2024-02-13 12:12+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language-Team: it \n" +"Language: it\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" +"Generated-By: Babel 2.14.0\n" +"X-Generator: Poedit 3.4.2\n" + +#: ../../tutorial/tutorial-6.rst:3 c77e893e0530491a9eea63edbbcd97d1 +#, fuzzy +msgid "Tutorial 6 - Put it on the web!" +msgstr "Tutorial 6 - Mettetelo sul web!" + +#: ../../tutorial/tutorial-6.rst:5 ba3b051ff3f8430b96e4400f32ae9214 +#, fuzzy +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "Oltre a supportare le piattaforme mobili, il toolkit di widget Toga supporta anche il Web! Utilizzando la stessa API usata per distribuire le applicazioni desktop e mobili, è possibile distribuire l'applicazione come applicazione web a pagina singola." + +#: ../../tutorial/tutorial-6.rst:9 a9e2e0b744a24ecbbcc3b27c1a3bfbee +#, fuzzy +msgid "Proof of Concept" +msgstr "Prova di concetto" + +#: ../../tutorial/tutorial-6.rst:11 cd58123453da41bda2a149916b923a2b +#, fuzzy +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "Il backend di Toga Web è il meno maturo di tutti i backend di Toga. È abbastanza maturo per mostrare alcune funzionalità, ma è probabile che sia pieno di bug e che manchino molti dei widget disponibili su altre piattaforme. In questo momento, l'implementazione del Web dovrebbe essere considerata una \"prova di concetto\": sufficiente per dimostrare ciò che si può fare, ma non abbastanza per fare affidamento su uno sviluppo serio." + +#: ../../tutorial/tutorial-6.rst:18 d70c9166dbb4459b98880013d46ec9c4 +#, fuzzy +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "Se avete problemi con questa fase del tutorial, potete passare alla pagina successiva." + +#: ../../tutorial/tutorial-6.rst:22 50afe509bb6d437481fbdf176bf6b374 +#, fuzzy +msgid "Deploying as a web app" +msgstr "Distribuzione come applicazione web" + +#: ../../tutorial/tutorial-6.rst:24 fe22b389fcd24950959ce1f3cbd42268 +#, fuzzy +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "Il processo di distribuzione come applicazione web a pagina singola segue lo stesso schema familiare: si crea l'applicazione, la si costruisce e la si esegue. Tuttavia, Briefcase può essere un po' intelligente; se si tenta di eseguire un'applicazione e Briefcase determina che non è stata creata o costruita per la piattaforma a cui è destinata, eseguirà le fasi di creazione e costruzione per voi. Poiché questa è la prima volta che eseguiamo l'applicazione per il Web, possiamo eseguire tutti e tre i passaggi con un solo comando:" + +#: ../../tutorial/tutorial-6.rst:34 08442cd504524177b2a8d6a0a33ef63e +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 940b0816d5ef42dc826edb06d68abf03 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 f3e6dd162ab74f44a184e14dfc2506f5 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 e62f6dea44a24de49600b7b2b9b6e3ca +#, fuzzy +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Si aprirà un browser web che punta a [http://127.0.0.1:8080](http://127.0.0.1:8080):" + +#: ../../tutorial/tutorial-6.rst:-1 f5801eb897c7486d8cebe14cb60393ea +#, fuzzy +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "Finestra di dialogo Hello World Tutorial 6, in un browser" + +#: ../../tutorial/tutorial-6.rst:154 ba244d1ce1af4838a08ca405e3a6a44e +#, fuzzy +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "Se si inserisce il proprio nome e si fa clic sul pulsante, viene visualizzata una finestra di dialogo." + +#: ../../tutorial/tutorial-6.rst:157 20a83da10a2c44e5a58f5a89852560e7 +msgid "How does this work?" +msgstr "Come funziona?" + +#: ../../tutorial/tutorial-6.rst:159 fe172eec14ff48e09bf660601f4eda7e +#, fuzzy +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Questa applicazione web è un sito web statico - una singola pagina sorgente HTML, con alcuni CSS e altre risorse. Briefcase ha avviato un server web locale per servire questa pagina, in modo che il browser possa visualizzarla. Se si volesse mettere in produzione questa pagina web, si potrebbe copiare il contenuto della cartella `www` su qualsiasi server web in grado di servire contenuti statici." + +#: ../../tutorial/tutorial-6.rst:165 cd4d0b53fe834650860a16b3f85fd352 +#, fuzzy +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Ma quando si preme il pulsante, si esegue codice Python... Come funziona? Toga utilizza [PyScript]{1} per fornire un interprete Python nel browser. Briefcase impacchetta il codice dell'applicazione come ruote che PyScript può caricare nel browser. Quando la pagina viene caricata, il codice dell'applicazione viene eseguito nel browser, costruendo l'interfaccia utente utilizzando il DOM del browser. Quando si fa clic su un pulsante, questo esegue il codice di gestione degli eventi nel browser." + +#: ../../tutorial/tutorial-6.rst:173 377320977bf14da0a7a0794a0e7353b4 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-6.rst:175 b07028ccc7aa474898a9ed21e4908c2e +#, fuzzy +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. Possiamo includere nella nostra applicazione le librerie del Python Package Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..36815f35 --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,380 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-02-13 12:13+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +#, fuzzy +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "Esercitazione 7 - Iniziare questa (terza) festa" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#, fuzzy +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "Finora, l'applicazione che abbiamo costruito ha utilizzato solo il nostro codice e quello fornito da BeeWare. Tuttavia, in un'applicazione reale, è probabile che si voglia utilizzare una libreria di terze parti, scaricata dal Python Package Index (PyPI)." + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#, fuzzy +msgid "Let's modify our app to include a third-party library." +msgstr "Modifichiamo la nostra applicazione per includere una libreria di terze parti." + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#, fuzzy +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Aggiungiamo una chiamata API `httpx` alla nostra applicazione. Aggiungiamo un'importazione all'inizio di `app.py` per importare `httpx`:" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Modificare quindi il callback `say_hello()` in modo che assomigli a questo:" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#, fuzzy +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "Eseguiamo la nostra applicazione aggiornata in modalità sviluppatore di Briefcase per verificare che la nostra modifica abbia funzionato." + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +#, fuzzy +msgid "iOS" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +#, fuzzy +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "Cosa è successo? Abbiamo aggiunto `httpx` al nostro *codice*, ma non l'abbiamo aggiunto al nostro ambiente virtuale di sviluppo. Possiamo risolvere il problema installando `httpx` con `pip` e poi eseguendo nuovamente `briefcase dev``:" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +#, fuzzy +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "Quando si inserisce un nome e si preme il pulsante, dovrebbe apparire una finestra di dialogo simile a questa:" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Esercitazione Hello World 7, su macOS" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "Esercitazione Hello World 7, su Linux" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "Finestra di dialogo Hello World Tutorial 7, su Windows" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#, fuzzy +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "Ora abbiamo un'applicazione funzionante, che utilizza una libreria di terze parti, in modalità di sviluppo!" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#, fuzzy +msgid "Running the updated app" +msgstr "Esecuzione dell'applicazione aggiornata" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Facciamo in modo che il codice aggiornato dell'applicazione venga confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "Aggiornare il codice dell'applicazione confezionata:" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "Ricostruire l'applicazione:" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#, fuzzy +msgid "And finally, run the app:" +msgstr "Infine, eseguire l'applicazione:" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console e una finestra di dialogo di arresto anomalo:" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "Arresto anomalo dell'applicazione Hello World Tutorial 7, su macOS" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console:" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Arresto anomalo dell'applicazione Hello World Tutorial 7, su Windows" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console:" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Ancora una volta, l'applicazione non è riuscita ad avviarsi perché `httpx` è stato installato - ma perché? Non abbiamo già installato `httpx`?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "È così, ma solo nell'ambiente di sviluppo. L'ambiente di sviluppo è interamente locale alla vostra macchina e viene attivato solo quando lo attivate esplicitamente. Anche se Briefcase ha una modalità di sviluppo, il motivo principale per cui si usa Briefcase è per impacchettare il codice in modo da poterlo dare a qualcun altro." + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "L'unico modo per garantire che qualcun altro abbia un ambiente Python che contiene tutto ciò di cui ha bisogno è costruire un ambiente Python completamente isolato. Questo significa che c'è un'installazione di Python completamente isolata e un insieme di dipendenze completamente isolato. Questo è ciò che Briefcase costruisce quando si lancia `briefcase build` - un ambiente Python isolato. Questo spiega anche perché `httpx` non è installato: è stato installato nell'ambiente di *sviluppo*, ma non nell'applicazione confezionata." + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "Quindi, dobbiamo dire a Briefcase che la nostra applicazione ha una dipendenza esterna." + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "Aggiornamento delle dipendenze" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "Nella directory principale dell'applicazione, c'è un file chiamato `pyproject.toml`. Questo file contiene tutti i dettagli di configurazione dell'applicazione forniti al momento dell'esecuzione di `briefcase new`." + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "il file `pyproject.toml` è suddiviso in sezioni; una delle sezioni descrive le impostazioni per l'applicazione:" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "L'opzione `requires` descrive le dipendenze della nostra applicazione. Si tratta di un elenco di stringhe, che specificano le librerie (e, opzionalmente, le versioni) delle librerie che si vogliono includere nella propria applicazione." + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modificare l'impostazione `requires` in modo che si legga:" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Aggiungendo questa impostazione, si dice a Briefcase \"quando costruisci la mia applicazione, esegui `pip install httpx` nel bundle dell'applicazione\". Qualsiasi cosa che sia un input legale per `pip install` può essere usato qui, quindi si può specificare:" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Una versione specifica della libreria (ad esempio, `\"httpx==0.19.0\"`);" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Un intervallo di versioni della libreria (ad esempio, `\"httpx>=0.19\"`);" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Un percorso a un repository git (ad esempio, `git+https://github.com/encode/httpx\"`); oppure" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#, fuzzy +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "Un percorso di file locale (tuttavia, attenzione: se si dà il codice a qualcun altro, questo percorso probabilmente non esisterà sulla sua macchina)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Più avanti in `pyproject.toml`, si noteranno altre sezioni che dipendono dal sistema operativo, come `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Queste sezioni hanno anche un'impostazione `requires`. Queste impostazioni consentono di definire dipendenze aggiuntive specifiche per la piattaforma; quindi, ad esempio, se si ha bisogno di una libreria specifica per la piattaforma per gestire alcuni aspetti dell'applicazione, si può specificare tale libreria nella sezione `requires` specifica per la piattaforma, e tale impostazione sarà utilizzata solo per quella piattaforma. Si noterà che le librerie `toga` sono tutte specificate nella sezione `requires` specifica della piattaforma, perché le librerie necessarie per visualizzare l'interfaccia utente sono specifiche della piattaforma." + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "Nel nostro caso, vogliamo che `httpx` sia installato su tutte le piattaforme, quindi usiamo l'impostazione `requires` a livello di applicazione. Le dipendenze a livello di applicazione saranno sempre installate; le dipendenze specifiche della piattaforma sono installate *in aggiunta* a quelle a livello di applicazione." + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Ora che abbiamo comunicato a Briefcase i nostri requisiti aggiuntivi, possiamo riprovare a pacchettizzare la nostra applicazione. Assicurarsi di aver salvato le modifiche a `pyproject.toml` e poi aggiornare di nuovo l'applicazione, questa volta inserendo il flag `-r`. Questo indica a Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Una volta effettuato l'aggiornamento, si può eseguire `briefcase build` e `briefcase run` e si dovrebbe vedere l'applicazione confezionata, con il nuovo comportamento della finestra di dialogo." + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "L'opzione `-r` per l'aggiornamento dei requisiti viene rispettata anche dai comandi `build` e `run`, quindi se si vuole aggiornare, compilare ed eseguire in un unico passaggio, si può usare `briefcase run -u -r`." + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Sulle piattaforme desktop (macOS, Windows, Linux), qualsiasi `pip` installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e web, [le opzioni sono leggermente limitate]{1}." + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#, fuzzy +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "BeeWare può fornire binari per alcuni moduli binari popolari (tra cui `numpy`, `pandas` e `cryptography`). È *di solito* possibile compilare pacchetti per le piattaforme mobili, ma non è facile da configurare, il che esula dallo scopo di un tutorial introduttivo come questo." + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "Accesso a un'API" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Un compito comune che un'applicazione deve svolgere è quello di fare una richiesta a un'API web per recuperare dati e mostrarli all'utente. Questa è un'applicazione giocattolo, quindi non abbiamo un'API *reale* con cui lavorare, quindi useremo l'API segnaposto [{JSON}]{1} come fonte di dati." + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "L'API {JSON} Placeholder ha una serie di endpoint API \"falsi\" che si possono usare come dati di prova. Una di queste API è l'endpoint `/posts/`, che restituisce finti post del blog. Se si apre `https://jsonplaceholder.typicode.com/posts/42` nel browser, si otterrà un payload JSON che descrive un singolo post - un contenuto [Lorum ipsum]{1} per un post di un blog con ID 42." + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "La libreria standard di Python contiene tutti gli strumenti necessari per accedere a un'API. Tuttavia, le API integrate sono di livello molto basso. Sono buone implementazioni del protocollo HTTP, ma richiedono all'utente di gestire molti dettagli di basso livello, come il reindirizzamento degli URL, le sessioni, l'autenticazione e la codifica del payload. Come \"normale utente di browser\", probabilmente siete abituati a dare per scontati questi dettagli, che il browser gestisce per voi." + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Di conseguenza, sono state sviluppate librerie di terze parti che avvolgono le API integrate e forniscono un'API più semplice e più vicina all'esperienza quotidiana del browser. Utilizzeremo una di queste librerie per accedere all'API {JSON} Placeholder: una libreria chiamata [httpx]{1}." + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Questo modificherà il callback `say_hello()` in modo che quando viene invocato, lo farà:" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "effettuare una richiesta GET all'API JSON dei segnaposto per ottenere il post 42;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "decodificare la risposta come JSON;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "estrarre il corpo del messaggio; e" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "includere il corpo di quel post come testo della finestra di dialogo." + +#~ msgid "Some binary packages may not be available" +#~ msgstr "Alcuni pacchetti binari potrebbero non essere disponibili" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "In breve, qualsiasi pacchetto *puro* Python (cioè i pacchetti che *non* contengono un modulo binario) può essere usato senza problemi. Tuttavia, se la vostra dipendenza contiene un componente binario, deve essere compilata; al momento, la maggior parte dei pacchetti Python non fornisce supporto alla compilazione per piattaforme non desktop." + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate [Tutorial 8][tutorial-8] per scoprirlo..." + diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..bc0de34a --- /dev/null +++ b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,376 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-02-13 12:13+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: it\n" +"Language-Team: it \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +#, fuzzy +msgid "Tutorial 8 - Making it Smooooth" +msgstr "Esercitazione 8 - Renderlo liscio" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +msgid "iOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "A meno che non si disponga di una connessione Internet *molto* veloce, si potrebbe notare che quando si preme il pulsante, l'interfaccia grafica dell'applicazione si blocca per un po'. Questo perché la richiesta web che abbiamo fatto è *sincrona*. Quando l'applicazione effettua la richiesta web, attende che l'API restituisca una risposta prima di continuare. Mentre aspetta, non permette all'applicazione di ridisegnare e di conseguenza l'applicazione si blocca." + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +#, fuzzy +msgid "GUI Event Loops" +msgstr "Loop di eventi della GUI" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#, fuzzy +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "Per capire perché questo accade, dobbiamo entrare nei dettagli del funzionamento di un'applicazione GUI. Le specifiche variano a seconda della piattaforma, ma i concetti di alto livello sono gli stessi, indipendentemente dalla piattaforma o dall'ambiente GUI utilizzato." + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#, fuzzy +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a:" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "Questo ciclo è chiamato *Event Loop*. (Non si tratta di nomi di metodi reali, ma di un'illustrazione di ciò che avviene in \"pseudo-codice\")." + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#, fuzzy +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Quando si fa clic su un pulsante, si trascina una barra di scorrimento o si digita un tasto, si genera un \"evento\". Questo \"evento\" viene inserito in una coda e l'applicazione elaborerà la coda di eventi quando ne avrà l'opportunità. Il codice utente che viene attivato in risposta all'evento è chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come parte della chiamata `process_events()`." + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +#, fuzzy +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Una volta che un'applicazione ha elaborato tutti gli eventi disponibili, essa `ridisegna()` la GUI. Questa operazione tiene conto di tutti i cambiamenti che gli eventi hanno causato alla visualizzazione dell'applicazione, nonché di qualsiasi altra cosa stia accadendo nel sistema operativo: ad esempio, le finestre di un'altra applicazione possono oscurare o rivelare parte della finestra della nostra applicazione, e il ridisegno della nostra applicazione dovrà riflettere la porzione di finestra attualmente visibile." + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#, fuzzy +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "Il dettaglio importante da notare: mentre un'applicazione sta elaborando un evento, *non può ridisegnare* e *non può elaborare altri eventi*." + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#, fuzzy +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "Ciò significa che qualsiasi logica utente contenuta in un gestore di eventi deve essere completata rapidamente. Qualsiasi ritardo nel completamento del gestore di eventi sarà osservato dall'utente come un rallentamento (o un arresto) degli aggiornamenti della GUI. Se il ritardo è sufficientemente lungo, il sistema operativo può segnalarlo come un problema: le icone \"beachball\" di macOS e \"spinner\" di Windows indicano che l'applicazione sta impiegando troppo tempo in un gestore di eventi." + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#, fuzzy +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "Operazioni semplici come \"aggiornare un'etichetta\" o \"ricalcolare il totale degli input\" sono facili da completare rapidamente. Tuttavia, ci sono molte operazioni che non possono essere completate rapidamente. Se si sta eseguendo un calcolo matematico complesso, o l'indicizzazione di tutti i file di un file system, o l'esecuzione di una richiesta di rete di grandi dimensioni, non è possibile \"farlo rapidamente\": le operazioni sono intrinsecamente lente." + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#, fuzzy +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "Quindi, come si eseguono operazioni di lunga durata in un'applicazione GUI?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#, fuzzy +msgid "Asynchronous programming" +msgstr "Programmazione asincrona" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#, fuzzy +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "Abbiamo bisogno di un modo per dire a un'applicazione, nel mezzo di un gestore di eventi di lunga durata, che va bene rilasciare temporaneamente il controllo al ciclo di eventi, a patto che si possa riprendere da dove si era interrotto. Spetta all'applicazione determinare quando questo rilascio può avvenire; ma se l'applicazione rilascia regolarmente il controllo al ciclo di eventi, possiamo avere un gestore di eventi di lunga durata *e* mantenere un'interfaccia utente reattiva." + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#, fuzzy +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "È possibile farlo utilizzando la *programmazione asincrona*. La programmazione asincrona è un modo per descrivere un programma che consente all'interprete di eseguire più funzioni contemporaneamente, condividendo le risorse tra tutte le funzioni in esecuzione simultanea." + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "Le funzioni asincrone (note come *co-routine*) devono essere dichiarate esplicitamente come asincrone. Inoltre, devono dichiarare internamente quando esiste la possibilità di cambiare contesto a un'altra co-routine." + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "In Python, la programmazione asincrona è implementata utilizzando le parole chiave `async` e `await` e il modulo [asyncio]{1} della libreria standard. La parola chiave `async` ci permette di dichiarare che una funzione è una co-routine asincrona. La parola chiave `await` fornisce un modo per dichiarare quando esiste l'opportunità di cambiare contesto a un'altra co-routine. Il modulo [asyncio]{1} fornisce altri strumenti e primitive utili per la codifica asincrona." + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "Rendere l'esercitazione asincrona" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#, fuzzy +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "In questo codice ci sono solo 4 modifiche rispetto alla versione precedente:" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#, fuzzy +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "Il client creato è un asincrono `AsyncClient()`, invece di un sincrono `Client()`. Questo indica a `httpx` che deve operare in modalità asincrona, anziché sincrona." + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#, fuzzy +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "Il gestore di contesto usato per creare il client è contrassegnato come `async`. Questo indica a Python che c'è l'opportunità di rilasciare il controllo quando il gestore di contesto viene inserito e abbandonato." + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "Toga consente di utilizzare metodi regolari o co-routine asincrone come gestori; Toga gestisce tutto dietro le quinte per assicurarsi che il gestore sia invocato o atteso come richiesto." + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "Se si salvano queste modifiche e si esegue nuovamente l'applicazione (con `briefcase dev` in modalità di sviluppo, oppure aggiornando ed eseguendo nuovamente l'applicazione confezionata), non ci saranno cambiamenti evidenti nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la finestra di dialogo, si possono notare alcuni sottili miglioramenti:" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#, fuzzy +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "Il pulsante torna a uno stato \"non cliccato\", anziché essere bloccato in uno stato \"cliccato\"." + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +#, fuzzy +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "L'icona \"beachball\"/\"spinner\" non appare" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#, fuzzy +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "Se si sposta/ridimensiona la finestra dell'applicazione mentre si attende la visualizzazione della finestra di dialogo, la finestra verrà ridisegnata." + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#, fuzzy +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "Se si tenta di aprire il menu di un'applicazione, il menu viene visualizzato immediatamente." + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "Prossimi passi" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "" + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Ora abbiamo un'applicazione che è efficiente e reattiva, anche quando è in attesa di un'API lenta. Ma come possiamo assicurarci che l'applicazione continui a funzionare mentre continuiamo a svilupparla? Come possiamo testare la nostra applicazione? Consultate [Tutorial 9][tutorial-9] per scoprirlo..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "Il metodo è definito come `async def`, invece che semplicemente `def`. Questo indica a Python che il metodo è una co-routine asincrona." + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "La chiamata `get` viene effettuata con la parola chiave `await`. Questo indica all'applicazione che, mentre si attende la risposta dalla rete, l'applicazione può rilasciare il controllo al ciclo degli eventi." + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +#~ msgstr "" + +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/how-to/index.po b/updated-locales/pt/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..14f23f77 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/index.po b/updated-locales/pt/LC_MESSAGES/index.po new file mode 100644 index 00000000..9f9f98e6 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/index.po @@ -0,0 +1,106 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2024-03-01 19:00+0000\n" +"Last-Translator: joaovitorpmoreira \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +msgid "Welcome to the BeeWare Tutorial!" +msgstr "Bem-vindo ao Tutorial da BeeWare!" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +msgid "**Write Python. Run Anywhere.**" +msgstr "**Escreva em Python. Execute em qualquer lugar.**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "Bem-vindo ao BeeWare! Neste tutorial, vamos construir uma interface gráfica usando Python e implantá-la como um aplicativo para desktop, como um aplicativo móvel e como um aplicativo web de página única (SPA). Também veremos como você pode usar as ferramentas da BeeWare para realizar algumas das tarefas comuns que você precisará fazer como desenvolvedor de apps, por exemplo, testar seu aplicativo." + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +msgid "Translations are available" +msgstr "Traduções estão disponíveis" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +#, fuzzy +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "Se você não se sente confortável com o Português, as traduções deste tutorial estão disponíveis em [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [English]{1}, e [汉语]{1}." + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +msgid "This is a machine translation!" +msgstr "Isso é uma tradução automática!" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "Esta versão do tutorial foi gerada por tradução automática. Sabemos que isso não é ideal, mas acreditamos que uma tradução ruim é melhor do que nenhuma tradução." + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Se você quiser ajudar a melhorar a tradução, entre em contato! Temos um canal `#translations` no [Discord]{1}. Apresente-se lá e nós o adicionaremos à equipe de tradução." + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +msgid "This is a translation!" +msgstr "Isso é uma tradução!" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "Este documento é uma tradução da versão em inglês. A tradução foi revisada por pessoas, mas seções mais recentes podem ser geradas por tradução automática, ou não traduzidas." + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +msgid "What is BeeWare?" +msgstr "O que é o BeeWare?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "O BeeWare não é um único produto, ferramenta ou biblioteca - é uma coleção de ferramentas e bibliotecas, cada uma das quais trabalha em conjunto para ajudar você a escrever aplicativos Python multiplataforma com uma interface gráfica nativa. Isso inclui:" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +#, fuzzy +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, um kit de ferramentas de widget multiplataforma;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#, fuzzy +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, uma ferramenta para empacotar projetos Python como pacotes distribuíveis que podem ser enviados aos usuários finais;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#, fuzzy +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acessar bibliotecas nativas da plataforma;" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "Versões pré-compiladas do Python estão disponíveis para plataformas onde instaladores oficiais do Python não estão disponíveis." + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "Neste tutorial, estaremos utilizando todas essas ferramentas, mas como usuário, você só precisará interagir com as duas primeiras (Toga e Briefcase). No entanto, cada uma das ferramentas também pode ser usada individualmente - por exemplo, você pode usar o Briefcase para implantar um aplicativo sem usar o Toga como um kit de ferramentas de interface gráfica (GUI)." + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "A suíte BeeWare está disponível no macOS, Windows, Linux (usando GTK); em plataformas móveis como Android e iOS; e para a Web." + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "Vamos lá!" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Pronto para experimentar o BeeWare por conta própria? [Vamos construir um aplicativo multiplataforma em Python!][tutorial/tutorial-0]" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..ea38dbd2 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "" + +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#~ msgstr "" + +#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." +#~ msgstr "" + +#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..de970751 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,148 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2024-02-13 12:06+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#, fuzzy +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "Até agora, nosso aplicativo tem usado um ícone padrão de \"abelha cinza\". Como podemos atualizar o aplicativo para usar nosso próprio ícone?" + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#, fuzzy +msgid "Adding an icon" +msgstr "Adição de um ícone" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**Em breve**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Agora temos um aplicativo com um ícone personalizado em nossa área de trabalho e em nosso telefone! Como podemos compartilhar esse aplicativo com outras pessoas? Consulte o [Tutorial 11][tutorial-11] para descobrir..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "Tutorial 10 - Crie seu próprio aplicativo" + +#~ msgid "Next steps" +#~ msgstr "Próximos passos" + +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..06d82d63 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,68 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: pt\n" +"Language-Team: pt \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "" + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "" + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "" + +#~ msgid "Want to go deeper on specific topics? Here are some additional standalone tutorials that demonstrate common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#~ msgstr "" + +#~ msgid "Customizing icons" +#~ msgstr "" + +#~ msgid "Customizing icons:" +#~ msgstr "" + +#~ msgid "Customize your application's appearance by replace the default \"gray bee\" icon." +#~ msgstr "" + +#~ msgid "Custom icons" +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..d848afda --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,151 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2024-02-13 12:07+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +#, fuzzy +msgid "Testing times" +msgstr "Tutorial 9 - Hora dos Testes" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#, fuzzy +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "A maior parte do desenvolvimento de software não envolve a gravação de um novo código, mas sim a modificação do código existente. Garantir que o código existente continue a funcionar da maneira esperada é uma parte fundamental do processo de desenvolvimento de software. Uma maneira de garantir o comportamento do nosso aplicativo é com um *conjunto de testes*." + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#, fuzzy +msgid "Running the test suite" +msgstr "Executar o conjunto de testes" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#, fuzzy +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Acontece que nosso projeto já tem um conjunto de testes! Quando geramos nosso projeto originalmente, foram gerados dois diretórios de nível superior: `src` e `tests`. A pasta `src` contém o código do nosso aplicativo; a pasta `tests` contém nosso conjunto de testes. Dentro da pasta `tests` há um arquivo chamado `test_app.py` com o seguinte conteúdo:" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#, fuzzy +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Este é um [Pytest]{1} *caso de teste* - um bloco de código que pode ser executado para verificar algum comportamento do seu aplicativo. Nesse caso, o teste é um espaço reservado e não testa nada sobre nosso aplicativo, mas é um teste que podemos executar." + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#, fuzzy +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Podemos executar esse conjunto de testes usando a opção `--test` do `briefcase dev`. Como esta é a primeira vez que estamos executando testes, também precisamos passar a opção `-r` para garantir que os requisitos de teste também sejam instalados:" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#, fuzzy +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "Sucesso! Acabamos de executar um único teste que verifica se a matemática Python funciona da maneira esperada (que alívio!)." + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#, fuzzy +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Vamos substituir esse teste de espaço reservado por um teste para verificar se o nosso método `greeting()` se comporta da maneira esperada. Substitua o conteúdo de `test_app.py` pelo seguinte:" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#, fuzzy +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "Isso define dois novos testes, verificando os dois comportamentos que esperamos ver: a saída quando um nome é fornecido e a saída quando o nome está vazio." + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#, fuzzy +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Agora podemos executar novamente o conjunto de testes. Dessa vez, não precisamos fornecer a opção `-r`, pois os requisitos de teste já foram instalados; precisamos apenas usar a opção `--test`:" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#, fuzzy +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Excelente! Nosso método utilitário `greeting()` está funcionando como esperado." + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#, fuzzy +msgid "Test driven development" +msgstr "Desenvolvimento orientado por testes" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#, fuzzy +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Agora que temos um conjunto de testes, podemos usá-lo para impulsionar o desenvolvimento de novos recursos. Vamos modificar nosso aplicativo para ter uma saudação especial para um determinado usuário. Podemos começar adicionando um caso de teste para o novo comportamento que gostaríamos de ver na parte inferior do `test_app.py`:" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#, fuzzy +msgid "Then, run the test suite with this new test:" +msgstr "Em seguida, execute o conjunto de testes com esse novo teste:" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#, fuzzy +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Dessa vez, vemos uma falha no teste - e a saída explica a origem da falha: o teste está esperando a saída \"BeeWare the IDEs of Python!\", mas nossa implementação de `greeting()` está retornando \"Hello, Brutus\". Vamos modificar a implementação de `greeting()` em `src/helloworld/app.py` para obter o novo comportamento:" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#, fuzzy +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "Se executarmos os testes novamente, veremos que nossos testes foram aprovados:" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#, fuzzy +msgid "Runtime tests" +msgstr "Testes de tempo de execução" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#, fuzzy +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "Até o momento, estamos executando os testes no modo de desenvolvimento. Isso é especialmente útil quando se está desenvolvendo novos recursos, pois é possível iterar rapidamente na adição de testes e na adição de código para que esses testes sejam aprovados. No entanto, em algum momento, você desejará verificar se o seu código também é executado corretamente no ambiente do aplicativo de pacote." + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#, fuzzy +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "As opções `--test` e `-r` também podem ser passadas para o comando `run`. Se você usar `briefcase run --test -r`, o mesmo conjunto de testes será executado, mas dentro do pacote de aplicativos empacotados, e não no seu ambiente de desenvolvimento:" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#, fuzzy +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Como no caso do `briefcase dev --test`, a opção `-r` só é necessária na primeira vez em que você executa o conjunto de testes para garantir que as dependências de teste estejam presentes. Nas execuções subsequentes, você pode omitir essa opção." + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#, fuzzy +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Você também pode usar a opção `--test` em back-ends móveis: - assim, `briefcase run iOS --test` e `briefcase run android --test` funcionarão, executando o conjunto de testes no dispositivo móvel que você selecionar." + +#~ msgid "Next steps" +#~ msgstr "Próximos passos" diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..af03e762 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,239 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2024-03-04 19:01+0000\n" +"Last-Translator: joaovitorpmoreira \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +msgid "Tutorial 0 - Let's get set up!" +msgstr "Tutorial 0 - Vamos nos preparar!" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "Antes de criarmos nosso primeiro aplicativo BeeWare, precisamos garantir que tenhamos todos os pré-requisitos para executar o BeeWare." + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +msgid "Install Python" +msgstr "Instalando o Python" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "A primeira coisa que precisaremos é de um interpretador Python instalado e funcionando." + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#, fuzzy +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#, fuzzy +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Existem várias maneiras diferentes de instalar o Python. Você pode instalar o Python através do [homebrew]{1}. Pode usar o [pyenv]{1} para gerenciar várias instalações do Python na mesma máquina. Usuários do Windows podem instalar o Python pela Windows App Store. Usuários com foco em ciência de dados podem preferir utilizar o [Anaconda]{1} ou o [Miniconda]{1}." + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Se você estiver usando Linux, será necessário instalar o Python por meio do gerenciador de pacotes do sistema ([apt` no Debian/Ubuntu/Mint, `dnf` no Fedora, ou `pacman` no Arch)." + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "Certifique-se de que a versão do Python do sistema seja 3.8 ou mais recente. Se não for (por exemplo, o Ubuntu 18.04 é fornecido com o Python 3.6), será necessário atualizar a distribuição Linux para uma versão mais recente." + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from `the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Se você estiver usando macOS ou Windows, não importa a *forma* que usou ao instalar o Python. o importante é ter um interpretador Python operando ao executar o comando `python3` no prompt de comando/terminal do seu sistema operacional." + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +msgid "Install dependencies" +msgstr "Instale as dependências" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "Em seguida, instale as dependências adicionais necessárias para o seu sistema operacional:" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +msgid "Building BeeWare apps on macOS requires:" +msgstr "Para criar aplicativos BeeWare no macOS, é necessário:" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "Para dar suporte ao desenvolvimento local, será necessário instalar alguns pacotes do sistema. A lista de pacotes necessários pode variar de acordo com a sua distribuição:" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#, fuzzy +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu 20.04+ / Debian 10+**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#, fuzzy +msgid "**Arch / Manjaro**" +msgstr "**Arch, Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +msgid "Building BeeWare apps on Windows requires:" +msgstr "Para criar aplicativos BeeWare no Windows, é necessário:" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, um sistema de controle de versão. Você pode baixar o Git em [git-scm.com]{1}." + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "Após instalar essas ferramentas, é importante reiniciar qualquer sessão de terminal. No Windows, apenas os terminais iniciados *após* a conclusão da instalação mostrarão as ferramentas recém-instaladas." + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +msgid "Set up a virtual environment" +msgstr "Configurar um ambiente virtual" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "Agora vamos criar um ambiente virtual - uma \"sandbox\" que podemos usar para isolar nosso trabalho neste tutorial de nossa instalação principal do Python. Se instalarmos pacotes no ambiente virtual, nossa instalação principal do Python (e qualquer outro projeto Python em nosso computador) não será afetada. Se bagunçarmos completamente nosso ambiente virtual, podemos simplesmente excluí-lo e começar novamente, sem afetar nenhum outro projeto Python em nosso computador e sem a necessidade de reinstalar o Python." + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +msgid "Errors running PowerShell Scripts" +msgstr "Erros ao executar scripts do PowerShell" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Se você estiver usando o PowerShell e receber o erro:" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "Sua conta do Windows não possui permissões para executar scripts. Para corrigir isso:" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Execute `set-executionpolicy RemoteSigned`" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +msgid "Select `Y` to change the execution policy." +msgstr "Selecione `Y` para alterar a política de execução." + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Depois de fazer isso, você pode executar novamente o comando `beeware-venv\\Scripts\\activate.ps1` na mesma janela do PowerShell em que você fez as alterações nas permissões (a janela original) ou em uma nova janela do PowerShell no mesmo diretório." + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Se isso funcionou, seu prompt deve estar diferente agora - ele deve ter um prefixo `(beeware-venv)`. Isso indica que você está atualmente no seu ambiente virtual BeeWare. Sempre que estiver trabalhando neste tutorial, certifique-se de que seu ambiente virtual esteja ativado. Se não estiver, execute novamente o último comando (o comando `activate`) para reativar seu ambiente." + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +msgid "Alternative virtual environments" +msgstr "Ambientes virtuais alternativos" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Caso esteja usando o Anaconda ou Miniconda, você pode estar mais familiarizado com o uso de ambientes conda. Você também deve ter ouvido falar do `virtualenv`, um antecessor do módulo `venv` integrado ao Python. Da mesma forma que as instalações do Python - se você estiver no macOS ou Windows, não importa *como* você cria seu ambiente virtual, desde que tenha um. Se estiver no Linux, é recomendado usar o `venv` e o Python do sistema." + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Agora que configuramos nosso ambiente, estamos prontos para [criar nossa primeira aplicação BeeWare][tutorial-1]." + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "Execute o Windows PowerShell como Administrador." + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "**Git**, um sistema de controle de versão. Ele está incluso no Xcode ou nas ferramentas de linha de comando, que você instalou acima." + +#~ msgid "Alternative Python distributions" +#~ msgstr "Distribuições Alternativas do Python" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "Caso esteja no Linux, é recomendado utilizar o Python fornecido pelo seu sistema operacional. Embora seja possível concluir *a maior parte* deste tutorial utilizando uma versão não integrada ao sistema, você não conseguirá empacotar sua aplicação para distribuição a outros." + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "Se você estiver usando o macOS, uma versão recente do Python já está incluída no Xcode ou nas ferramentas de linha de comando. Para verificar se você já o possui, execute o seguinte comando:" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "Se o Python estiver instalado, você verá o número da versão. Caso contrário, será solicitado que instale as ferramentas de linha de comando para desenvolvedores." + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..9d25c4d6 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,194 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-03-04 19:01+0000\n" +"Last-Translator: joaovitorpmoreira \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +msgid "Tutorial 1 - Your first app" +msgstr "Tutorial 1 - Seu primeiro app" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +msgid "We're ready to create our first application." +msgstr "Estamos prontos para criar nossa primeira aplicação." + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +msgid "Install the BeeWare tools" +msgstr "Instale as ferramentas do BeeWare" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Primeiro, precisamos instalar o **Briefcase**. Briefcase é uma ferramenta do BeeWare que pode ser usada para empacotar sua aplicação para distribuição aos usuários finais - mas também pode ser usada para iniciar um novo projeto. Certifique-se de estar no diretório `beeware-tutorial` que você criou no [Tutorial 0][tutorial-0], com o ambiente virtual `beeware-venv` ativado, e execute:" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +msgid "Possible errors during installation" +msgstr "Possíveis erros durante a instalação" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Se você encontrar erros durante a instalação, é bem provável que alguns dos requisitos do sistema não estejam instalados. Certifique-se de ter [instalado todas os pré-requisitos da plataforma ][install-dependencies]." + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "É importante usar o comando `python -m pip`, em vez de apenas `pip`. Isso porque o Briefcase precisa garantir que as versões do `pip` e `setuptools` estejam atualizadas, pois o `pip` usado sozinho não consegue se atualizar. Se quiser entender melhor o motivo, o [Brett Cannon escreveu um post detalhado no blog dele]{1}." + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +msgid "Bootstrap a new project" +msgstr "Iniciar um novo projeto" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Vamos começar nosso primeiro projeto BeeWare! Usaremos o comando `new` do Briefcase para criar um aplicativo chamado **Hello World**. Execute o seguinte comando no seu prompt de comando/terminal:" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "O Briefcase solicitará alguns detalhes sobre nosso novo aplicativo. Para os propósitos deste tutorial, utilize o seguinte:" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formal Name** - Aceite o valor padrão: `Hello World`." + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** - Aceite o valor padrão: `helloworld`." + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#, fuzzy +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Se você possui seu próprio domínio, insira esse domínio invertido. (Por exemplo, se você possui o domínio \"cupcakes.com\", insira `com.cupcakes` como nome do bundle). Se você não possui seu próprio domínio, aceite o padrão (`com.example`)." + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Project Name** - Aceite o valor padrão: `Hello World`." + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**Description** - Aceite o valor padrão (ou, se quiser ser realmente criativo, crie sua própria descrição!)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +msgid "**Author** - Enter your own name here." +msgstr "**Author** - Insira seu próprio nome." + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#, fuzzy +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "**Author's email** - Insira seu próprio endereço de e-mail. Ele será usado no arquivo de configuração, em textos de ajuda e em qualquer lugar onde um e-mail seja necessário ao enviar o aplicativo para uma loja de aplicativos." + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#, fuzzy +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - A URL da página inicial do seu aplicativo. Novamente, se você possui seu próprio domínio, insira uma URL nesse domínio (incluindo o `https://`). Caso contrário, apenas aceite a URL padrão (`https://example.com/helloworld`). Esta URL não precisa realmente existir (por enquanto); ela será usada apenas se você publicar sua aplicação em uma loja de aplicativos." + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#, fuzzy +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "**License** - Aceite o valor padrão (BSD). Isso não afetará nada sobre o funcionamento do tutorial. Se você tem preferências particulares em relação à escolha de licença, sinta-se à vontade para escolher outra licença." + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**GUI framework** - Aceite a opção padrão, Toga (a própria biblioteca de interface gráfica da BeeWare)." + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "O Briefcase então gerará uma estrutura básica de projeto para você usar. Se você seguiu este tutorial até agora e aceitou as configurações padrão como descrito, seu sistema de arquivos deve se parecer com algo assim:" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Essa estrutura atual já é um aplicativo totalmente funcional sem adicionar mais nada. A pasta `src` contém todo o código do aplicativo, a pasta `tests` contém uma suíte de testes inicial, e o arquivo `pyproject.toml` descreve como empacotar o aplicativo para distribuição. Se você abrir o `pyproject.toml` em um editor, verá os detalhes de configuração que você acabou de fornecer ao Briefcase." + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "Agora que temos um aplicativo inicial, podemos usar o Briefcase para executar a aplicação." + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +msgid "Run the app in developer mode" +msgstr "Inicie o app no modo de desenvolvedor" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Vá para o diretório do projeto `helloworld` e peça ao Briefcase para iniciar o projeto no modo de Desenvolvedor (ou `dev`):" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +msgid "This should open a GUI window:" +msgstr "Isso deve abrir uma janela GUI:" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "Janela do Tutorial 1 `Hello World`, no macOS" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "Janela do Tutorial 1 `Hello World`, no Linux" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "Janela do Tutorial 1 `Hello World`, no Windows" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#, fuzzy +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "Pressione o botão de fechar (ou selecione `Sair` no menu do aplicativo) e pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em Python!" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. Podemos adicionar alguma lógica própria para tornar nosso aplicativo um pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma interface de usuário mais útil em nossa aplicação." + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "Uma das ferramentas do BeeWare é o Briefcase. O Briefcase pode ser usado para empacotar sua aplicação para distribuição aos usuários finais - mas ele também pode ser usado para iniciar um novo projeto." + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..4adfeaa3 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,266 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-07 15:02+0000\n" +"Last-Translator: joaovitorpmoreira \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +msgid "Tutorial 2 - Making it interesting" +msgstr "Tutorial 2 - Tornando as coisas interessantes" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "No [Tutorial 1][tutorial-1], geramos um projeto inicial que executava, mas não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que foi criado para nós." + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +msgid "What was generated" +msgstr "O que foi gerado" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "No diretório `src/helloworld`, você deverá ver 3 arquivos: `__init__.py`, `__main__.py` e `app.py`." + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` torna o diretório `helloworld` um módulo Python importável. Trata-se de um arquivo vazio; sua simples existência indica ao interpretador Python que há um módulo definido pelo diretório `helloworld`." + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` define o módulo `helloworld` como um tipo especial de módulo - um módulo executável. Ao tentar executar o módulo `helloworld` usando `python -m helloworld`, o Python iniciará a execução no arquivo `__main__.py`. O conteúdo de `__main__.py` é relativamente simples:" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#, fuzzy +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "Isto é - ele importa o método `main` do aplicativo `helloworld`; quando executado como ponto de entrada, esse método main() é chamado, dando início ao loop principal da aplicação. Nesse loop, a aplicação de interface gráfica (GUI) espera pelas interações do usuário (como cliques do mouse e pressionamentos de teclas)." + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "O arquivo mais interessante é o `app.py` - nele está contido a lógica que cria a janela da nossa aplicação:" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +msgid "Let's go through this line by line:" +msgstr "Vamos analisar isso linha por linha:" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#, fuzzy +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Primeiro, importamos a biblioteca de widgets `toga`, juntamente com algumas classes e constantes que são úteis para o estilo. Por enquanto, nosso código ainda não faz uso delas, mas em breve começaremos a utilizá-las." + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +msgid "Then, we define a class:" +msgstr "Em seguida, definimos uma classe:" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Cada aplicação Toga possui uma única instância chamada `toga.App`, que representa o aplicativo em si sendo executado. A aplicação pode acabar gerenciando várias janelas; mas para aplicativos simples, haverá uma única janela principal." + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +msgid "Next, we define a `startup()` method:" +msgstr "Depois, definimos um método chamado `startup()`:" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "A primeira coisa que o método startup() faz é definir um container principal. O esquema de layout do Toga se comporta de maneira semelhante ao HTML. A construção de uma aplicação se dá por meio da criação de uma coleção de containers, cada um contendo outros containers ou os widgets propriamente dito. Depois, você aplica estilos a esses containers para definir como vão usar o espaço na janela." + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "Neste aplicativo, definimos um único container, mas não colocamos nada dentro dele." + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Em seguida, definimos uma janela na qual podemos colocar o container vazio:" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#, fuzzy +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Isso cria uma instância de `toga.MainWindow`, que terá um título correspondente ao nome do aplicativo. A MainWindow (Janela Principal) é um tipo especial de janela no Toga, pois está intimamente ligada ao ciclo de vida da aplicação. Quando a MainWindow é fechada, a aplicação também se encerra. Além disso, a MainWindow também é a janela que contém o menu do aplicativo (se você estiver em uma plataforma como o Windows, onde as barras de menu fazem parte da janela)" + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Então, adicionamos nosso container vazio como conteúdo da janela principal e instruímos o aplicativo a mostrar nossa janela:" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#, fuzzy +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Por último, definimos um método chamado `main()`. Isso é o que cria a instância de nossa aplicação:" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "O método `main()` é aquele que é importado e chamado pelo arquivo `__main__.py`. Ele cria e retorna uma instância da nossa aplicação `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "Essa é a aplicação Toga mais básica possível. Vamos agora integrar conteúdo personalizado à aplicação e torná-la mais interessante." + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +msgid "Adding some content of our own" +msgstr "Adicionando conteúdo personalizado" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#, fuzzy +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Não remova as importações já feitas no topo do arquivo ou o `main()` ao final. Você só precisa atualizar a classe `HelloWorld`." + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modifique sua classe `HelloWorld` dentro de `src/helloworld/app.py` para que fique assim:" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +msgid "Let's look in detail at what has changed." +msgstr "Vamos ver em detalhes o que mudou." + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Ainda estamos fazendo o container principal; porém, agora estamos aplicando um estilo:" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#, fuzzy +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "O Toga possui um sistema de layout interno denominado \"Pack\". Seu funcionamento se assemelha ao CSS. Você define objetos em uma hierarquia - no HTML, os objetos são `
` e ``, e outros elementos do DOM; enquanto no Toga, são widgets e containers. Estilos podem ser atribuídos a cada elemento individualmente. Neste caso específico, estamos indicando que o container é um `'COLUMN'` - isto é, ele ocupará toda a largura disponível e aumentará sua altura à medida que conteúdo for adicionado, porém buscando sempre ser o mais compacto possível." + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +msgid "Next, we define a couple of widgets:" +msgstr "A seguir, vamos definir dois widgets:" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#, fuzzy +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "Nesta etapa, definimos um Label e um TextInput. Ambos os widgets possuem estilos associados; o Label terá 5px de preenchimento à esquerda e à direita, e nenhum preenchimento na parte superior e inferior. O TextInput é marcado como flexível, ou seja, ele absorverá todo o espaço disponível em seu eixo de layout." + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "O TextInput é atribuído como uma variável de instância da classe. Isso nos permite acessar facilmente a instância do widget, o que será utilizado em breve." + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +msgid "Next, we define a box to hold these two widgets:" +msgstr "Após isso, definimos um container para colocar esses dois widgets:" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#, fuzzy +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "A container `name_box` é parecido com o container principal, só que agora ele é do tipo `ROW`. Isso significa que o conteúdo será adicionado horizontalmente e tentará ficar o mais estreito possível. Esse container também possui preenchimento - 5px em todos os lados." + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +msgid "Now we define a button:" +msgstr "Agora definimos um botão:" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +#, fuzzy +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "O botão também possui 5px de preenchimento em todos os lados. Além disso, definimos um *gatilho* - um método a ser invocado quando o botão for pressionado." + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +msgid "Then, we add the name box and the button to the main box:" +msgstr "Então, adicionamos o container name_box e o botão ao container principal:" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#, fuzzy +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Com isso, finalizamos o layout; o restante do código do método startup() permanece como antes - definindo uma MainWindow (Janela principal) e a atribuição do container principal como conteúdo dessa janela:" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#, fuzzy +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "A última etapa consiste na definição do gatilho do botão. Um gatilho pode ser qualquer método, gerador ou corrotina assíncrona; ele aceita como argumento o widget que gerou o evento e será invocado sempre que o botão for pressionado:" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "O corpo do método é uma simples instrução de impressão. No entanto, ele consultará o valor atual do campo de entrada de nome e usará esse conteúdo como o texto a ser impresso." + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "Ao concluirmos essas alterações, podemos visualizar o resultado reiniciando a aplicação. Seguindo o procedimento anterior, utilizaremos o modo de desenvolvedor:" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#, fuzzy +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Dessa vez, você vai reparar que as dependências *não são* instaladas. O Briefcase consegue identificar se o app já foi aberto antes e, pra economizar tempo, só executa ele. Se você adicionar novas dependências, pode garantir que elas sejam instaladas usando a opção `-r` quando executar o comando `briefcase dev`." + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "This should open a GUI window:" +msgstr "Isso deve abrir uma janela GUI:" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "Tutorial 2: Janela \"Hello World\", no macOS" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "Tutorial 2: Janela \"Hello World\", no Linux" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "Tutorial 2: Janela \"Hello World\", no Windows" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "Se você escrever um nome na caixa de texto e clicar no botão da interface, vai ver uma mensagem aparecer no console onde você abriu a aplicação." + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela somente funciona em nosso computador. Vamos empacotar esta aplicação para distribuição. No [Tutorial 3][tutorial-3], encapsularemos nossa aplicação em um instalador independente, que poderemos enviar a amigos, clientes ou publicar em uma App Store." + +#~ msgid "Lets do something more interesting with our `HelloWorld` app." +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..27cbfc75 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,292 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2024-03-04 19:01+0000\n" +"Last-Translator: joaovitorpmoreira \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +msgid "Tutorial 3 - Packaging for distribution" +msgstr "Tutorial 3 - Empacotando para Distribuição" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "Até o momento, executamos nossa aplicação no \"modo de desenvolvedor\". Isso facilita a execução da nossa aplicação localmente - mas o que realmente queremos é poder fornecer nossa aplicação para outras pessoas." + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "Entretanto, não queremos ter que ensinar aos nossos usuários como instalar o Python, criar um ambiente virtual, clonar um repositório git e executar o Briefcase no modo de desenvolvedor. Queremos é fornecer um instalador, garantindo a execução imediata da aplicação." + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "O Briefcase pode ser usado para empacotar sua aplicação para distribuição dessa maneira." + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +msgid "Creating your application scaffold" +msgstr "Criando a estrutura da sua aplicação" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Como esta é a primeira vez que estamos empacotando nossa aplicação, precisamos criar alguns arquivos de configuração e outras estruturas de suporte ao processo de empacotamento. No diretório `helloworld`, execute:" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "É provável que você tenha observado uma grande quantidade de texto passando pelo seu terminal... mas o que exatamente aconteceu? O Briefcase fez o seguinte:" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "Ele **gerou um modelo de aplicação** (template). Existem muitos arquivos e configurações necessárias para construir um instalador nativo, além do código da sua aplicação. Essa estrutura extra é quase igual para todas as aplicações na mesma plataforma, exceto pelo nome da aplicação que está sendo construída - um modelo de aplicação (template) é fornecido pelo Briefcase para cada plataforma que ele suporta. Esta etapa implementa o modelo, substituindo o nome da sua aplicação, ID do pacote e outras propriedades do seu arquivo de configuração conforme necessário para suportar a plataforma na qual você está construindo." + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "Caso o modelo fornecido pelo Briefcase não seja satisfatório, é possível você fornecer um modelo próprio. Entretanto, é recomendável que isso não seja feito antes de se obter maior familiaridade com o modelo padrão do Briefcase." + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#, fuzzy +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "Ele **baixou e instalou um pacote de suporte**. A abordagem de empacotamento adotada pelo Briefcase é melhor descrita como \"a coisa mais simples que poderia funcionar\" - ele inclui um interpretador Python completo e isolado como parte de cada aplicativo criado. Isso apresenta uma ligeira ineficiência em termos de espaço - se você tiver 5 aplicativos empacotados com o Briefcase, terá 5 cópias do interpretador Python. No entanto, essa abordagem garante que cada aplicação seja completamente independente, usando uma versão específica do Python que comprovadamente funciona com tal aplicação." + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "Novamente, o Briefcase fornece um pacote de suporte padrão para cada plataforma; entretanto, caso deseje, você pode fornecer seu próprio pacote de suporte e incluí-lo como parte do processo de construção. Isso pode ser útil se você necessita de opções específicas habilitadas no interpretador Python, ou se deseja remover módulos da biblioteca padrão que não são necessários em tempo de execução." + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "O Briefcase mantém um cache local de pacotes de suporte. Portanto, uma vez que você tenha baixado um pacote de suporte específico, essa cópia armazenada será utilizada em compilações futuras." + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Ele **instalou os requisitos da aplicação**. Seu aplicativo pode especificar quaisquer módulos de terceiros necessários em tempo de execução. Estes serão instalados utilizando o `pip` no instalador da sua aplicação." + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "Ele **instalou o código da sua aplicação**. Sua aplicação terá seu próprio código e recursos (por exemplo, imagens necessárias em tempo de execução); estes arquivos são copiados para o instalador." + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "Ele **instalou os recursos requeridos pela sua aplicação.** Por fim, são adicionados recursos adicionais requeridos pelo próprio instalador. Isso inclui elementos como ícones que serão anexados à aplicação final e imagens de tela de abertura." + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Assim que concluído, ao verificar o diretório do projeto, você deverá encontrar um diretório correspondente à sua plataforma (`macOS`, `linux` ou `windows`) contendo arquivos adicionais. Esta é a configuração de empacotamento específica para a plataforma da sua aplicação." + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +msgid "Building your application" +msgstr "Compilando sua aplicação" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "Agora você pode compilar sua aplicação. Este passo executa qualquer compilação binária necessária para que sua aplicação seja executável na plataforma de destino." + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "No macOS, o comando `build` não necessita *compilar* nada, mas precisa assinar o conteúdo do binário para que ele possa ser executado. Essa assinatura é do tipo *ad hoc* - só funcionará no *seu* computador. Se você deseja distribuir a aplicação para outras pessoas, será necessário fornecer uma assinatura completa." + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Após a conclusão dessa etapa, a pasta `build` conterá uma pasta `helloworld-0.0.1` com uma estrutura semelhante ao sistema de arquivos `/usr` do Linux. Ela conterá uma pasta `bin` com um binário `helloworld`, além das pastas `lib` e `share` necessárias para dar suporte ao binário." + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "No Windows, o comando `build` não precisa *compilar* nada, mas é preciso registrar alguns metadados para que a aplicação reconheça seu nome, versão e outras coisas assim." + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +msgid "Triggering antivirus" +msgstr "Notificação de antivírus" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Como esses metadados estão sendo gravados diretamente no binário pré-compilado que sai do modelo durante o comando `create`, isso pode acionar o software antivírus em execução no computador e impedir que os metadados sejam gravados. Nesse caso, instrua o antivírus a permitir que a ferramenta (denominada `rcedit-x64.exe`) seja executada e execute novamente o comando acima." + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +msgid "Running your app" +msgstr "Rodando sua aplicação" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +msgid "You can now use Briefcase to run your application:" +msgstr "Agora você pode utilizar o Briefcase para executar sua aplicação:" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#, fuzzy +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Isso iniciará a execução de seu aplicativo nativo, usando a saída do comando `build`." + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#, fuzzy +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "Você pode notar algumas pequenas diferenças na aparência do seu aplicativo quando ele estiver em execução. Por exemplo, os ícones e o nome exibidos pelo sistema operacional podem ser ligeiramente diferentes daqueles vistos durante a execução no modo de desenvolvedor. Isso também ocorre porque você está usando o aplicativo empacotado, e não apenas executando o código Python. Do ponto de vista do sistema operacional, agora você está executando \"um aplicativo\", não \"um programa Python\", e isso se reflete na aparência do aplicativo." + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +msgid "Building your installer" +msgstr "Criando o seu instalador" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#, fuzzy +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Agora você pode empacotar seu aplicativo para distribuição, usando o comando `package`. O comando package faz qualquer compilação necessária para converter o projeto de andaime em um produto final e distribuível. Dependendo da plataforma, isso pode envolver a compilação de um instalador, a execução de assinatura de código ou outras tarefas de pré-distribuição." + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#, fuzzy +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "A pasta `dist` conterá um arquivo chamado `Hello World-0.0.1.dmg`. Se você localizar esse arquivo no Finder e clicar duas vezes em seu ícone, montará o DMG, fornecendo uma cópia do aplicativo Hello World e um link para a pasta Applications para facilitar a instalação. Arraste o arquivo do aplicativo para Applications e você terá instalado o aplicativo. Envie o arquivo DMG para um amigo e ele poderá fazer o mesmo." + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#, fuzzy +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#, fuzzy +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "A saída da etapa do pacote será ligeiramente diferente, dependendo de sua distribuição Linux. Se estiver em uma distribuição derivada do Debian, você verá:" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#, fuzzy +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "A pasta `dist` conterá o arquivo `.deb` que foi gerado." + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#, fuzzy +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "Se estiver em uma distribuição baseada em RHEL, você verá:" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#, fuzzy +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "A pasta `dist` conterá o arquivo `.rpm` que foi gerado." + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#, fuzzy +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "Se estiver em uma distribuição baseada no Arch, você verá:" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#, fuzzy +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "A pasta `dist` conterá o arquivo `.pkg.tar.zst` que foi gerado." + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#, fuzzy +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "No momento, não há suporte para o empacotamento de outras distribuições do Linux." + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#, fuzzy +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "Se quiser criar um pacote para uma distribuição Linux diferente da que você está usando, o Briefcase também pode ajudar, mas você precisará instalar o Docker." + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#, fuzzy +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Os instaladores oficiais do [Docker Engine]{1} estão disponíveis para uma série de distribuições Unix. Siga as instruções para sua plataforma; no entanto, certifique-se de não instalar o Docker no modo \"sem raiz\"." + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#, fuzzy +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "Depois de instalar o Docker, você deve ser capaz de iniciar um contêiner Linux - por exemplo:" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#, fuzzy +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "mostrará um prompt do Unix (algo como `root@84444e31cff9:/#`) dentro de um contêiner do Docker do Ubuntu 22.04. Digite Ctrl-D para sair do Docker e retornar ao seu shell local." + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#, fuzzy +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "Depois de instalar o Docker, você pode usar o Briefcase para criar um pacote para qualquer distribuição Linux compatível com o Briefcase, passando uma imagem do Docker como argumento. Por exemplo, para criar um pacote DEB para o Ubuntu 22.04 (Jammy), independentemente do sistema operacional em que você estiver, execute:" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#, fuzzy +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Isso fará o download da imagem do Docker para o sistema operacional selecionado, criará um contêiner capaz de executar as compilações do Briefcase e compilará o pacote do aplicativo dentro da imagem. Após a conclusão, a pasta `dist` conterá o pacote para a distribuição Linux de destino." + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#, fuzzy +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#, fuzzy +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Quando essa etapa for concluída, a pasta `dist` conterá um arquivo chamado `Hello_World-0.0.1.msi`. Se você clicar duas vezes nesse instalador para executá-lo, deverá passar por um processo familiar de instalação do Windows. Após a conclusão da instalação, haverá uma entrada \"Hello World\" em seu menu Iniciar." + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop. Mas o que acontece quando precisamos atualizar o código em nosso aplicativo? Como podemos colocar essas atualizações em nosso aplicativo empacotado? Consulte o [Tutorial 4][./tutorial-4] para descobrir..." + +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..57d290db --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,175 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2024-02-13 12:08+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +msgid "Tutorial 4 - Updating your application" +msgstr "Tutorial 4 - Atualizando sua aplicação" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#, fuzzy +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "No último tutorial, empacotamos nosso aplicativo como um aplicativo nativo. Se estiver lidando com um aplicativo do mundo real, esse não será o fim da história - você provavelmente fará alguns testes, descobrirá problemas e precisará fazer algumas alterações. Mesmo que o seu aplicativo seja perfeito, você eventualmente desejará publicar a versão 2 do seu aplicativo com melhorias." + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#, fuzzy +msgid "So - how do you update your installed app when you make code changes?" +msgstr "Então, como você atualiza o aplicativo instalado quando faz alterações no código?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#, fuzzy +msgid "Updating application code" +msgstr "Atualização do código do aplicativo" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#, fuzzy +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "Atualmente, nosso aplicativo imprime no console quando você pressiona o botão. No entanto, os aplicativos de GUI não devem realmente usar o console para saída. Eles precisam usar caixas de diálogo para se comunicar com os usuários." + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#, fuzzy +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Vamos adicionar uma caixa de diálogo para dizer olá, em vez de escrever no console. Modifique o retorno de chamada `say_hello` para que ele tenha a seguinte aparência:" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#, fuzzy +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "Isso instrui o Toga a abrir uma caixa de diálogo modal quando o botão é pressionado." + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#, fuzzy +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Se você executar `briefcase dev`, digitar um nome e pressionar o botão, verá a nova caixa de diálogo:" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Caixa de diálogo do Hello World Tutorial 4, no macOS" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Diálogo do tutorial 4 do Hello World, no Linux" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Caixa de diálogo Hello World Tutorial 4, no Windows" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#, fuzzy +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "No entanto, se você executar o `briefcase run`, a caixa de diálogo não será exibida." + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +#, fuzzy +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Por que isso acontece? Bem, o `briefcase dev` opera executando seu código no local - ele tenta produzir o ambiente de tempo de execução mais realista possível para seu código, mas não fornece nem usa nenhuma infraestrutura da plataforma para empacotar seu código como um aplicativo. Parte do processo de empacotamento do aplicativo envolve a cópia do código *para* o pacote de aplicativos e, no momento, o aplicativo ainda contém o código antigo." + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#, fuzzy +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "Portanto, precisamos dizer ao briefcase para atualizar seu aplicativo, copiando a nova versão do código. Poderíamos fazer isso excluindo o diretório da plataforma antiga e começando do zero. No entanto, o Briefcase oferece uma maneira mais fácil: você pode atualizar o código do seu aplicativo empacotado existente:" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#, fuzzy +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Se o Briefcase não conseguir encontrar o modelo de andaime, ele invocará automaticamente o `create` para gerar um novo andaime." + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#, fuzzy +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Agora que atualizamos o código do instalador, podemos executar o `briefcase build` para recompilar o aplicativo, o `briefcase run` para executar o aplicativo atualizado e o `briefcase package` para reembalar o aplicativo para distribuição." + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#, fuzzy +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(Usuários do macOS, lembrem-se de que, conforme observado em [Tutorial 3][tutorial-3], para o tutorial, recomendamos executar o `briefcase package` com o sinalizador `--adhoc-sign` para evitar a complexidade da configuração de uma identidade de assinatura de código e manter o tutorial o mais simples possível)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#, fuzzy +msgid "Update and run in one step" +msgstr "Atualize e execute em uma única etapa" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#, fuzzy +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Se estiver iterando rapidamente as alterações no código, provavelmente desejará fazer uma alteração no código, atualizar o aplicativo e executá-lo novamente de imediato. Para a maioria das finalidades, o modo de desenvolvedor (`briefcase dev`) será a maneira mais fácil de fazer esse tipo de iteração rápida; no entanto, se estiver testando algo sobre como o aplicativo é executado como um binário nativo ou procurando um bug que só se manifesta quando o aplicativo está no formato empacotado, talvez seja necessário usar chamadas repetidas para `briefcase run`. Para simplificar o processo de atualização e execução do aplicativo empacotado, o Briefcase tem um atalho para suportar esse padrão de uso - a opção `-u` (ou `--update`) no comando `run`." + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +#, fuzzy +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Vamos tentar fazer outra alteração. Você deve ter notado que, se não digitar um nome na caixa de entrada de texto, a caixa de diálogo dirá \"Hello, \". Vamos modificar a função `say_hello` novamente para lidar com esse caso extremo." + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#, fuzzy +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "Na parte superior do arquivo, entre as importações e a definição da `classe HelloWorld`, adicione um método utilitário para gerar uma saudação apropriada, dependendo do valor do nome que foi fornecido:" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#, fuzzy +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Em seguida, modifique a chamada de retorno `say_hello` para usar esse novo método utilitário:" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#, fuzzy +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Execute seu aplicativo no modo de desenvolvimento (com `briefcase dev`) para confirmar que a nova lógica funciona; em seguida, atualize, crie e execute o aplicativo com um único comando:" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#, fuzzy +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "O comando package também aceita o argumento `-u`, portanto, se você fizer uma alteração no código do aplicativo e quiser reempacotar imediatamente, poderá executar `briefcase package -u`." + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop e conseguimos atualizar o código em nosso aplicativo." + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +#, fuzzy +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Mas e quanto ao celular? No [Tutorial 5][tutorial-5/index], converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..ef92d378 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,255 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-13 12:09+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "Tutorial 5 - Levando para o Mobile: Android" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#, fuzzy +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "Agora, vamos pegar nosso aplicativo e implantá-lo como um aplicativo Android." + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#, fuzzy +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "O processo de implementação de um aplicativo no Android é muito semelhante ao processo de implementação como um aplicativo de desktop. O Briefcase lida com a instalação de dependências para o Android, incluindo o SDK do Android, o emulador do Android e um compilador Java." + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#, fuzzy +msgid "Create an Android app and compile it" +msgstr "Criar um aplicativo Android e compilá-lo" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#, fuzzy +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Primeiro, execute o comando `create`. Isso faz o download de um modelo de aplicativo Android e adiciona seu código Python a ele." + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#, fuzzy +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Quando você executa o `briefcase create android` pela primeira vez, o Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos arquivos e o tempo de download podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a Internet). Quando o download for concluído, você será solicitado a aceitar a licença do Android SDK do Google." + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#, fuzzy +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Quando isso for concluído, teremos um diretório `build\\helloworld\\android\\gradle` em nosso projeto, que conterá um projeto Android com uma configuração de compilação do Gradle. Esse projeto conterá o código do seu aplicativo e um pacote de suporte que contém o interpretador Python." + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +#, fuzzy +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Em seguida, podemos usar o comando `build` do Briefcase para compilar isso em um arquivo de aplicativo APK para Android." + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +#, fuzzy +msgid "Gradle may look stuck" +msgstr "O Gradle pode parecer travado" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +#, fuzzy +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Durante a etapa `briefcase build android`, o Gradle (a ferramenta de compilação da plataforma Android) imprimirá `CONFIGURING: 100%` e parecerá não estar fazendo nada. Não se preocupe, ele não está travado - está baixando mais componentes do Android SDK. Dependendo da velocidade da sua conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que você executar o `build`; as ferramentas são armazenadas em cache e, na próxima compilação, as versões armazenadas em cache serão usadas." + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#, fuzzy +msgid "Run the app on a virtual device" +msgstr "Execute o aplicativo em um dispositivo virtual" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +#, fuzzy +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Agora estamos prontos para executar nosso aplicativo. Você pode usar o comando `run` do Briefcase para executar o aplicativo em um dispositivo Android. Vamos começar com a execução em um emulador de Android." + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#, fuzzy +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Para executar seu aplicativo, execute `briefcase run android`. Ao fazer isso, será exibida uma lista de dispositivos nos quais você pode executar o aplicativo. O último item sempre será uma opção para criar um novo emulador de Android." + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +#, fuzzy +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Agora podemos escolher o dispositivo desejado. Selecione a opção \"Create a new Android emulator\" e aceite a opção padrão para o nome do dispositivo (`beePhone`)." + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +#, fuzzy +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "O `run` do Briefcase inicializará automaticamente o dispositivo virtual. Quando o dispositivo estiver sendo inicializado, você verá o logotipo do Android:" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +#, fuzzy +msgid "Android virtual device booting" +msgstr "Inicialização do dispositivo virtual Android" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#, fuzzy +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "Quando o dispositivo terminar a inicialização, o Briefcase instalará seu aplicativo no dispositivo. Você verá brevemente uma tela de inicialização:" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +#, fuzzy +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Dispositivo virtual Android totalmente iniciado, na tela do iniciador" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#, fuzzy +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "Em seguida, o aplicativo será iniciado. Você verá uma tela inicial enquanto o aplicativo é iniciado:" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +#, fuzzy +msgid "App splash screen" +msgstr "Tela inicial do aplicativo" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#, fuzzy +msgid "The emulator didn't start!" +msgstr "O emulador não foi iniciado!" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#, fuzzy +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "O emulador do Android é um software complexo que depende de vários recursos de hardware e do sistema operacional - recursos que podem não estar disponíveis ou habilitados em máquinas mais antigas. Se tiver alguma dificuldade para iniciar o emulador do Android, consulte a seção \"Requisitos e recomendações\" da documentação do desenvolvedor do Android." + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +#, fuzzy +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "Na primeira vez que o aplicativo é iniciado, ele precisa ser descompactado no dispositivo. Isso pode levar alguns segundos. Depois de descompactado, você verá a versão para Android do nosso aplicativo para desktop:" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#, fuzzy +msgid "App from Tutorial 2, fully launched" +msgstr "Aplicativo do Tutorial 2, totalmente lançado" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#, fuzzy +msgid "Demo app fully launched" +msgstr "Aplicativo de demonstração totalmente lançado" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#, fuzzy +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário verificar o terminal em que você executou o `briefcase run` e procurar mensagens de erro." + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#, fuzzy +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "No futuro, se você quiser executar nesse dispositivo sem usar o menu, poderá fornecer o nome do emulador ao Briefcase, usando `briefcase run android -d @beePhone` para executar diretamente no dispositivo virtual." + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#, fuzzy +msgid "Run the app on a physical device" +msgstr "Execute o aplicativo em um dispositivo físico" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#, fuzzy +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "Se você tiver um telefone ou tablet Android físico, poderá conectá-lo ao seu computador com um cabo USB e, em seguida, usar o Briefcase para direcionar seu dispositivo físico." + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#, fuzzy +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "O Android exige que você prepare seu dispositivo antes que ele possa ser usado para desenvolvimento. Você precisará fazer duas alterações nas opções do seu dispositivo:" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#, fuzzy +msgid "Enable developer options" +msgstr "Ativar opções de desenvolvedor" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#, fuzzy +msgid "Enable USB debugging" +msgstr "Ativar a depuração USB" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#, fuzzy +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Detalhes sobre como fazer essas alterações podem ser encontrados [na documentação do desenvolvedor do Android]{1}." + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#, fuzzy +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando você executar o `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#, fuzzy +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Aqui podemos ver um novo dispositivo físico com seu número de série na lista de implantação - neste caso, um Pixel 3a. No futuro, se quiser executar nesse dispositivo sem usar o menu, você poderá fornecer o número de série do telefone ao Briefcase (nesse caso, `briefcase run android -d 94ZZY0LNE8`). Isso será executado diretamente no dispositivo, sem avisos." + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#, fuzzy +msgid "My device doesn't appear!" +msgstr "Meu dispositivo não aparece!" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#, fuzzy +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "Se o seu dispositivo não aparecer nessa lista, você não ativou a depuração USB (ou o dispositivo não está conectado!)." + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#, fuzzy +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Se o seu dispositivo aparecer, mas estiver listado como \"Dispositivo desconhecido (não autorizado para desenvolvimento)\", o modo de desenvolvedor não foi ativado corretamente. Execute novamente [as etapas para ativar as opções de desenvolvedor]{1} e execute novamente `briefcase run android`." + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..fba83ccb --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,97 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-02-13 12:08+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "Tutorial 5 - Levando para o Mobile: iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#, fuzzy +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "Depois de instalar o Xcode, podemos pegar nosso aplicativo e implantá-lo como um aplicativo iOS." + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +#, fuzzy +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "O processo de implantação de um aplicativo no iOS é muito semelhante ao processo de implantação como um aplicativo de desktop. Primeiro, você executa o comando `create`, mas, desta vez, especificamos que queremos criar um aplicativo iOS:" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#, fuzzy +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Quando isso for concluído, teremos um diretório `build/helloworld/ios/xcode` contendo um projeto Xcode, bem como as bibliotecas de suporte e o código do aplicativo necessários para o aplicativo." + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#, fuzzy +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Em seguida, você pode usar o Briefcase para compilar o aplicativo usando `briefcase build iOS`:" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#, fuzzy +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Agora estamos prontos para executar nosso aplicativo, usando o `briefcase run iOS`. Será solicitado que você selecione um dispositivo para o qual compilar; se você tiver simuladores para várias versões do SDK do iOS instalados, também poderá ser perguntado qual versão do iOS deseja usar como alvo. As opções mostradas a você podem ser diferentes das opções mostradas nesta saída - no mínimo, a lista de dispositivos provavelmente será diferente. Para nossos propósitos, não importa qual simulador você escolherá." + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +#, fuzzy +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "Isso iniciará o simulador do iOS, instalará seu aplicativo e o iniciará. Você deverá ver o simulador iniciar e, por fim, abrir seu aplicativo iOS:" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +#, fuzzy +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Janela do tutorial 5 do Hello World, no iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#, fuzzy +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Se você souber antecipadamente qual simulador de iOS deseja usar, poderá dizer ao Briefcase para usar esse simulador fornecendo uma opção `-d` (ou `--device`). Usando o nome do dispositivo que você selecionou ao criar o aplicativo, execute:" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#, fuzzy +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "Se você tiver várias versões do iOS disponíveis, o Briefcase escolherá a versão mais alta do iOS; se você quiser escolher uma versão específica do iOS, diga a ele para usar essa versão específica:" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#, fuzzy +msgid "Or, you can name a specific device UDID:" +msgstr "Ou você pode nomear um UDID de dispositivo específico:" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Para compilar aplicativos iOS, precisaremos do Xcode, que está disponível gratuitamente [na macOS App Store]{1}." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgstr "" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..7ffb13c6 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,50 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2024-03-01 19:00+0000\n" +"Last-Translator: joaovitorpmoreira \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +msgid "Tutorial 5 - Taking it Mobile" +msgstr "Tutorial 5 - Levando para o Mobile" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "Até agora, executamos e testamos nosso aplicativo no desktop. No entanto, o BeeWare também oferece suporte a plataformas móveis, e o aplicativo que escrevemos também pode ser implantado em seu dispositivo móvel!" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +msgid "iOS applications can only be compiled on macOS." +msgstr "os aplicativos iOS só podem ser compilados no macOS." + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "Os aplicativos Android podem ser compilados no macOS, Windows ou Linux." + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Vamos criar nosso aplicativo para iOS!][iOS]" + +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Vamos criar nosso aplicativo para Android!][android]" + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..69007428 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,108 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-24 17:48+0800\n" +"PO-Revision-Date: 2024-02-13 12:08+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language-Team: Portuguese \n" +"Language: pt\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" +"X-Generator: Poedit 3.4.2\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-6.rst:3 86ed1df7b28e481184dcee23d0e7da6f +msgid "Tutorial 6 - Put it on the web!" +msgstr "Tutorial 6 - Coloque na web!" + +#: ../../tutorial/tutorial-6.rst:5 c76e1152ed1b46d4b1c9a217c2fd5e6e +#, fuzzy +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "Além de oferecer suporte a plataformas móveis, o kit de ferramentas de widget Toga também oferece suporte à Web! Usando a mesma API que você usou para implantar seus aplicativos de desktop e móveis, você pode implantar seu aplicativo como um aplicativo da Web de página única." + +#: ../../tutorial/tutorial-6.rst:9 adc62943ecc54b35b15e0601d0e8946a +#, fuzzy +msgid "Proof of Concept" +msgstr "Prova de conceito" + +#: ../../tutorial/tutorial-6.rst:11 c56e6544da5e4f80aa672f9139458d5a +#, fuzzy +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "O backend do Toga Web é o menos maduro de todos os backends do Toga. Ele está maduro o suficiente para exibir alguns recursos, mas é provável que apresente bugs e não tenha muitos dos widgets disponíveis em outras plataformas. Neste momento, a implementação na Web deve ser considerada uma \"Prova de Conceito\" - o suficiente para demonstrar o que pode ser feito, mas não o suficiente para ser usado em um desenvolvimento sério." + +#: ../../tutorial/tutorial-6.rst:18 ce4a8e59bf48498c8c689a4b147c44a6 +#, fuzzy +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "Se você tiver problemas com esta etapa do tutorial, pule para a próxima página." + +#: ../../tutorial/tutorial-6.rst:22 3edb2c92ee8e44dc9605a927694b2ae2 +#, fuzzy +msgid "Deploying as a web app" +msgstr "Implementação como um aplicativo Web" + +#: ../../tutorial/tutorial-6.rst:24 529524a7da844e78b40470efe6b6acc4 +#, fuzzy +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "" +"O processo de implementação como um aplicativo da Web de página única segue o mesmo padrão familiar - você cria o aplicativo, constrói o aplicativo e, em seguida, o executa. No entanto, o Briefcase pode ser um pouco inteligente; se você tentar executar um aplicativo e o Briefcase determinar que ele não foi criado ou compilado para a plataforma que está sendo visada, ele executará as etapas de criação e compilação para você. Como esta é a primeira vez que executamos o aplicativo para a " +"Web, podemos executar todas as três etapas com um único comando:" + +#: ../../tutorial/tutorial-6.rst:34 f735de1635d5496e914177c0ac70f5d4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 9c5a07798eb44b90852231de5cd48d84 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 b47bbba97a354fa8a875469360a24df8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 0034a6c6fdf54c2ea2cd4cc09384f99d +#, fuzzy +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Isso abrirá um navegador da Web, apontando para [http://127.0.0.1:8080](http://127.0.0.1:8080):" + +#: ../../tutorial/tutorial-6.rst:-1 497aa7152b48453ba4b2c1f28cab0817 +#, fuzzy +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "Diálogo do tutorial 6 do Hello World em um navegador" + +#: ../../tutorial/tutorial-6.rst:154 f6966e6cbed24009afff1d3b2c72f532 +#, fuzzy +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "Se você digitar seu nome e clicar no botão, será exibida uma caixa de diálogo." + +#: ../../tutorial/tutorial-6.rst:157 e7d3d45f2609402bb1ad8b0c26e3d00d +msgid "How does this work?" +msgstr "Como isso funciona?" + +#: ../../tutorial/tutorial-6.rst:159 94a41e02bcb447d8865ed42d40deb712 +#, fuzzy +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Este aplicativo da Web é um site estático - uma única página de origem HTML, com alguns recursos CSS e outros. O Briefcase iniciou um servidor da Web local para servir essa página para que o seu navegador possa visualizá-la. Se você quiser colocar essa página da Web em produção, poderá copiar o conteúdo da pasta `www` em qualquer servidor da Web que possa servir conteúdo estático." + +#: ../../tutorial/tutorial-6.rst:165 457368c5d7494291b2411badef1db4ac +#, fuzzy +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "" +"Mas quando você pressiona o botão, está executando código Python... como isso funciona? O Toga usa o [PyScript]{1} para fornecer um interpretador Python no navegador. O Briefcase empacota o código do seu aplicativo como rodas que o PyScript pode carregar no navegador. Quando a página é carregada, o código do aplicativo é executado no navegador, criando a interface do usuário usando o DOM do navegador. Quando você clica em um botão, esse botão executa o código de " +"manipulação de eventos no navegador." + +#: ../../tutorial/tutorial-6.rst:173 122d17f0ad0d4e8ab0e442f96fad590b +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-6.rst:175 212de898d2df409dbbc74628b3ba00f4 +#, fuzzy +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos móveis e na Web, ele é bastante simples e não envolve bibliotecas de terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em nosso aplicativo? Consulte o [Tutorial 7][tutorial-7] para descobrir..." diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..b082cef3 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,378 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-02-13 12:07+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "Tutorial 7 - Iniciando o uso de bibliotecas externas" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#, fuzzy +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "Até o momento, o aplicativo que criamos usou apenas o nosso próprio código, além do código fornecido pelo BeeWare. Entretanto, em um aplicativo do mundo real, você provavelmente desejará usar uma biblioteca de terceiros, baixada do Python Package Index (PyPI)." + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#, fuzzy +msgid "Let's modify our app to include a third-party library." +msgstr "Vamos modificar nosso aplicativo para incluir uma biblioteca de terceiros." + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#, fuzzy +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Vamos adicionar uma chamada de API `httpx` ao nosso aplicativo. Adicione uma importação na parte superior do `app.py` para importar `httpx`:" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Em seguida, modifique a chamada de retorno `say_hello()` para que fique assim:" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#, fuzzy +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "Vamos executar nosso aplicativo atualizado no modo de desenvolvedor do Briefcase para verificar se nossa alteração funcionou." + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +#, fuzzy +msgid "iOS" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +#, fuzzy +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "O que aconteceu? Adicionamos o `httpx` ao nosso *código*, mas não o adicionamos ao nosso ambiente virtual de desenvolvimento. Podemos corrigir isso instalando o `httpx` com o `pip` e, em seguida, executando novamente o `briefcase dev`:" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +#, fuzzy +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "Ao inserir um nome e pressionar o botão, você verá uma caixa de diálogo semelhante:" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Caixa de diálogo do tutorial 7 do Hello World, no macOS" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "Diálogo do tutorial 7 do Hello World, no Linux" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "Caixa de diálogo Hello World Tutorial 7, no Windows" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#, fuzzy +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "Agora temos um aplicativo funcional, usando uma biblioteca de terceiros, em execução no modo de desenvolvimento!" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#, fuzzy +msgid "Running the updated app" +msgstr "Executando o aplicativo atualizado" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Vamos empacotar esse código de aplicativo atualizado como um aplicativo autônomo. Como fizemos alterações no código, precisamos seguir as mesmas etapas do [Tutorial 4][tutorial-4]:" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "Atualize o código no aplicativo empacotado:" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "Reconstrua o aplicativo:" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#, fuzzy +msgid "And finally, run the app:" +msgstr "E, por fim, execute o aplicativo:" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console, além de uma caixa de diálogo de falha:" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "Falha no aplicativo Hello World Tutorial 7, no macOS" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console:" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Falha no aplicativo Hello World Tutorial 7, no Windows" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console:" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Mais uma vez, o aplicativo não foi iniciado porque o `httpx` foi instalado - mas por quê? Já não instalamos o `httpx`?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "Temos, mas somente no ambiente de desenvolvimento. O ambiente de desenvolvimento é totalmente local em seu computador e só é ativado quando você o ativa explicitamente. Embora o Briefcase tenha um modo de desenvolvimento, a principal razão pela qual você usaria o Briefcase é para empacotar o seu código para que você possa fornecê-lo a outra pessoa." + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "A única maneira de garantir que outra pessoa tenha um ambiente Python que contenha tudo o que ela precisa é criar um ambiente Python completamente isolado. Isso significa que há uma instalação completamente isolada do Python e um conjunto completamente isolado de dependências. Isso é o que o Briefcase está construindo quando você executa o `briefcase build` - um ambiente Python isolado. Isso também explica por que o `httpx` não está instalado - ele foi instalado em seu ambiente de *desenvolvimento*, mas não no aplicativo empacotado." + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "Portanto, precisamos informar ao Briefcase que nosso aplicativo tem uma dependência externa." + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "Atualização de dependências" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "No diretório raiz do seu aplicativo, há um arquivo chamado `pyproject.toml`. Esse arquivo contém todos os detalhes de configuração do aplicativo que você forneceu quando executou originalmente o `briefcase new`." + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "o `pyproject.toml` é dividido em seções; uma das seções descreve as configurações do seu aplicativo:" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "A opção `requires` descreve as dependências do nosso aplicativo. É uma lista de cadeias de caracteres, especificando as bibliotecas (e, opcionalmente, as versões) das bibliotecas que você deseja incluir em seu aplicativo." + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modifique a configuração `requires` para que fique assim:" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Ao adicionar essa configuração, estamos dizendo ao Briefcase \"quando você compilar meu aplicativo, execute `pip install httpx` no pacote de aplicativos\". Qualquer coisa que seja uma entrada legal para `pip install` pode ser usada aqui - portanto, você poderia especificar:" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Uma versão específica da biblioteca (por exemplo, `\"httpx==0.19.0\"`);" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Um intervalo de versões de biblioteca (por exemplo, `\"httpx>=0.19\"`);" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Um caminho para um repositório git (por exemplo, `\"git+https://github.com/encode/httpx\"`); ou" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#, fuzzy +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "Um caminho de arquivo local (no entanto, esteja avisado: se você fornecer seu código a outra pessoa, esse caminho provavelmente não existirá no computador dela!)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Mais abaixo no `pyproject.toml`, você notará outras seções que dependem do sistema operacional, como `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Essas seções *também* têm uma configuração `requires`. Essas configurações permitem definir dependências adicionais específicas da plataforma. Assim, por exemplo, se você precisar de uma biblioteca específica da plataforma para lidar com algum aspecto do seu aplicativo, poderá especificar essa biblioteca na seção `requires` específica da plataforma, e essa configuração será usada somente para essa plataforma. Você notará que as bibliotecas `toga` são todas especificadas na seção `requires` específica da plataforma - isso ocorre porque as bibliotecas necessárias para exibir uma interface de usuário são específicas da plataforma." + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "No nosso caso, queremos que o `httpx` seja instalado em todas as plataformas, portanto, usamos a configuração `requires` em nível de aplicativo. As dependências no nível do aplicativo sempre serão instaladas; as dependências específicas da plataforma são instaladas *além* das dependências no nível do aplicativo." + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Agora que informamos o Briefcase sobre nossos requisitos adicionais, podemos tentar empacotar nosso aplicativo novamente. Certifique-se de que salvou suas alterações no `pyproject.toml` e, em seguida, atualize seu aplicativo novamente - desta vez, passando o sinalizador `-r`. Isso diz ao Briefcase para atualizar os requisitos no aplicativo empacotado:" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Depois de atualizar, você pode executar `briefcase build` e `briefcase run` e verá o aplicativo empacotado com o novo comportamento de diálogo." + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "A opção `-r` para atualizar os requisitos também é aceita pelos comandos `build` e `run`, portanto, se quiser atualizar, compilar e executar em uma única etapa, você pode usar `briefcase run -u -r`." + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Em plataformas de desktop (macOS, Windows, Linux), qualquer `pip` instalável pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, [suas opções são ligeiramente limitadas]{1}." + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#, fuzzy +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "O BeeWare pode fornecer binários para alguns módulos binários populares (incluindo `numpy`, `pandas` e `cryptography`). Normalmente, é possível compilar pacotes para plataformas móveis, mas isso não é fácil de configurar, o que está fora do escopo de um tutorial introdutório como este." + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "Acesso a uma API" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Uma tarefa comum que um aplicativo precisará executar é fazer uma solicitação em uma API da Web para recuperar dados e exibir esses dados ao usuário. Como este é um aplicativo de brinquedo, não temos uma API *real* para trabalhar, portanto, usaremos a [{JSON} Placeholder API]{1} como fonte de dados." + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "A API {JSON} Placeholder tem vários endpoints de API \"falsos\" que você pode usar como dados de teste. Uma dessas APIs é o ponto de extremidade `/posts/`, que retorna publicações de blog falsas. Se você abrir `https://jsonplaceholder.typicode.com/posts/42` em seu navegador, obterá uma carga JSON que descreve uma única publicação - algum conteúdo [Lorum ipsum]{1} para uma publicação de blog com ID 42." + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "A biblioteca padrão do Python contém todas as ferramentas necessárias para acessar uma API. Entretanto, as APIs incorporadas são de nível muito baixo. Elas são boas implementações do protocolo HTTP, mas exigem que o usuário gerencie muitos detalhes de baixo nível, como redirecionamento de URL, sessões, autenticação e codificação de carga útil. Como um \"usuário normal de navegador\", você provavelmente está acostumado a considerar esses detalhes como garantidos, pois o navegador gerencia esses detalhes para você." + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Como resultado, as pessoas desenvolveram bibliotecas de terceiros que envolvem as APIs incorporadas e fornecem uma API mais simples que se aproxima da experiência cotidiana do navegador. Vamos usar uma dessas bibliotecas para acessar a API {JSON} Placeholder - uma biblioteca chamada [httpx]{1}." + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Isso alterará a chamada de retorno `say_hello()` para que, quando for chamada, ela o faça:" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "faça uma solicitação GET na API do espaço reservado JSON para obter o post 42;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "decodificar a resposta como JSON;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "extrair o corpo da postagem; e" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "incluir o corpo dessa postagem como o texto da caixa de diálogo." + +#~ msgid "Some binary packages may not be available" +#~ msgstr "Alguns pacotes binários podem não estar disponíveis" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "Resumindo: qualquer pacote Python *puro* (ou seja, pacotes que *não* contêm um módulo binário) pode ser usado sem dificuldade. No entanto, se sua dependência contiver um componente binário, ele deverá ser compilado; no momento, a maioria dos pacotes Python não oferece suporte à compilação para plataformas que não sejam de desktop." + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o [Tutorial 8][tutorial-8] para descobrir..." + diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..41139ff8 --- /dev/null +++ b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,374 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-02-13 12:07+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: pt\n" +"Language-Team: Portuguese \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +msgid "Tutorial 8 - Making it Smooooth" +msgstr "Tutorial 8 - Suavizando o Processo" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +msgid "iOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "A menos que você tenha uma conexão de Internet *muito* rápida, poderá perceber que, ao pressionar o botão, a GUI do seu aplicativo trava um pouco. Isso ocorre porque a solicitação da Web que fizemos é *síncrona*. Quando nosso aplicativo faz a solicitação da Web, ele espera que a API retorne uma resposta antes de continuar. Enquanto espera, ele não permite que o aplicativo seja redesenhado e, como resultado, o aplicativo trava." + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +#, fuzzy +msgid "GUI Event Loops" +msgstr "Loops de eventos da GUI" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#, fuzzy +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "Para entender por que isso acontece, precisamos nos aprofundar nos detalhes de como funciona um aplicativo de GUI. Os detalhes variam de acordo com a plataforma, mas os conceitos de alto nível são os mesmos, independentemente da plataforma ou do ambiente de GUI que você estiver usando." + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#, fuzzy +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Um aplicativo de GUI é, basicamente, um único loop que se parece com:" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "Esse loop é chamado de *Event Loop*. (Esses não são nomes de métodos reais - é uma ilustração do que está acontecendo no \"pseudocódigo\")." + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#, fuzzy +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Quando você clica em um botão, arrasta uma barra de rolagem ou digita uma tecla, está gerando um \"evento\". Esse \"evento\" é colocado em uma fila, e o aplicativo processará a fila de eventos quando tiver a oportunidade de fazê-lo. O código do usuário que é acionado em resposta ao evento é chamado de *manipulador de eventos*. Esses manipuladores de eventos são invocados como parte da chamada `process_events()`." + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +#, fuzzy +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Depois que um aplicativo tiver processado todos os eventos disponíveis, ele `redraw()` a GUI. Isso leva em conta todas as alterações que os eventos causaram na exibição do aplicativo, bem como qualquer outra coisa que esteja acontecendo no sistema operacional - por exemplo, as janelas de outro aplicativo podem obscurecer ou revelar parte da janela do nosso aplicativo, e o redesenho do nosso aplicativo precisará refletir a parte da janela que está visível no momento." + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#, fuzzy +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "O detalhe importante a ser observado: enquanto um aplicativo estiver processando um evento, *ele não pode redesenhar* e *não pode processar outros eventos*." + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#, fuzzy +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "Isso significa que qualquer lógica de usuário contida em um manipulador de eventos precisa ser concluída rapidamente. Qualquer atraso na conclusão do manipulador de eventos será observado pelo usuário como uma desaceleração (ou parada) nas atualizações da GUI. Se esse atraso for longo o suficiente, seu sistema operacional poderá informar isso como um problema - os ícones \"bola de praia\" do macOS e \"botão giratório\" do Windows são o sistema operacional informando que seu aplicativo está demorando demais em um manipulador de eventos." + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#, fuzzy +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "Operações simples como \"atualizar um rótulo\" ou \"recomputar o total das entradas\" são fáceis de concluir rapidamente. Entretanto, há muitas operações que não podem ser concluídas rapidamente. Se estiver realizando um cálculo matemático complexo, ou indexando todos os arquivos em um sistema de arquivos, ou realizando uma grande solicitação de rede, não é possível \"simplesmente fazer isso rapidamente\" - as operações são inerentemente lentas." + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#, fuzzy +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "Então, como realizamos operações de longa duração em um aplicativo de GUI?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#, fuzzy +msgid "Asynchronous programming" +msgstr "Programação assíncrona" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#, fuzzy +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "O que precisamos é de uma maneira de informar a um aplicativo no meio de um manipulador de eventos de longa duração que não há problema em liberar temporariamente o controle de volta para o loop de eventos, desde que possamos retomar de onde paramos. Cabe ao aplicativo determinar quando essa liberação pode ocorrer; mas se o aplicativo liberar o controle para o loop de eventos regularmente, poderemos ter um manipulador de eventos de longa duração *e* manter uma interface de usuário responsiva." + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#, fuzzy +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "Podemos fazer isso usando a *programação assíncrona*. A programação assíncrona é uma maneira de descrever um programa que permite que o intérprete execute várias funções ao mesmo tempo, compartilhando recursos entre todas as funções executadas simultaneamente." + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "As funções assíncronas (conhecidas como *co-rotinas*) precisam ser explicitamente declaradas como assíncronas. Elas também precisam declarar internamente quando existe uma oportunidade de mudar o contexto para outra co-rotina." + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "Em Python, a programação assíncrona é implementada usando as palavras-chave `async` e `await` e o módulo [asyncio]{1} na biblioteca padrão. A palavra-chave `async` nos permite declarar que uma função é uma co-rotina assíncrona. A palavra-chave `await` fornece uma maneira de declarar quando existe uma oportunidade de mudar o contexto para outra co-rotina. O módulo [asyncio]{1} fornece algumas outras ferramentas e primitivas úteis para codificação assíncrona." + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "Tornando o tutorial assíncrono" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#, fuzzy +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "Há apenas 4 alterações nesse código em relação à versão anterior:" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#, fuzzy +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "O cliente criado é um `AsyncClient()` assíncrono, em vez de um `Client()` síncrono. Isso informa ao `httpx` que ele deve operar no modo assíncrono, e não no modo síncrono." + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#, fuzzy +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "O gerenciador de contexto usado para criar o cliente é marcado como `async`. Isso informa ao Python que há uma oportunidade de liberar o controle à medida que o gerenciador de contexto entra e sai." + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "A Toga permite que você use métodos regulares ou co-rotinas assíncronas como manipuladores; a Toga gerencia tudo nos bastidores para garantir que o manipulador seja chamado ou aguardado conforme necessário." + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "Se você salvar essas alterações e executar novamente o aplicativo (com o `briefcase dev` no modo de desenvolvimento ou atualizando e executando novamente o aplicativo empacotado), não haverá nenhuma alteração óbvia no aplicativo. No entanto, ao clicar no botão para acionar a caixa de diálogo, você poderá notar uma série de melhorias sutis:" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#, fuzzy +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "O botão retorna a um estado \"não clicado\", em vez de ficar preso em um estado \"clicado\"." + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +#, fuzzy +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "O ícone \"bola de praia\"/\"botão giratório\" não é exibido" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#, fuzzy +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "Se você mover/redimensionar a janela do aplicativo enquanto aguarda a exibição da caixa de diálogo, a janela será redesenhada." + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#, fuzzy +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "Se você tentar abrir um menu de aplicativo, o menu será exibido imediatamente." + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "Próximos passos" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "" + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Agora temos um aplicativo que é elegante e responsivo, mesmo quando está esperando em uma API lenta. Mas como podemos ter certeza de que o aplicativo continuará funcionando à medida que continuarmos a desenvolvê-lo? Como testamos nosso aplicativo? Consulte o [Tutorial 9][tutorial-9] para descobrir..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "O método é definido como `async def`, em vez de apenas `def`. Isso informa ao Python que o método é uma co-rotina assíncrona." + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "A chamada `get` é feita com uma palavra-chave `await`. Isso instrui o aplicativo que, enquanto aguardamos a resposta da rede, ele pode liberar o controle para o loop de eventos." + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +#~ msgstr "" + +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#~ msgstr "" + diff --git a/updated-locales/zh_CN/LC_MESSAGES/how-to/index.po b/updated-locales/zh_CN/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..f812cde0 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_CN\n" +"Language-Team: zh_CN \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/zh_CN/LC_MESSAGES/index.po b/updated-locales/zh_CN/LC_MESSAGES/index.po new file mode 100644 index 00000000..9bcc1eb6 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/index.po @@ -0,0 +1,98 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2025-07-07 01:01+0000\n" +"Last-Translator: John \n" +"Language: zh_CN\n" +"Language-Team: Chinese (Simplified Han script) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +msgid "Welcome to the BeeWare Tutorial!" +msgstr "欢迎来到 BeeWare 教程!" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +msgid "**Write Python. Run Anywhere.**" +msgstr "**用 Python 编写。随处运行。**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "欢迎来到 BeeWare!在本教程中,我们将使用 Python 构建一个图形用户界面,并将其部署为桌面应用程序、移动应用程序和单页网页应用程序。我们还将探讨如何使用 BeeWare 工具执行应用程序开发者需要做的一些常见任务,例如测试你的应用。" + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +msgid "Translations are available" +msgstr "有翻译版本" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "如果您不熟悉中文,本教程提供了以下语言的翻译:[Deutsch]{1} (德语)、[Español]{1} (西班牙语)、[Français]{1} (法语)、[Italiano]{1} (意大利语)、[Português]{1} (葡萄牙语)、[中文(简体)]{1} (中文(简体))和 [中文(繁體)]{1} (中文(繁体))。" + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +msgid "This is a machine translation!" +msgstr "这是一份机器翻译!" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "本教程版本由机器翻译生成。我们知道这并不理想,但我们认为糟糕的翻译总比没有翻译好。" + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "如果您想帮助改进翻译,请联系我们!我们在 [Discord]{1} 中有一个 `#translations` 频道;在那儿介绍自己,我们会邀请您加入翻译团队。" + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +msgid "This is a translation!" +msgstr "这是一份翻译!" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "本文档是英文文档的翻译。翻译已由人工审核,但较新的部分可能是由机器翻译生成的,或者根本未翻译。" + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +msgid "What is BeeWare?" +msgstr "什么是 BeeWare?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "BeeWare 并不是一个单独的产品、工具或库 (library),它是一系列工具和库的集合:每个工具和库都能协同工作,帮助您编写跨平台、具有本地图形用户界面的 Python 应用程序。它包括:" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1},一个跨平台控件工具包;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1},一个用于将 Python 项目打包为可分发给最终用户的的成品的工具;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "用于访问平台原生库的库(如 [Rubicon ObjC]{1});" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "预编译的 Python 版本,可在官方 Python 安装程序不可用的平台上使用。" + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "在这个教程中,我们将使用所有这些工具,但作为用户,你只需要与前两个(Toga 和 Briefcase)互动。然而,每个工具也可以单独使用 - 例如,你可以使用Briefcase部署应用程序,而不使用 Toga 作为 GUI 工具包。" + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "BeeWare 套件可用于 macOS、Windows、Linux(使用GTK)上;在移动平台如 Android 和 iOS 上;以及在 Web 上。" + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "让我们开始吧!" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "准备好亲身体验 BeeWare 了吗?[让我们用 Python 构建一个跨平台应用程序!][tutorial/tutorial-0]" + diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..8498486f --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,140 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-08-09 01:02+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "使用相机" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "" +"几乎每一台现代计算机都配备某种类型的摄像头。在本教程中,我们将编写一个新程序" +",使该程序能够请求访问摄像头、拍摄照片,然后在这个新的应用程序当中显示所拍摄" +"的照片。" + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "本教程不适用于所有平台!" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "遗憾的是,目前本教程仅适用于 macOS 系统和 Android。" + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "" +"虽然所有 iPhone 都有摄像头,iOS *虚拟机*\\ 没有正常工作的摄像头。Windows 与 " +"Linux 设备也有摄像头,但 Toga 目前不提供在这些平台上访问摄像头的能力。" + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "这里展示的代码可以在 Windows 或 Linux 上运行,但是当您尝试照相时,它会报错。" + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "这段代码在 iOS 设备上会正常工作,但部署到 iOS 虚拟器时,它将无法正常拍照。" + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "添加设备权限" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "我们现在可以生成并运行应用程序:" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "" + +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#~ msgstr "" + +#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" +#~ msgstr "" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..f22e2392 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,155 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2025-08-09 01:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "自定义图标" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "我们在主教程中开发的应用在打包时使用了默认的 “灰色蜜蜂” 图标。让我们通过配置使用我们自己的图标来个性化此应用程序。" + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +msgid "Adding an icon" +msgstr "添加图标" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" +"每个平台都使用不同的应用程序图标格式 -- 有些还需要\\ *多个*\\ " +"不同大小和形状的。为此考虑,Briefcase " +"提供了一种简短的方法,可以配置一次图标,并让这种定义扩充到每个单个平台的所有" +"所需要的图标。" + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" +"编辑您的 `project.toml`,在 `[tool.briefcase.app.helloworld]` " +"配置部分中,在 `sources` 的正上方添加一个 `icon` 配置项:" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" +"图标配置时,无需指定任何扩展文件名。这里的值将会被作为前缀使用;每个平台将会" +"在此前缀基础上添加更多项目,以构建在那个平台上所需的文件。有些平台需要\\ " +"*多个*\\ " +"图标文件;在这种情况下,前缀将与文件大小和变种结合在一起,生成使用的图标列表" +"。" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" +"我们现在可以重新运行 `briefcase update` — 但这次,我们传入 `--update-" +"resources` 标志,以告诉 Briefcase 我们想要安装新的应用资源(图标):" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "Android" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "在浅蓝背景上的绿蛇图标" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**即将推出**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 [Tutorial 11` 了解更多..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "教程 10 - 制作属于自己的应用程序" + +#~ msgid "Next steps" +#~ msgstr "下一步" + +#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..bc95b01c --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,54 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: 2025-06-05 01:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "更进一步" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "想在一些主题更加深入吗?这里有一些探索应用程序开发的常见方面的教程。教程互相" +"独立,可以任意顺序完成,但它们都假设您已学习了主教程。" + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "自定义图标" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "替换“灰蜜蜂”图标以自定义您的应用程序的外观。" + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "应用测试" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "怎样确保您的应用程序始终正常工作?向您的项目加入一个测试组!" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "相机访问" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "使用在移动或桌面设备上的相机在您的应用程序中拍与查看图片。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..64e47572 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,176 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2025-06-07 05:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12-dev\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +msgid "Testing times" +msgstr "测试的时候" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "" +"大多数软件开发并不涉及编写新代码,而是修改现有代码。确保现有代码以我们期望的" +"方式继续正常工作是软件开发过程的关键部分。" +"确保应用程序行为的方法之一是使用一个\\ *测试套件*。" + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +msgid "Running the test suite" +msgstr "运行测试套件" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "" +"原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:[" +"`src`\\ 和\\ `tests`。`src`\\ 文件夹包含应用程序的代码;`tests`\\ " +"文件夹包含测试套件。在\\ `tests`\\ 文件夹中,有一个名为\\ `test_app.py`\\" +" 的文件,内容如下:" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +msgid "This is a `Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "" +"这是一个 [Pytest]{1} *测试用例* - " +"用于验证应用程序的某些行为的可以执行的代码块。在本例中,该测试是一个占位符," +"并不测试我们应用程序的任何内容,但我们可以执行该测试。" + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "" +"我们可以使用 `briefcase dev` 的 `--test` " +"选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` " +"选项,以确保测试以来想也已安装:" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "成功了!我们刚刚执行了一个测试,验证了 Python " +"数学以我们预期的方式运行(真是松了一口气!)。" + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "" +"让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` " +"方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容:" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "这将定义两个新测试,验证我们期望看到的两种行为:提供名称时的输出和名称为空时" +"的输出。" + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "" +"现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` " +"选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "非常好!我们的 `greeting()` 实用程序方法如期工作了。" + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +msgid "Test driven development" +msgstr "测试驱动开发" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "" +"现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位" +"用户添加特殊的问候语。首先,我们可以在 `test_app.py` " +"的底部为我们希望看到的新行为添加一个测试用例:" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +msgid "Then, run the test suite with this new test:" +msgstr "然后,用这个新测试运行测试套件:" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "" +"这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 " +"\"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 " +"\"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` " +"的实现,使其具有新的行为:" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "如果我们再次运行测试,就会发现测试通过了:" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +msgid "Runtime tests" +msgstr "运行时测试" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "" +"到目前为止,我们一直在开发模式下运行测试。这在开发新功能时尤其有用,因为您可" +"以快速迭代添加测试,并添加代码使测试通过。不过,在某些情况下,您会希望验证您" +"的代码在捆绑应用程序环境下是否也能正确运行。" + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "" +"`-test` 和 `-r` 选项也可以传递给 `run` 命令。如果使用 `briefcase run " +"--test " +"-r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发" +"环境中运行:" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "" +"与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r`" +" 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "" +"你也可以在移动后端使用 `--test` 选项:`briefcase run iOS --test` 和 `" +"briefcase run android --test`` 都可以在你选择的移动设备上运行测试套件。" + +#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" +#~ msgstr "这只是您利用 BeeWare 项目提供的工具所能做的一些尝试。接下来的工作就靠您自己了!" + +#~ msgid "Some places to go from here:" +#~ msgstr "从这里可以去一些地方:" + +#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" + +#~ msgid "Details on the `options available when configuring your Briefcase project]{1}." +#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" + +#~ msgid "Next steps" +#~ msgstr "下一步" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..31961dff --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,237 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2025-08-09 01:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +msgid "Tutorial 0 - Let's get set up!" +msgstr "教程 0 - 让我们开始吧!" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "在构建第一个使用 BeeWare 的应用程序之前,我们必须确保已具备运行 BeeWare 的所有先决条件。" + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +msgid "Install Python" +msgstr "安装 Python" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "首先,我们需要一个正常工作的 Python 解释器。" + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "" +"如果您使用 macOS,您可以从 [Python 网站]{1}" +"_\\ 获取官方安装程序。您可以使用 Python 3.10 以上时任何版本,但避免使用 " +"Alpha、Beta 和候选版本。我们强烈建议使用 Python 3.13 或更新版本。" + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"安装 Python 也有很多其他不同的方法。您可以通过 [homebrew]{1} 安装 Python,或使用 [pyenv]{2}" +"来管理同一台机器上的多个 Python 安装,或使用 [Anaconda]{3} 或 [Miniconda]{4}。*怎么*\\ 安装 Python 并不重要," +"只要可以从终端运行 `python3` 并获取到支持的、正常工作的 Python 解释器即可。" + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "如果您使用的是 Linux,您将使用系统软件包管理器(Debian/Ubuntu/Mint 上的 `apt`,Fedora 上的 `dnf`,或 Arch 上的 `pacman`)安装 Python。" + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "您应该确保系统 Python 是 Python 3.9 或更高;如果不是(例如,Ubuntu 20.04 附带 Python 3.8),您需要将您的 Linux 发行版升级到更新版本。" + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "目前对 Raspberry Pi 的支持有限。" + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from `the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "如果您使用的是 Windows,您可以从 [Python 网站]{1}\\ 获取官方安装程序。您可以使用 Python 3.9 到 3.13 的任何稳定版本。我们还建议避免使用 Alpha、Beta 和候选版本,除非你\\ *真的*\\ 知道自己在做什么。" + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "目前对 Raspberry Pi 的支持有限。" + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "如果您使用的是 macOS 或 Windows 操作系统,如何安装 Python 并不重要,重要的是您能从操作系统的命令提示符/终端应用程序中运行 `python3`,并获得一个正常工作的 Python 解释器。" + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +msgid "Install dependencies" +msgstr "安装依赖项" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "接下来,安装您的操作系统所需的其他依赖项:" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +msgid "Building BeeWare apps on macOS requires:" +msgstr "在 macOS 上构建 BeeWare 应用程序需要:" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "**Git**,一个版本控制系统。上面已安装的 Xcode 或其命令行开发工具已经包含了Git。您可能需要第一次打开 Xcode 以后才能再命令行会话中使Git正常工作。如果仍然无法识别 Git,可能需要重启您的命令行会话。" + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "为支持本地开发,您将需要安装一些系统软件包。所需的软件包列表因发行版而异:" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu 或 Debian**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +msgid "**Arch / Manjaro**" +msgstr "**Arch 或 Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "**OpenSUSE Tumbleweed**" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +msgid "Building BeeWare apps on Windows requires:" +msgstr "在 Windows 上构建 BeeWare 应用程序需要:" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**,一个版本控制系统。您可以从 [git-scm.com]{1} 下载 Git。" + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "安装这些工具后,应确保重新启动任何终端会话。Windows 只在安装完成后开始的命令行,才会显示新安装的工具。" + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +msgid "Set up a virtual environment" +msgstr "建立虚拟环境" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "我们现在要创建一个虚拟环境--一个 \"沙箱\",用来将本教程的工作与我们的主 Python 安装隔离开来。如果我们将软件包安装到虚拟环境中,我们的主 Python 安装(以及计算机上的任何其他 Python 项目)将不会受到影响。如果我们把虚拟环境弄得一团糟,我们可以简单地删除它,然后重新开始,不会影响计算机上的任何其他 Python 项目,也不需要重新安装 Python。" + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "如果您不在使用 Python 3.12,将指示中的 `-3.12` 替换为您在使用的版本号。" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +msgid "Errors running PowerShell Scripts" +msgstr "运行 PowerShell 脚本时出现的错误" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +msgid "If you're using PowerShell, and you receive the error:" +msgstr "如果使用 PowerShell 时收到以下错误信息:" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "您的 Windows 账户没有运行脚本的权限。要解决这个问题:" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "[以管理员身份运行 PowerShell]{1}." + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "运行 `set-executionpolicy RemoteSigned`" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +msgid "Select `Y` to change the execution policy." +msgstr "选择 `Y` 更改执行策略。" + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "完成后,您就可以在原来的 PowerShell 会话(或同一目录下的新会话)中重新运行 `beeware-venv\\scripts\\activate.ps1`。" + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "如果这样做成功了,您的提示符现在应该有所改变--它会带有 `(beeware-venv)` 前缀。这样,您就可以知道您当前正处于 BeeWare 虚拟环境中。无论何时运行本教程,都应确保虚拟环境已激活。如果没有激活,请重新执行前一条命令(`activate`)以重新激活虚拟环境。" + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +msgid "Alternative virtual environments" +msgstr "替代虚拟环境" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "如果您使用的是 Anaconda 或 miniconda,那么您可能对使用 conda 环境更为熟悉。您可能还听说过 `virtualenv`,它是 Python 内置的 `venv` 模块的前身。就像 Python 安装一样,如您使用的是 macOS 或 Windows,那么如何创建虚拟环境并不重要,只要有就够了。如果在 Linux 上,则应坚持使用 `venv` 和系统 Python。" + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序][tutorial-1]\\ 了。" + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "以管理员身份运行 Windows PowerShell。" + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "*版本控制系统 *Git**。它包含在您安装的 Xcode 或命令行开发工具中。" + +#~ msgid "Alternative Python distributions" +#~ msgstr "其他 Python 发行版" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "如果您使用 Linux,则\\ **必须**\\ 使用操作系统提供的系统 Python。您可以使用非系统 Python 完成本教程的\\ *大部分*\\ 内容,但是您无法将应用程序打包发布给他人。" + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "如果您使用的是 macOS,Xcode 或命令行开发工具中会包含最新版本的 Python。要检查是否已安装,请运行以下命令:" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "如果已安装 Python,则会看到其版本号。否则,系统会提示您安装命令行开发工具。" + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "您应该确保您使用的是 Python 3.9 或更高版本。如果不是,则需要升级 Python 安装。您可以从 [Python 官网]{1} 获取官方安装程序。从 3.9 开始,您可以使用任何稳定版本的 Python。我们建议避免使用 Alpha、Beta 和候选版本,除非你真的知道自己在做什么。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..5d50fcf0 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,217 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-08-03 20:51+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +msgid "Tutorial 1 - Your first app" +msgstr "教程 1 - 您的第一个应用程序" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +msgid "We're ready to create our first application." +msgstr "我们准备好创建我们的第一个应用程序了。" + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +msgid "Install the BeeWare tools" +msgstr "安装 BeeWare 工具" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"首先,我们需要安装 **Briefcase**。Briefcase 是一款 BeeWare " +"工具,可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" +"确保您在 [教程0][tutorial-0] 中创建的 `beeware-tutorial` 目录中," +"并已激活 `beeware-venv` 虚拟环境,然后运行:" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +msgid "Possible errors during installation" +msgstr "安装过程中可能出现的错误" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "" +"如果在安装过程中出现错误,几乎可以肯定是因为某些系统要求尚未安装。" +"请确保您已\\ [安装了所有您的平台的先决条件 ][install-dependencies]。" + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "请务必使用 `python -m pip`,而不是简单的 `pip`。Briefcase 需要确保它拥有最新版本的 `pip` 和 `setuptools` ,而裸调用的 `pip` 无法自我更新。如果您想了解更多,[Brett Cannon 有一篇关于这个问题的详细博文]{1}。" + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +msgid "Bootstrap a new project" +msgstr "引导新项目" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "让我们开始我们的第一个 BeeWare 项目! 我们将使用 Briefcase 的 `new` 命令创建一个名为 **Hello World** 的应用程序。在命令提示符下运行以下命令:" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "Briefcase会要求我们提供新应用程序的一些详细信息。在本教程中,请使用以下内容:" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formal Name** - 接受默认值:`Hello World`。" + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** - 接受默认值:`helloworld`。" + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "" +"**Bundle Identifier(捆绑标识符)** - " +"如果您拥有自己的域名,请按相反顺序输入该域名。(例如,如果您拥有域名 " +"\"cupcakes.com\",则输入 `com.cupcakes` " +"作为捆绑标识符)。如果您没有自己的域名,请接受默认值(`com.example`)。" + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Project Name** - 接受默认值:`Hello World`。" + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**描述** - 接受默认值(或者,如果您想发挥自己的创造力,也可以提出自己的描述!)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +msgid "**Author** - Enter your own name here." +msgstr "**Author** - 在此处输入您自己的名字。" + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "" +"**Author's Email** - " +"输入您自己的电子邮件地址。这将用于配置文件、帮助文本以及向应用程序商店提交应" +"用程序时需要电子邮件的任何地方。" + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "" +"**URL** - 应用程序登陆页面的 URL。同样,如果您拥有自己的域名,请输入该域名的 " +"URL(包括 `https://`)。否则,接受默认 URL (`https://example.com/" +"helloworld`) 即可。此 " +"URL(暂时)不需要实际存在;只有在您将应用程序发布到应用程序商店时才会使用。" + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "" +"**Project License** (项目许可证) - " +"接受默认许可证(BSD)。这不会影响本教程的任何操作,因此,如果您对许可证选择有" +"特别强烈的意见,请随意选择其他许可证。" + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**GUI Framework** - 接受默认选项 Toga(BeeWare 自己的图形用户界面工具包)。" + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "接下来,Briefcase 会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受了所述的默认设置,那么你的文件系统应该是这样的:" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "" +"该骨架实际上是一个功能完备的应用程序,无需添加任何其他内容。`src` " +"文件夹包含应用程序的所有代码,`tests` " +"文件夹包含初始测试套件,`pyproject.toml` 文件描述了如何打包发布应用程序。" +"如果您用编辑器打开 `pyproject.toml`,就会看到刚才提供给 Briefcase " +"的配置详细信息。" + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "现在我们有了一个包含占位代码的应用程序,可以使用 Briefcase 来运行它。" + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +msgid "Run the app in developer mode" +msgstr "在开发者模式下运行应用程序" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "移动到 `helloworld` 项目目录,告诉 Briefcase 以开发者(或 `dev`)模式启动项目:" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +msgid "This should open a GUI window:" +msgstr "这将打开一个图形用户界面 (GUI) 窗口:" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "macOS 上的 Hello World 教程 1 窗口" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "在 Linux 上的 Hello World 教程 1 窗口" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "在 Windows 上的 Hello World 教程 1 窗口" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "无效的要求或 pip 无法连接" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "如果您遇到错误:" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "确认您在运行\\ [此教程支持的 Python 版本 ][install-python]。" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "如果您的 Python 版本\\ *不*\\ 被支持,则需重新开始本教程。" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "" +"关闭应用程序 -- " +"可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" +"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** -- " +"就完成了!恭喜您,您刚刚使用 Python 编写了一个独立、原生的应用程序!" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "" +"现在,我们有了一个在开发者模式下运行的应用程序。现在我们可以添加一些自己的逻" +"辑,让应用程序做更有趣一些的事情。在\\ :doc:`教程 2` " +"中,我们将为应用程序添加一个更有用的用户界面。" + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "BeeWare 工具之一是 **Briefcase**。Briefcase 可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po new file mode 100644 index 00000000..d80b871a --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po @@ -0,0 +1,147 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-30 17:27+0000\n" +"PO-Revision-Date: 2024-01-13 02:06+0000\n" +"Last-Translator: Sheep Cat \n" +"Language: zh_CN\n" +"Language-Team: Chinese (Simplified) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-10.rst:5 4490d66e8f014d7387572b3cf21051f3 +#, fuzzy +msgid "Tutorial 10 - Make this app your own" +msgstr "教程 10 - 制作属于自己的应用程序" + +#: ../../tutorial/tutorial-10.rst:7 9d669b8cfe15428fab16ad73fb72bc54 +#, fuzzy +msgid "So far, our app has used a default \"gray bee\" icon when it is packaged. Let's personalize our application by configuring it to use our own icon." +msgstr "到目前为止,我们的应用程序一直使用默认的 \"灰色蜜蜂 \"图标。如何更新应用程序,使用我们自己的图标?" + +#: ../../tutorial/tutorial-10.rst:11 16691757c29a4de6b233fa36cbbd717d +#, fuzzy +msgid "Adding an icon" +msgstr "添加图标" + +#: ../../tutorial/tutorial-10.rst:13 a14beed2dd68493bbde7e4573c8f747d +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:19 5dd01823f92a416ea9132296fe3c1329 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:25 42d72c24ab9c4c88a1a8cf338848acff +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:31 3575513b55fc4069beec0551875a11e4 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:37 ../../tutorial/tutorial-10.rst:204 +#: ../../tutorial/tutorial-10.rst:380 3a3f465bc82845bd9fcd232d769a7546 +#: b1453ed5d0ed49bc9af7711c56121557 cb98e9e207c94a08afadb1b0e1ae0878 +msgid "macOS" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:54 ../../tutorial/tutorial-10.rst:228 +#: ../../tutorial/tutorial-10.rst:395 340d85d5053a4cc19269563b8cb7ddd3 +#: 5a5e29a3baf14083bdc4079d39e3bf35 707ec2a30c43486eb9c640f1b8a0ebce +msgid "Linux" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:76 ../../tutorial/tutorial-10.rst:258 +#: ../../tutorial/tutorial-10.rst:410 5b1ba783115c405fa41e3c1cb2646c63 +#: 8758570de34045859904b70ed8b4eaba e8246440df0b4577a0d919912786b18d +msgid "Windows" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:93 ../../tutorial/tutorial-10.rst:283 +#: ../../tutorial/tutorial-10.rst:425 718de2ca2d734ea29c3d201d10cb5537 +#: e1da4f86873a4d1497ec94e4bc59a553 f07ab418351445a7acccfccaa60d6902 +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:129 ../../tutorial/tutorial-10.rst:328 +#: ../../tutorial/tutorial-10.rst:439 7d8026d1813741aeaff54b01110296b6 +#: caba5994c07d42318fa397e5387cacb8 d83b549ec22447ac87fe4203c16af57d +msgid "iOS" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:161 710795c5e5e24f24b9f745692eea2611 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:165 407dfeadf4f64fa1883d0e6efda3ae13 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](./resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:184 b41c049eac4149db9d693a17c98ba25f +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:187 ba1e16882f46406fb206c986efba997d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:191 36190ded79ab4b8facb6c7d125e99910 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:195 de8977a03bb245649a0db4e72699537c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:323 59ddcf9d12d54bb7888af960947125f3 +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:362 770fc67b202e414898dad70af6015ac1 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:371 1fccdfb6089a4dd89df2134ab55b6161 +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:453 4f85656e9dd446159ca59aade076cd61 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:457 cbcd518108964d04a905c571f5d12046 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:468 ead01201ed7b44d2879d42b9f6dba403 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-10.rst:470 78ff8572b7a84c98884b85a112ab0c59 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:473 2b36141b3cfd4ec2b897857699239e31 +msgid "Some places to go from here:" +msgstr "" + +#: ../../tutorial/tutorial-10.rst:475 671dcb52f97541cdb0ee9138caf877bd +msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-10.rst:477 f150cd3c96c0400a972ae968ee960212 +msgid "Details on the [options available when configuring your Briefcase project]{1}." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**即将推出**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." + diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..eabef812 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,276 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-07-07 01:02+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +msgid "Tutorial 2 - Making it interesting" +msgstr "教程 2 - 使之更有趣" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "在 [教程 1` 中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。让我们看看 Briefcase 为我们生成了什么。" + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +msgid "What was generated" +msgstr "生成的内容" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "在 `src/helloworld` 目录中,你应该看到 3 个文件:`__init__.py`、`__main__.py` 和 `app.py`。" + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` 将 `helloworld` 目录标记为可导入的 Python 模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld 目录定义了一个模块。" + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` 将 `helloworld` 模块标记为一种特殊的模块 - 可执行模块。如果你尝试使用 `python -m helloworld` 试图运行 `helloworld` 模块,Python 将从 `__main__.py` 文件开始执行。 `__main__.py` 的内容相对简单:" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "此文件做以下两件事:" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "它从 `helloworld` 应用程序导入了 `main` 方法。" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "然后,它会开始应用程序的主循环,以便侦听用户输入(例如鼠标点击或键盘按键)。" + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "更有趣的文件是 `app.py` - 它包含创建我们应用程序窗口的逻辑:" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +msgid "Let's go through this line by line:" +msgstr "让我们逐行查看:" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "首先,我们导入 `toga` " +"控件工具包,以及一些与样式相关的实用常量。目前我们的代码还没有使用这些——但我" +"们很快就会用到它们。" + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +msgid "Then, we define a class:" +msgstr "然后,我们定义了一个类 :" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "每个 Toga 应用程序都有一个 `toga.App` 实例,代表应用程序的运行实体。应用程序最终可能会管理多个窗口;但是对于简单的应用程序来说,可能只有一个主窗口。" + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +msgid "Next, we define a `startup()` method:" +msgstr "接下来,我们定义一个 `startup()` 方法 (startup意为启动):" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "" +"startup 方法的第一件事是定义一个主盒子 (main box)。Toga 的布局方案类似于 " +"HTML。你通过构造一系列盒子 (box) 来构建应用程序," +"每个盒子包含其他盒子或实际的控件 (widgets)。然后,你对这些盒子应用样式 " +"(styles),以定义它们将如何消耗可用的窗口空间 (window space)。" + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "在这个应用程序中,我们定义了一个单独的空盒子 (我们没有放任何东西进去)。" + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +msgid "Next, we define a window into which we can put this empty box:" +msgstr "接下来,我们定义一个可以将这个空盒子放入其中的窗口:" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "这将创建一个 `toga.MainWindow` 的实例,它的标题 (title) 将与应用程序的名称 (self.formal_name) 匹配。主窗口是 Toga 中的一种特殊窗口——它与应用程序的生命周期 (life cycle) 密切绑定。主窗口关闭,应用程序就退出了。主窗口也具有应用程序菜单(例如类似 Windows 这样的平台上,菜单栏是窗口的一部分)。" + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "我的窗口怎么没有出现?" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "如果你写的代码中有错误,app的主窗口可能不会显示。要是真这样了,你可以找到先前启动app的终端窗口,并在其中按下\\ **Ctrl + C**,以终止app运行。之后,你就可以修改代码里的错误,再重启app。" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "然后,我们将空盒子作为主窗口的内容,并指示应用程序显示我们的窗口:" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "最后,我们定义一个 `main()` 方法。它将创建应用程序的实例:" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "这个 `main()` 方法由 `__main__.py` 导入并调用。它创建并返回我们的 `HelloWorld` 应用程序的实例。" + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "这是最简单可能的 Toga 应用程序。接下来,让我们在应用程序中加入一些我们自己的内容,使应用程序做一些有趣的事情。" + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +msgid "Adding some content of our own" +msgstr "添加一些我们自己的内容" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "对我们的 `HelloWorld` 应用程序,做些更有意思的事吧。" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "在做这些更改时,确保不要删除文件顶部的导入 (imports),也不要删除底部的 `main()`。您只需更新 `HelloWorld` 类。" + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "修改 `src/helloworld/app.py` 中的 `HelloWorld` 类,使其看起来像这样:" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +msgid "Let's look in detail at what has changed." +msgstr "让我们详细看看有哪些变化。" + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "我们仍然在创建一个主盒子;然而,现在我们正在应用一个样式:" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "" +"Toga 的内置布局系统称为 \"Pack\" (包)。它的行为很像 CSS (Cascading Style " +"Sheets 层叠样式表)。你可以在一个层次结构中定义对象--在 HTML 中,对象是 " +"`
` (division 块级容器)、`` (inline span 内联容器) 和其他 DOM (" +"Document Object Model 文档对象模型) 元素;在 Toga 中,对象是控件 (widgets ) " +"和盒子 (boxes)。然后,您可以为各个元素指定样式。在本例中,我们表示这是一个 " +"`COLUMN` (垂直) 框,也就是说,它是一个将占用所有可用宽度 (width) 的框," +"并会随着内容的添加而扩大高度 (height),但会尽量使高度更短。" + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "对于更高级的使用,Toga 也支持可以被这样使用的单独的样式对象:" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +msgid "Next, we define a couple of widgets:" +msgstr "接下来,我们定义了一些控件:" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "" +"在这里,我们定义了一个标签 (Label) 和一个文本输入框 " +"(TextInput)。这两个控件都有与其相关的样式;标签左右会各有 5px " +"的填充,上下没有填充。文本输入框是被标记为灵活的——也就是说,它将吸收其布局方" +"向上所有可用的空间。" + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "文本输入框 (TextInput) 被分配为类的实例变量。这使我们能够轻松访问控件 " +"(widget) 实例 - 这是我们马上就会使用的东西。" + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +msgid "Next, we define a box to hold these two widgets:" +msgstr "接下来,我们定义了一个盒子来容纳这两个控件:" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "`name_box` 就像主盒子一样;然而,这次它是一个 `ROW` (水平) 盒子。这意味着内容将会被水平添加,并且它会尽量使其宽度尽可能窄。盒子也有一些空白填充——四周各为 5px。" + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +msgid "Now we define a button:" +msgstr "现在,我们定义一个按钮:" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "按钮的四周也有 5px 的填充。我们还定义了一个\\ **处理程序** (handler)——当按钮被按下时要调用的方法。" + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +msgid "Then, we add the name box and the button to the main box:" +msgstr "然后,我们将 name box 和按钮添加到主盒子中:" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "这完成了我们的布局;其余的 startup 方法与以前一样 - 定义一个 `MainWindow` ,并将主盒子指定为窗口的内容:" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "" +"我们需要做的最后一件事,就是定义按钮的处理器(handler)——它可以是任何方法、生成" +"器或异步协程,且接受生成事件的控件 (widget) " +"作为参数。只要按下按钮,就会调用这些处理器:" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "方法的主体是一个简单的打印语句——然而,它会使用名称输入的当前值,并使用该内容作为打印的文本。" + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "现在我们已经做了这些更改,我们可以通过再次启动应用程序来看看它们的样子。和以前一样,我们将使用开发者模式:" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "" +"你会注意到,这次\\ *没有*\\ 安装依赖项。Briefcase " +"可以检测到已经被运行过的应用程序 -- " +"为了节省时间,它只会运行应用程序,而不会安装依赖项。如果你在应用程序中添加了" +"新的依赖项,你可以在运行 `briefcase dev` 时通过 `-r` " +"选项来确保它们被安装。" + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "This should open a GUI window:" +msgstr "这将打开一个图形用户界面 (GUI) 窗口:" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "在 MacOS 上的 Hello World 教程 2 窗口" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "在 Linux 上的 Hello World 教程 2 窗口" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "在 Windows 上的 Hello World 教程 2 窗口" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "如果在文本框中输入名称,并按下图形用户界面中的按钮,就会在启动程序的控制台中看到输出结果。" + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" +"在继续之前,关闭应用程序。和教程 1 " +"一样,您可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" +"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "我们现在有了一个做一些更有趣的事情的应用程序,但它只能在我们自己的电脑上运行。让我们将这个应用程序打包,以供分发。在 :doc:`教程3` 中,我们将把应用程序打包成一个独立的安装程序,以供发送给朋友、客户,或上传到应用商店。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..8d09f934 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,264 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2025-07-21 22:03+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +msgid "Tutorial 3 - Packaging for distribution" +msgstr "教程 3 - 打包与分发" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "到目前为止,我们一直在“开发者模式”下运行应用程序。这可以让我们轻松地在本地运行应用程序,但我们真正想要的是能将我们的应用程序提供给其他人。" + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "但是,我们不想教用户怎样安装 Python、创建虚拟环境、克隆 git 仓库和在开发者模式下运行 Briefcase。我们宁可只给他们一个安装程序,让应用程序能够正常运行。" + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "Briefcase 可用于打包应用程序,以便以这种方式发布。" + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +msgid "Creating your application scaffold" +msgstr "创建应用程序脚手架" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "由于这是我们第一次打包应用程序,我们需要创建一些配置文件和其他脚手架来支持打包过程。在 `helloworld` 目录中,运行:" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "有关Python版本的错误" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "如果您收到类似如下的错误信息:" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "用于运行 Briefcase 的 Python 版本 (3.12) 不是系统 python3 (3.10)。" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "您将需要使用系统的 `python3` 重新创建您的虚拟环境。打包您的应用程序要求使用系统 Python。" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "您可能刚刚在终端上看到了几页内容滑过......刚刚发生了什么?Briefcase 做了以下工作:" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "它生成了一个应用程序模板。除了实际应用程序的代码之外,构建本机安装程序还需要许多文件和配置。这些额外的脚手架对于同一平台上的每个应用程序几乎都是一样的,除了正在构建的实际应用程序的名称--因此,Briefcase 为其支持的每个平台提供了一个应用程序模板。这一步将推出模板,替换应用程序名称、捆绑 ID 和配置文件中的其他属性,以支持正在构建的平台。" + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "如果您对 Briefcase 提供的模板不满意,可以提供自己的模板。不过,在使用 Briefcase 的默认模板获得更多经验之前,您可能不想这样做。" + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "它下载并安装了一个支持包。Briefcase 所采用的打包方法被描述为“最简单可行的方法”--它将一个完整、独立的 Python 解释器作为其构建的每个应用程序的一部分(除了了、 Linux 上的原生系统包构建)。这种打包方式在空间利用上略显不足--如果有 5 个应用程序使用 Briefcase 打包,那么就会有 5 份 Python 解释器副本。但是,这种方法保证了每个应用程序都是完全独立的,使已知的能与应用程序一起工作的特定 Python版本。" + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "同样,Briefcase 为每个平台提供了默认的支持包;如果需要,您可以提供自己的支持包,并将其作为构建过程的一部分。如果您需要启用 Python 解释器中的特定选项,或者如果您想从标准库中剥离运行时不需要的模块,您可能需要这样做。" + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "Briefcase 维护支持包的本地缓存,因此一旦您下载了特定的支持包,该缓存副本将用于未来的构建。" + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "如上所述,当 Briefcase 将一个应用程序打包成 Linux 上的原生系统包(Linux 上的默认包格式),应用程序中将不会包含任何的支持包;应用程序将会使用将要被分发到的 Linux 发行版提供的 Python。" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "它\\ **安装应用程序的依赖项**。您的应用程序可以指定运行时所需的任何第三方模块。这些模块将会被用 `pip` 安装到应用程序的安装程序中。" + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "它\\ **安装您的应用程序代码**。您的应用程序将有自己的代码和资源(如运行时需要的图像);这些文件会被复制到安装程序中。" + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "最后,它还会\\ **添加安装程序本身所需的其他资源**。这包括需要附加到最终应用程序的图标和启动画面等。" + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "完成上述操作后,如果查看项目目录,就会发现一个与平台(`macOS`, `linux`,或\\ `windows`)相对应的目录,其中包含附加文件。这就是应用程序的平台具体的打包配置。" + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +msgid "Building your application" +msgstr "构建您的应用程序" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "现在可以编译应用程序了。此步骤将执行任何使应用程序在目标平台上可执行所必须的二进制编译。" + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "在 macOS 上,` build`\\ 命令不需要\\ *编译*\\ 任何内容,但需要对二进制文件的内容进行(数字)签名,以便执行。这种签名是一种\\ *临时 (ad hoc)*\\ 签名--它只能在\\ *你的*\\ 机器上工作;如果你想将应用程序发布给其他人,就需要提供完整的签名。" + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "此步骤完成后,[build`\\ 文件夹将包含一个\\ `helloworld-0.0.1`\\ 文件夹,其中包含一个 Linux `/usr` 文件系统的镜像。这个文件系统镜像将包含一个\\ `bin`\\ 文件夹,里面有一个\\ `helloworld`\\ 二进制文件,以及支持二进制文件所需的\\ `lib`\\ 和\\ `share`\\ 文件夹。" + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "在 Windows 上,`build` 命令不需要\\ *编译*\\ 任何东西,但它确实需要写入一些元数据,以便应用程序知道它的名称、版本等。" + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +msgid "Triggering antivirus" +msgstr "触发杀毒软件" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "由于这些元数据是在 `create` 命令中直接写入从模板推出的预编译二进制文件的,因此可能会触发机器上运行的杀毒软件,从而阻止元数据的写入。在这种情况下,请指示杀毒软件允许工具(名为 `rcedit-x64.exe`)运行,并重新运行上述命令。" + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +msgid "Running your app" +msgstr "运行应用程序" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +msgid "You can now use Briefcase to run your application:" +msgstr "现在您可以使用 Briefcase 运行应用程序了:" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "这将使用 `build` 命令的输出开始运行原生应用程序。" + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "你可能会注意到应用程序运行时的外观有一些细微差别。例如,操作系统显示的图标和名称可能与在开发者模式下运行时略有不同。这也是因为您使用的是打包的应用程序,而不仅仅是运行 Python 代码。从操作系统的角度来看,您现在运行的是“一个应用程序”,而不是“一个 Python 程序\"”,这也反映在应用程序的显示方式上。" + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" +"在继续之前,关闭应用程序。和之前的教程步骤一样,您可以使用应用程序窗口上的关" +"闭按钮、从应用程序的菜单栏选择关闭/退出、或在您运行 `briefcase dev` " +"的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +msgid "Building your installer" +msgstr "创建安装程序" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "现在,您可以使用 `package` 命令打包应用程序,以便发布。打包命令会执行将脚手架项目转换为最终可发布产品所需的编译工作。根据平台的不同,这可能涉及编译安装程序、执行代码签名或执行其他发布前任务。" + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "`dist` 文件夹将包含一个名为 `Hello World-0.0.1.dmg` 的文件。如果在 Finder 中找到该文件,并双击其图标,就会加载 DMG,从而获得 Hello World 应用程序的副本,并链接到 `Applications` 文件夹以方便安装。将应用程序文件拖入 Applications,就安装好了应用程序。将 DMG 文件发送给朋友,他们应该也能完成同样的操作。" + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "在本例中,我们使用了 `--adhoc-sign` 选项--也就是说,我们使用 *ad hoc* 凭据(仅在你的机器上有效的临时凭据)来签署我们的应用程序。我们这样做是为了让教程简单明了。设置代码签名身份有点麻烦,而且只有当你打算将应用程序发布给他人时\\ *才*\\ 需要。如果我们要发布一个真正的应用程序供他人使用,我们就需要指定真实的凭据。" + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity]{1}." +msgstr "当您准备发布真正的应用程序时,请查看关于 [设置 macOS 代码签名身份]{1} 的 Briefcase 操作指南。" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "软件包步骤的输出会因 Linux 发行版的不同而略有不同。如果你使用的是 Debian 衍生发行版,你会看到:" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "`dist` 文件夹将包含生成的 `.deb` 文件。" + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "如果你使用的是基于 RHEL 的发行版,你就会看到:" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "`dist` 文件夹将包含生成的 `.rpm` 文件。" + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "如果你使用的是基于 Arch 的发行版,你就会看到:" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "`dist` 文件夹将包含生成的 `.pkg.tar.zst` 文件。" + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "目前不支持其他 Linux 发行版的打包。" + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "如果你想为你正在使用的 Linux 发行版之外的其他发行版构建软件包,Briefcase 也能提供帮助,但你需要安装 Docker。" + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "[Docker Engine]{1} 的官方安装程序适用于一系列 Unix 发行版。请按照您所在平台的说明进行操作;不过,请确保不要在 rootless 模式下安装 Docker。" + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "安装好 Docker 后,你就可以启动 Linux 容器了,例如:" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "将显示 Ubuntu 22.04 Docker 容器中的 Unix 提示符(类似于 `root@84444e31cff9:/#`)。键入 Ctrl-D 退出 Docker 并返回本地 shell。" + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "一旦安装了 Docker,只要将 Docker 镜像作为参数传递,就可以使用 Briefcase 为 Briefcase 支持的任何 Linux 发行版构建软件包。例如,要为 Ubuntu 22.04 (Jammy) 构建一个 DEB 包,无论你使用的是哪种操作系统,你都可以运行:" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "这将下载所选操作系统的 Docker 镜像,创建一个能够运行 Briefcase 构建的容器,并在镜像中构建应用程序软件包。完成后,[dist` 文件夹将包含目标 Linux 发行版的软件包。" + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "在本例中,我们没有签署我们的应用程序。因此,当您使用安装程序时,您将收到系统警告,该应用程序来自未知开发人员。我们这样做是为了保持教程的简单性。设置代码签名身份比较复杂,只有当您打算将您的应用程序分发给其他人时,它们才*需要*。如果我们发布一个真实的应用程序供其他人使用,我们需要指定一个真实的签名身份;当该签名的应用程序安装时,系统将通知用户该应用程序来自与证书关联的已知身份。" + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity]{1}." +msgstr "当您准备好发布真正的应用程序时,请查看 Briefcase 操作指南中关于\\ [设置 Windows 代码签名身份]{1}\\ 的内容。" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "此步骤完成后,`dist` 文件夹中将包含一个名为 `Hello_World-0.0.1.msi`` 的文件。如果双击运行该安装程序,就会进入熟悉的 Windows 安装过程。安装完成后,开始菜单中将出现 \"Hello World \"条目。" + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "现在,我们已将应用程序打包发布到桌面平台上。但是,当我们需要更新应用程序中的代码时该怎么办?如何将这些更新添加到打包好的应用程序中?请访问 [教程4][./tutorial-4] 了解详情..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..068f42c7 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,186 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2025-06-05 01:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12-dev\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +msgid "Tutorial 4 - Updating your application" +msgstr "教程 4 - 更新应用程序" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "" +"在上一教程中,我们将应用程序打包为本地应用程序。如果您面对的是一个真实世界的" +"应用程序,这并不是故事的结束--" +"您可能会进行一些测试,发现一些问题,并需要进行一些修改。即使您的应用程序是完" +"美的,您最终还是希望发布改进后的第二版应用程序。" + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +msgid "So - how do you update your installed app when you make code changes?" +msgstr "那么,在更改代码时如何更新已安装的应用程序?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +msgid "Updating application code" +msgstr "更新应用程序代码" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "目前,我们的应用程序会在您按下按钮时打印到控制台。但是,图形用户界面应用程序" +"实际上不应该使用控制台进行输出。它们需要使用对话框与用户交流。" + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "让我们添加一个对话框来说 \"你好\",而不是写入控制台。修改 `say_hello` " +"回调,使它看起来像这样::" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" +"我们需要将方法设置为`async`,以便在显示对话框时,应用程序的其余部分继续运行" +"。现在不要太担心这个细节——我们将在 [Tutorial 8][tutorial-8] " +"中给出更详细的解释。" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "这将指示 Toga 在按下按钮时打开一个模态对话框。" + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "如果运行 `briefcase dev`,输入名称并按下按钮,就会看到新的对话框:" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Hello World 教程 4 对话框,在 macOS 上" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Hello World 教程 4 对话框,在 Linux 上" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Hello World 教程 4 对话框,在 Windows 上" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "但是,如果运行\\ `briefcase run`,对话框就不会出现。" + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "" +"为什么会这样?`briefcase dev`\\ 通过就地运行您的代码来运行--" +"它试图为您的代码提供尽可能逼真的运行环境,但并不提供或使用任何平台基础架构来" +"将您的代码包装成应用程序。打包应用程序的部分过程包括将代码复制到应用程序捆绑" +"包中,目前,您的应用程序中仍有旧代码。" + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "" +"因此,我们需要告诉 Briefcase 让它更新应用程序,复制新版本的代码。我们\\ " +"*可以*\\ 删除旧的平台目录,然后从头开始。不过,Briefcase " +"提供了一种更简单的方法--您可以更新现有捆绑的应用程序的代码:" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "如果 Briefcase 找不到脚手架模板,它会自动调用 `create` 生成一个新的脚手架。" + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "" +"更新了安装程序代码后,我们就可以运行 `briefcase build` 来重新编译应用程序," +"运行 `briefcase run` 来运行更新后的应用程序,并运行 `briefcase package` " +"来重新打包应用程序以便分发。" + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "" +"(macOS 用户请记住,正如 [Tutorial 3` 中所述,我们建议在运行 " +"`briefcase package` 时使用 `--adhoc-sign` " +"标志,以避免设置代码签名身份的复杂性,并使教程尽可能简单)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +msgid "Update and run in one step" +msgstr "更新和运行一步到位" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"如果要快速迭代代码更改,很可能需要更改代码、更新应用程序并立即重新运行应用程" +"序。对于大多数情况来说,开发人员模式 (`briefcase dev`) " +"是进行这种快速迭代的最简单方法;但是,如果您要测试应用程序作为原生二进制文件" +"的运行,或查找一个只有在应用程序打包时才会出现的错误,您可能需要反复调用 `" +"briefcase run`。为了简化更新和运行打包应用程序的过程,Briefcase " +"提供了支持这种使用模式的快捷方式 - `run` 命令上的 `-u`(或 " +"`--update`)选项。" + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "" +"让我们尝试做另一个改动。您可能已经注意到,如果您不在文本输入框中输入姓名," +"对话框就会显示 \"Hello, \"。 让我们再次修改 `say_hello` " +"函数,以处理这种边缘情况。" + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "在文件顶部,在导入和 `class HelloWorld` " +"定义之间,添加一个实用程序方法,以根据所提供的名称值生成适当的问候语:" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "然后,修改 `say_hello` 回调,以使用这个新的实用程序方法:" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "在开发模式下运行应用程序(使用 `briefcase " +"dev`),以确认新逻辑是否有效;然后使用一条命令更新、构建和运行应用程序:" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "" +"package 命令也接受 `-u` " +"参数,因此如果你修改了应用程序代码并希望立即重新打包,可以运行 `briefcase " +"package -u`。" + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "现在,我们的应用程序已经打包,可以在桌面平台上发布,我们也可以更新应用程序中" +"的代码。" + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "" +"但是在移动设备上呢?在 [教程 5][tutorial-5/index] " +"中,我们将把应用程序转换为移动应用程序,并将其部署到设备模拟器和手机上。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..273ba62d --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,243 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-07-08 19:04+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "教程 5 - 在移动设备上:安卓" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "现在,我们要将应用程序部署为 Android 应用程序。" + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "将应用程序部署到 Android 的过程与部署为桌面应用程序的过程非常相似。Briefcase 会处理 Android 上的依赖项的安装,包括 Android SDK、Android 模拟器,和一个 Java 编译器。" + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +msgid "Create an Android app and compile it" +msgstr "创建并编译 Android 应用程序" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "首先,运行 `create` 命令。这会下载一个 Android 应用程序模板,并在其中添加您的 Python 代码。" + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "" +"首次运行 `briefcase create android` 时,Briefcase 会下载 Java JDK 和 " +"Android SDK。文件大小较大,且下载时间可能会较长(10 " +"分钟或更长,取决于您的互联网连接速度)。下载完成后,您将会被提示接受 Google " +"的 Android SDK 许可证。还有一些需要同意的许可证 -- 在提示符不停的按 `y` " +"以查看与接受所有所需的许可证协议。" + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "完成后,我们的项目中就会有一个\\ `build/helloworld/android/gradle`\\ 目录,其中包含一个带有 Gradle 构建配置的 Android 项目。这个项目将包含您的应用代码,以及一个包含 Python 解释器的支持包。" + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "然后我们可以使用 Briefcase 的 `build` 命令将其编译为 Android APK 应用程序文件。" + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +msgid "Gradle may look stuck" +msgstr "Gradle 看起来卡住了" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "在 `briefcase build android` 步骤中,Gradle(Android 平台构建工具)会打印 \\ `CONFIGURING: 100%`,似乎什么也没做。别担心,这不是卡住了,而是在下载更多的 Android SDK 组件。根据您的网络连接速度,这可能还需要 10 分钟(或更长时间)。只有在第一次运行 `build` 时才会出现这种滞后现象;这些工具将会被缓存,下次构建时将使用缓存版本。" + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +msgid "Run the app on a virtual device" +msgstr "在虚拟设备上运行应用程序" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "" +"现在我们可以运行应用程序了。您可以使用 Briefcase 的 `run` 命令在 Android " +"设备上运行应用程序。让我们从在 Android 模拟器上运行开始。" + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "" +"要运行应用程序,请运行 `briefcase run " +"android`。运行时,系统会提示你可以在哪些设备上运行应用程序。最后一项总会是创" +"建新安卓模拟器的选项。" + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "" +"现在我们可以选择想要的设备。选择 \"Create a new Android emulator\" " +"选项,并接受默认的设备名称(`beePhone`)。" + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` 将自动启动虚拟设备。设备启动时,您将看到 Android 徽标:" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +msgid "Android virtual device booting" +msgstr "启动安卓虚拟设备" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "设备启动完成后,Briefcase " +"将在设备上安装您的应用程序。您将短暂看到一个启动页面:" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +msgid "Android virtual device fully started, on the launcher screen" +msgstr "安卓虚拟设备已完全启动,显示在启动界面上" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "然后,应用程序就会启动。程序启动时,你会看到一个闪屏:" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +msgid "App splash screen" +msgstr "应用程序启动页" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +msgid "The emulator didn't start!" +msgstr "模拟器没有启动!" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "" +"安卓模拟器是一个复杂的软件,依赖于许多硬件和操作系统功能,这些功能在旧机器上" +"可能无法使用或启用。如果在启动 Android 模拟器时遇到任何困难,请查阅 Android " +"开发人员文档中的\\ [要求和建议]{1} 部分。" + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "首次启动应用程序时,它需要将自己解压缩到设备上。这可能需要几秒钟。解压完成后" +",您将看到桌面应用程序的 Android 版本:" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +msgid "App from Tutorial 2, fully launched" +msgstr "完全启动后的教程 2 应用程序" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +msgid "Demo app fully launched" +msgstr "完全启动后的演示应用程序" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#, fuzzy +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "如果看不到应用程序启动,可能需要检查运行 `briefcase run` 的终端,查看是否有错误信息。" + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#, fuzzy +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "今后,如果想在该设备上运行而不使用菜单,可以向 Briefcase 提供模拟器名称,使用 `briefcase run android -d @beePhone` 直接在虚拟设备上运行。" + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#, fuzzy +msgid "Run the app on a physical device" +msgstr "在实体设备上运行应用程序" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#, fuzzy +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "如果您有实体安卓手机或平板电脑,可以用 USB 线缆将其连接到电脑,然后使用公文包来定位您的实体设备。" + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#, fuzzy +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "Android 要求您在设备用于开发前做好准备。您需要对设备上的选项进行两项更改:" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#, fuzzy +msgid "Enable developer options" +msgstr "启用开发人员选项" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#, fuzzy +msgid "Enable USB debugging" +msgstr "启用 USB 调试" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#, fuzzy +msgid "Details on how to make these changes can be found `in the Android developer documentation]{1}." +msgstr "有关如何进行这些更改的详细信息,[请参阅 Android 开发人员文档]{1}。" + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#, fuzzy +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "完成这些步骤后,在运行 `briefcase run android` 时,您的设备应出现在可用设备列表中。" + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#, fuzzy +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "在这里,我们可以在部署列表中看到一个带有序列号的新物理设备--在本例中是 Pixel 3a。将来,如果你想不使用菜单而在该设备上运行,可以向 Briefcase 提供手机序列号(本例中为 `briefcase run android -d 94ZZY0LNE8`)。这将直接在设备上运行,无需提示。" + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#, fuzzy +msgid "My device doesn't appear!" +msgstr "我的设备没有出现!" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#, fuzzy +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "如果你的设备根本没有出现在这个列表中,要么是你没有启用 USB 调试(要么是设备没有插上电源!)。" + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#, fuzzy +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "如果你的设备出现了,但却被列为 \"未知设备(未授权开发)\",那么开发者模式尚未正确启用。重新运行 [启用开发者选项的步骤]{1},并重新运行 \"briefcase run android\"。" + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..c2f06c7a --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,87 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-06-21 02:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "教程 5 - 在移动设备上:iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "" +"编译 iOS 应用程序需要 Xcode,可从 [macOS App Store]{1} 免费下载。当 Xcode " +"完成安装时,从“应用程序”打开它并接受 Xcode 许可协议。接下来,Xcode " +"会展示哪些模拟器运行时已内置,哪些可以下载。选择 iOS " +"模拟器运行时旁边的复选框,并点击“继续”来下载和安装它。" + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "安装好 Xcode 与 iOS 模拟器后,我们就可以将应用程序作为 iOS 应用程序进行部署。" + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "将应用程序部署到 iOS 的过程与部署桌面应用程序的过程非常相似。首先,运行 `create` 命令,但这次我们指定要创建一个 iOS 应用程序:" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "完成此操作后,我们将拥有一个包含 Xcode 项目、支持库和应用程序所需应用程序代码的 `build/helloworld/ios/xcode` 目录。" + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "然后,您可以使用 `briefcase build iOS` 来编译应用程序:" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "现在我们可以使用 `briefcase run iOS` 运行应用程序了。Briefcase 会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器,可能还会询问你要针对哪个 iOS 版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们而言,选择哪个模拟器并不重要。" + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "这将启动 iOS 模拟器,安装你的应用程序并启动它。你应该能看到模拟器启动,并最终打开你的 iOS 应用程序:" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Hello World 教程 5 窗口,在 iOS 上" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" +"当应用程序运行时,您会在控制台中看到一系列模拟器输出信息。向命令行中按 Ctrl +" +" C " +"会停止控制台中的信息,但不会关闭模拟器。这样,您无需重启模拟器,也能可以继续" +"测试新更改。" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "如果事先知道要使用哪个 iOS 模拟器,可以通过提供 `-d`(或 `--device`)选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "如果你有多个 iOS 版本,Briefcase 会选择最高的 iOS 版本;如果你想选择某个 iOS 版本,你可以告诉它使用该特定版本:" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +msgid "Or, you can name a specific device UDID:" +msgstr "或者,您也可以命名一个特定的设备 UDID:" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store]{1}." +#~ msgstr "要编译 iOS 应用程序,我们需要使用 Xcode,它可从 MacOS 应用商店 `__ 免费获取。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..ecd8a83d --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,47 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2025-06-20 02:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.12.1\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +msgid "Tutorial 5 - Taking it Mobile" +msgstr "教程 5 - 在移动设备上" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "到目前为止,我们一直在电脑上运行和测试应用程序。不过,BeeWare " +"同样支持移动平台,我们编写的应用程序也可以部署到您的移动设备上!" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +msgid "iOS applications can only be compiled on macOS." +msgstr "iOS 应用程序只能在 macOS 上编译。" + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "安卓应用程序可在 macOS、Windows 或 Linux 上编译。" + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Let's build our app for iOS!`" + +#~ msgid ":doc:`Let's build our app for Android!][android]" +#~ msgstr ":doc:`Let's build our app for Android!`" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..83818b8b --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,113 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"PO-Revision-Date: 2025-07-05 15:27+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 +msgid "Tutorial 6 - Put it on the web!" +msgstr "教程 6 - 把它放上网!" + +#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "除了支持移动平台,Toga " +"控件工具包还支持网络!使用与部署桌面和移动应用程序相同的应用程序接口,您可以" +"将应用程序部署为单页网页应用程序。" + +#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 +msgid "Proof of Concept" +msgstr "概念验证" + +#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "" +"Toga Web 后端是所有 Toga " +"后端中最不成熟的一个。它已经足够成熟,可以展示一些功能,但很可能会有问题,而" +"且会缺少许多其他平台上可用的控件。目前,Web " +"部署应被视为“概念验证”--足以展示可以做什么,但还不足以作为严肃开发的依据。" + +#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "如果您在教程的这一步遇到问题,可以跳到下一页。" + +#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +msgid "Deploying as a web app" +msgstr "作为网页应用程序部署" + +#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "" +"作为单页面 Web 应用程序部署的过程遵循相同的熟悉模式--" +"创建应用程序,然后构建应用程序,然后运行它。不过,Briefcase " +"也有一点小聪明;如果您尝试运行应用程序,而 Briefcase " +"确定该应用程序尚未针对目标平台创建或构建,那么它会为您执行创建和构建步骤。由" +"于这是我们第一次为网络运行应用程序,我们可以用一条命令执行所有三个步骤:" + +#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "这将打开一个网页浏览器,指向 [http://127.0.0.1:8080 " +"`__:" + +#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "浏览器中的 Hello World 教程 6 对话框" + +#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "如果输入您的姓名并点击按钮,就会出现一个对话框。" + +#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +msgid "How does this work?" +msgstr "这是怎么工作的?" + +#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "" +"此网络应用程序是一个静态网站 -- 一个 HTML 源页面,包含一些 CSS 和其他资源。" +"Briefcase " +"启动了一个本地网络服务器来提供该页面,以便您的浏览器可以查看该页面。如果您想" +"将此网页进入生产,可以将 `www` " +"文件夹中的内容复制到任何可以提供静态内容的网络服务器上。" + +#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "" +"但当你按下按钮时,你运行的是 Python 代码......这是怎么做到的呢?Toga 使用 [" +"PyScript]{1} 在浏览器中提供 Python 解释器。Briefcase " +"将应用程序的代码打包成 PyScript 可以在浏览器中加载的 " +"wheels。加载页面时,应用代码会在浏览器中运行,并使用浏览器 DOM " +"构建用户界面。当您点击按钮时,该按钮会在浏览器中运行事件处理代码。" + +#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "" +"虽然我们现在已经在桌面、手机和网络上部署了这个应用程序,但该应用程序相当简单" +",不涉及任何第三方库。我们可以在应用程序中包含 Python 包索引 (PyPI) " +"中的库吗?请访问 [教程7][tutorial-7] 了解详情..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..88f8375c --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,369 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2025-08-09 01:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "教程 7 - 使用第三方库" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "到目前为止,我们构建的应用程序只使用了我们自己的代码和 BeeWare 提供的代码。不过,在实际应用中,您很可能需要使用从 Python 软件包索引(PyPI)下载的第三方库。" + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +msgid "Let's modify our app to include a third-party library." +msgstr "让我们修改应用程序,加入第三方库。" + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "添加软件包" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "让我们修改我们的应用程序,使其能够显示比“你好!”更丰富的内容。" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" +"为了为我们的对话框生成一些更有趣的内容,我们将使用一款名为 [Faker]{1} 的库。Faker 是一个用于生成假内容的 " +"Python 软件包,包括生成名字与文本块。Faker " +"通过它提供的词语列表以生成这些内容。我们将用 Faker " +"构建一条假信息,就像有人在向用户回应一样。" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "我们开始吧 `faker` 添加到我们的应用程序中。在 `app.py` 的最上方加入一个导入,用于导入 `faker`:" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "让我们在 Briefcase 开发者模式下运行更新后的应用程序,检查我们的更改是否有效。" + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"发生了什么?我们已经将 `faker` 添加到我们的\\ *代码*\\ " +"中,但我们还没有将它添加到我们的开发虚拟环境中。要解决这个问题,我们可以用 " +"`pip` 安装 `faker`,然后重新运行 `briefcase dev`:" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "输入名称并按下按钮后,您会看到一个类似如下的对话框:" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Hello World 教程 7 对话框,在 macOS 上" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "在 Linux 上的 Hello World 教程 7 对话框" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "在 Windows 上的 Hello World 教程 7 对话框" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "现在,我们已经有了一个可正常运行的应用程序,它使用第三方库,并以开发模式运行" +"!" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +msgid "Running the updated app" +msgstr "运行更新后的应用程序" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "让我们将更新后的应用程序代码打包为独立应用程序。由于我们对代码进行了修改,因此需要遵循 [Tutorial 4` 中的相同步骤:" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "更新打包应用程序中的代码:" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "重建应用程序:" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#, fuzzy +msgid "And finally, run the app:" +msgstr "最后,运行应用程序:" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "但是,当程序运行时,你会在控制台中看到一个错误,还有一个崩溃对话框:" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "MacOS 上的 Hello World Tutorial 7 应用程序崩溃" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Hello World 教程 7》应用程序崩溃,在 Windows 系统上" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "应用程序再次启动失败,因为已经安装了 `httpx` - 但为什么呢?我们不是已经安装了 `httpx` 吗?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "我们有,但仅限于开发环境。你的开发环境完全在你的机器本地,只有当你明确激活它时才会启用。虽然公文包有开发模式,但使用公文包的主要原因是打包你的代码,这样你就可以把它交给别人。" + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "要保证别人的 Python 环境包含它所需要的一切,唯一的办法就是构建一个完全隔离的 Python 环境。这意味着有一个完全独立的 Python 安装,和一套完全独立的依赖关系。这就是当你运行 `briefcase build` 时,Briefcase 正在构建的 - 一个隔离的 Python 环境。这也解释了为什么没有安装 `httpx` - 它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "因此,我们需要告诉 Briefcase,我们的应用程序有一个外部依赖关系。" + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "更新依赖项" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "在应用程序的根目录中,有一个名为 `pyproject.toml` 的文件。该文件包含您最初运行 `briefcase new` 时提供的所有应用程序配置详细信息。" + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "pyproject.toml \"分为多个部分,其中一部分描述了应用程序的设置::" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "requires \"选项描述了应用程序的依赖关系。它是一个字符串列表,其中指定了您希望应用程序包含的库(以及可选的版本)。" + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "修改 `requires` 设置为::" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "通过添加此设置,我们告诉 Briefcase \"当你构建我的应用程序时,运行 `pip install httpx` 到应用程序捆绑包中\"。任何可以合法输入到 `pip install` 的内容都可以在这里使用--因此,你可以指定:" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "特定的库版本(例如, `\"httpx===0.19.0\"` );" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "一系列库版本(例如, `\"httpx>=0.19\"` );" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "指向 git 仓库的路径(例如,`\"git+https://github.com/encode/httpx\"`);或" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "本地文件路径(不过需要注意的是:如果你把代码交给别人,这个路径很可能不存在于他们的机器上!)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "在 `pyproject.toml` 中的更下面部分,你会注意到与操作系统相关的其他部分,如 `[tool.briefcase.app.helloworld.macOS]` 和 `[tool.briefcase.app.helloworld.windows]`。这些部分**也有一个 `requires` 设置。这些设置允许你定义额外的特定平台依赖关系,例如,如果你需要一个特定平台的库来处理应用程序的某些方面,你可以在特定平台的 `requires` 部分中指定该库,而该设置将仅用于该平台。你会注意到,所有的 `toga` 库都是在特定平台的 `requires` 部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "在我们的例子中,我们希望 `httpx` 安装在所有平台上,因此使用了应用程序级的 `requires` 设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项之外*安装。" + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "既然我们已经告诉了 Briefcase 我们的额外需求,那么我们就可以再次尝试打包应用程序了。确保已将更改保存到 `pyproject.toml`,然后再次更新应用程序--这一次,传递 `-r` 标志。这将告诉 Briefcase 更新打包应用程序中的需求:" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "更新完成后,您可以运行 `briefcase build` 和 `briefcase run` - 您应该会看到打包后的应用程序,并带有新的对话框行为。" + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "用于更新需求的 `-r` 选项也会被 `build` 和 `run` 命令接受,因此如果你想一步完成更新、编译和运行,可以使用 `briefcase run -u -r`。" + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)][https://pypi.org]__, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited]{1}." +msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"都可以添加到您的需求中。在移动和网络平台上,[您的选择略显有限]{1}。" + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "*通常*\\ " +"可以为移动平台编译二进制软件包,但是不容易设置,且远超出了本教程这样的入门教" +"程涵盖的范围。" + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "访问应用程序接口" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "应用程序需要执行的一项常见任务是向网络应用程序接口发出请求以获取数据,并将数据显示给用户。这是一个玩具应用程序,因此我们没有\\ *真正*\\ 的 API 可供使用,所以我们将使用 [{JSON} 占位符 API]{1} 作为数据源。" + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "{JSON} 占位符 API 有许多 \"伪造 \"的 API 端点,您可以将其用作测试数据。其中一个 API 是 `/posts/` 端点,它会返回虚假的博客文章。如果在浏览器中打开 `https://jsonplaceholder.typicode.com/posts/42` ,就会得到一个描述单篇博文的 JSON 有效载荷--ID 为 42 的博文的一些 [Lorum ipsum]{1} 内容。" + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "Python 标准库包含访问 API 所需的所有工具。然而,内置的 API 是非常低级的。它们很好地实现了 HTTP 协议,但需要用户管理大量低级细节,如 URL 重定向、会话、身份验证和有效负载编码。作为一名 \"普通浏览器用户\",你可能已经习惯了将这些细节视为理所当然,因为浏览器会为你管理这些细节。" + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "因此,人们开发了第三方库来封装内置的 API,并提供更简单的 API,使其更符合日常的浏览器体验。我们将使用其中一个库来访问 {JSON} 占位符 API - 一个名为 [httpx]{1} 的库。" + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "这将更改 `say_hello()` 回调,使它在被调用时,会:" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "在 JSON 占位符 API 上发出 GET 请求,以获取post42;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "将响应解码为 JSON 格式;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "提取帖子正文;以及" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "将该帖子的正文作为对话框的文本。" + +#~ msgid "Some binary packages may not be available" +#~ msgstr "某些二进制软件包可能不可用" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "简而言之,任何*纯 Python* 包(即*不包含二进制模块的包)都可以毫无困难地使用。但是,如果您的依赖包包含二进制组件,则必须对其进行编译;目前,大多数 Python 包都不支持非桌面平台的编译。" + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "我们现在有了一个使用第三方库的应用程序!不过,您可能已经注意到,当您按下按钮时,应用程序会变得有点反应迟钝。我们能解决这个问题吗?请访问 :doc:`Tutorial 8` 了解详情..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..ca1c1567 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,386 @@ +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2025-08-09 01:01+0000\n" +"Last-Translator: John \n" +"Language-Team: Chinese (Simplified Han script) \n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.13-dev\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +msgid "Tutorial 8 - Making it Smooooth" +msgstr "教程 8 - 使其光滑" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" +"到目前为止,我们的应用程序相对简单——显示图形用户界面控件、调用一个简单的第三" +"方库,以及在对话框中显示输出。所有这些操作都非常迅速,我们的应用程序始终保持" +"响应。" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" +"但是,在实际的应用中,我们将需要进行会需要一会儿才能完成的复杂任务。当这些任" +"务进行时,我们想让我们的应用保持响应。让我们更改我们的应用程序,添加一个需要" +"一些时间才能完成的任务,并看看需要怎样更改应用程序,适应这个新的行为。" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "访问 API" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" +"应用程序需要进行的一个常见的耗时任务时在一个网络 API " +"上请求取回数据,并将数据显示给用户。网络 API 有时需要一两秒才能回应," +"所以如果我们将要访问这种 API,我们需要确保我们的应用在等待网络 API " +"返回答案时保持响应。" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" +"这只是个入门级的应用,我们没有*真正*的API可供调用,所以我们将使用[{JSON}占位" +"符API]{1} 作为数据来源。{JSON}占位符API有" +"一系列“虚假”的API端点可以供您作为测试数据调用。其中之一就是`/posts/" +"`端点,它会返回一些虚假的博客推文。如果您在浏览器中访问`https://" +"jsonplaceholder.typicode.com/posts/" +"42`,您将会得到一串看起来像是在发推文的JSON数据——不过内容是ID为42的一些`乱数" +"假文(Lorum ipsum)]{1}。" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" +"Python 标准库包含了需要访问一个 API 的所有工具,但这些内置 API 非常低级别。" +"它们良好的实现了 HTTP 协议,但它们要求用户管理 URL " +"重定向、会话、身份验证、数据编码等许多低级别细节。作为一个 " +"“普通浏览器用户”,您可能会把这些细节的管理是为理所当然的,因为浏览器帮您管理" +"它们。" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "输入名称并按下按钮后,您会看到一个类似如下的对话框:" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "除非您的网络连接速度\\ *非常*\\ 快,否则您可能会注意到,当您按下按钮时,应用程序的图形用户界面会锁定一会儿。这是因为我们发出的网络请求是\\ *同步*\\ 的。当我们的应用程序发出网络请求时,它会等待应用程序接口返回响应,然后再继续。在等待的过程中,应用程序\\ *不*\\ 允许重新绘制,结果导致应用程序锁定。" + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "GUI Event Loops" +msgstr "图形用户界面事件循环" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "要理解为什么会出现这种情况,我们需要深入了解图形用户界面应用程序的工作原理。具体细节因平台而异,但无论使用何种平台或图形用户界面环境,高层概念都是相同的。" + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "从根本上说,图形用户界面应用程序就是一个单一的循环,看起来就像:" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "这个循环被称为 *事件循环*。(这些并不是实际的方法名称,而是 \"伪代码 \"的说明)。" + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#, fuzzy +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "当你点击一个按钮、拖动一个滚动条或输入一个键时,你就产生了一个 \"事件\"。该 \"事件 \"被放入一个队列,应用程序将在下一次有机会时处理队列中的事件。为响应事件而触发的用户代码称为*事件处理程序*。这些事件处理程序作为`process_events()`调用的一部分被调用。" + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "应用程序处理完所有可用事件后,就会 重绘 (`redraw()`)图形用户界面。这将考虑到事件对应用程序显示所造成的任何变化,以及操作系统中发生的任何其他情况,例如,其他应用程序的窗口可能会遮挡或显示我们应用程序的部分窗口,而我们应用程序的重绘将需要反映当前可见的窗口部分。" + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#, fuzzy +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "需要注意的重要细节是:当应用程序在处理事件时,*不能重绘*,*也不能处理其他事件*。" + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#, fuzzy +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "这意味着事件处理程序中包含的任何用户逻辑都需要快速完成。完成事件处理程序的任何延迟都会被用户观察到,表现为图形用户界面更新的减慢(或停止)。如果延迟时间足够长,操作系统可能会将此报告为问题--macOS 的 \"沙滩球 \"和 Windows 的 \"旋转器 \"图标就是操作系统在告诉你,你的应用程序在事件处理程序中耗时过长。" + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#, fuzzy +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "像 \"更新标签 \"或 \"重新计算输入总和 \"这样的简单操作很容易快速完成。然而,有很多操作是无法快速完成的。如果要执行复杂的数学计算,或为文件系统中的所有文件编制索引,或执行大型网络请求,就不能 \"快速完成\"--这些操作本身就很慢。" + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#, fuzzy +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "那么,我们如何在图形用户界面应用程序中执行长期操作呢?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#, fuzzy +msgid "Asynchronous programming" +msgstr "异步编程" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#, fuzzy +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "我们需要的是一种方法,让处于长期事件处理程序中间的应用程序知道,只要我们能从上次中断的地方继续运行,就可以暂时将控制权释放回事件循环。应用程序可以自行决定何时释放控制权;但如果应用程序定期向事件循环释放控制权,我们就可以拥有一个长期运行的事件处理程序,并**保持响应式用户界面。" + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#, fuzzy +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "我们可以通过使用*异步编程*来实现这一点。异步编程是一种描述程序的方法,它允许解释器同时运行多个函数,在所有并发运行的函数之间共享资源。" + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "异步函数(称为 * 协同例程*)需要明确声明为异步函数。它们还需要在内部声明何时有机会将上下文切换到另一个共同例程。" + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "在 Python 中,异步编程是通过 `async` 和 `await` 关键字以及标准库中的 [asyncio]{1} 模块来实现的。[async` 关键字允许我们声明一个函数是异步协程。关键字 `await` 提供了一种方法来声明何时有机会将上下文切换到另一个协程。`asyncio]{1} 模块为异步编码提供了一些其他有用的工具和原语。" + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "使教程异步化" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#, fuzzy +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "为了使我们的教程成为异步教程,请修改事件处理程序 \"say_hello()\",使其看起来像这样::" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "与上一版本相比,该代码只有 4 处改动:" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#, fuzzy +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "创建的客户端是异步的 `AsyncClient()` 而不是同步的 `Client()[。这就告诉 `httpx` 应在异步模式而非同步模式下运行。" + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#, fuzzy +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "用于创建客户端的上下文管理器被标记为 `async`。这就告诉 Python,当上下文管理器进入和退出时,有机会释放控制。" + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "Toga 允许你使用常规方法或异步协程作为处理程序;Toga 在幕后管理一切,确保处理程序按要求被调用或等待。" + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "如果保存这些更改并重新运行应用程序(在开发模式下使用 `briefcase dev` 或更新并重新运行打包的应用程序),应用程序不会有任何明显的变化。不过,当您点击按钮触发对话框时,您可能会注意到一些细微的改进:" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#, fuzzy +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "按钮会返回到 \"未点击 \"状态,而不是停留在 \"已点击 \"状态。" + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +#, fuzzy +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "沙滩球\"/\"旋转器 \"图标不会出现" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "如果在等待对话框出现时移动或调整应用程序窗口的大小,窗口将重新绘制。" + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#, fuzzy +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "如果尝试打开应用程序菜单,菜单会立即出现。" + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "" + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "现在,我们已经有了一个既流畅又反应灵敏的应用程序,即使在等待速度较慢的应用程序接口时也是如此。但是,我们如何确保在继续进一步开发的过程中,应用程序仍能正常运行?如何测试应用程序?请访问 [Tutorial 9[ 了解详情..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "方法定义为 `asyncdef`,而不只是 `def`。这告诉 Python 该方法是一个异步协程。" + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "get \"调用带有 \"await \"关键字。这指示应用程序在等待网络响应时,可以将控制权释放给事件循环。" + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." +#~ msgstr "" + +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#~ msgstr "" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po new file mode 100644 index 00000000..18dd8f40 --- /dev/null +++ b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po @@ -0,0 +1,165 @@ + +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-04-30 17:27+0000\n" +"PO-Revision-Date: 2024-01-13 02:06+0000\n" +"Last-Translator: Sheep Cat \n" +"Language: zh_CN\n" +"Language-Team: Chinese (Simplified) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-9.rst:3 aeef8be59f2c4d4eb5bff4d71d02d58c +#, fuzzy +msgid "Tutorial 9 - Testing times" +msgstr "教程 9 - 测试时间" + +#: ../../tutorial/tutorial-9.rst:5 035cf073ccad4319b3846341a3f9576e +#, fuzzy +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "大多数软件开发并不涉及编写新代码,而是修改现有代码。确保现有代码以我们期望的方式继续工作是软件开发过程的关键部分。确保应用程序行为的方法之一就是*测试套件*。" + +#: ../../tutorial/tutorial-9.rst:11 273ac408f7f146c0ade1bd079200f5e3 +#, fuzzy +msgid "Running the test suite" +msgstr "运行测试套件" + +#: ../../tutorial/tutorial-9.rst:13 09c92fbb8b164f6fa46458fba4009628 +#, fuzzy +msgid "It turns out our project already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:src \"和 \"tests\"。src \"文件夹包含应用程序的代码;\"tests \"文件夹包含测试套件。在 `tests` 文件夹中,有一个名为 `test_app.py` 的文件,内容如下::" + +#: ../../tutorial/tutorial-9.rst:23 a59b93a912854067b72e4dc131f63887 +#, fuzzy +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "这是一个 [Pytest]{1} *测试用例* - 可以执行的代码块,用于验证应用程序的某些行为。在本例中,该测试是一个占位符,并不测试我们应用程序的任何内容,但我们可以执行该测试。" + +#: ../../tutorial/tutorial-9.rst:28 4d9dbd44684b46638128fdf048729189 +#, fuzzy +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "我们可以使用 `briefcase dev` 的 `--test` 选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` 选项,以确保测试需求也已安装:" + +#: ../../tutorial/tutorial-9.rst:34 ../../tutorial/tutorial-9.rst:139 +#: ../../tutorial/tutorial-9.rst:209 ../../tutorial/tutorial-9.rst:326 +#: ../../tutorial/tutorial-9.rst:396 6b371ee840fa423f89e70cbe3f16f5ab +#: 7d737be606774089a4a5979fa2ec76f7 c3446d0bc83c41b393818dc56646f3df +#: efa9001848c34815955fc7a63d07848d fc88bd37865d42d1a448807d82c34a40 +msgid "macOS" +msgstr "MacOS" + +#: ../../tutorial/tutorial-9.rst:57 ../../tutorial/tutorial-9.rst:156 +#: ../../tutorial/tutorial-9.rst:241 ../../tutorial/tutorial-9.rst:344 +#: ../../tutorial/tutorial-9.rst:438 02861222759a45cf8338631549c785ca +#: 0a00047dbaf947168624a74453123ed2 4a0ff02cc68449f498b652bcff379b57 +#: f24e91b790ff40d199ab7de902b6ab31 f955d23018a54fee9b0fe607594980a0 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-9.rst:83 ../../tutorial/tutorial-9.rst:173 +#: ../../tutorial/tutorial-9.rst:275 ../../tutorial/tutorial-9.rst:362 +#: ../../tutorial/tutorial-9.rst:471 3e69d1ae50aa48edb84bc3726cef322c +#: 7376c756445847ddb5ec0d893debb866 dae0ad5506904e6790461682885a2559 +#: e4c815ae09434549959836fee63d2bfe e594b247167743c2ad4688a62c7b80cb +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-9.rst:109 4ee7e5a2ed604cdd88d7c0b0d7d5aab6 +#, fuzzy +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "成功了!我们刚刚执行了一个测试,验证了 Python 数学以我们预期的方式运行(真是松了一口气!)。" + +#: ../../tutorial/tutorial-9.rst:112 075cb21da3a54abdba43182366f6554a +#, fuzzy +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` 方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容::" + +#: ../../tutorial/tutorial-9.rst:130 3911037704b24843b30fc87144226ceb +#, fuzzy +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "这将定义两个新测试,验证我们期望看到的两种行为:提供名称时的输出和名称为空时的输出。" + +#: ../../tutorial/tutorial-9.rst:133 281cadf9d1bc477a9f8adbb213f53211 +#, fuzzy +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` 选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" + +#: ../../tutorial/tutorial-9.rst:190 f6793768beb04843b7089ebf90a0d712 +#, fuzzy +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "非常好我们的 `greeting()` 实用程序方法如期工作了。" + +#: ../../tutorial/tutorial-9.rst:193 00ec17fba6fd48bc9443bcd3114a9f86 +#, fuzzy +msgid "Test driven development" +msgstr "测试驱动开发" + +#: ../../tutorial/tutorial-9.rst:195 af38e016b4494ded99ff84e4a854ab72 +#, fuzzy +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位用户添加特殊的问候语。首先,我们可以在 `test_app.py`':的底部为我们希望看到的新行为添加一个测试用例:" + +#: ../../tutorial/tutorial-9.rst:205 3f5bcdb2f18c487bacc726b46150b1b3 +#, fuzzy +msgid "Then, run the test suite with this new test:" +msgstr "然后,用这个新测试运行测试套件:" + +#: ../../tutorial/tutorial-9.rst:307 a18fd7b9f69c4e51bf13b2178368d84d +#, fuzzy +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 \"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 \"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` 的实现,使其具有新的行为::" + +#: ../../tutorial/tutorial-9.rst:322 f32631a5038e4c878e9dd3a9fe067386 +#, fuzzy +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "如果我们再次运行测试,就会发现测试通过了:" + +#: ../../tutorial/tutorial-9.rst:381 6ff3035bb2294957a642d851702f4e22 +#, fuzzy +msgid "Runtime tests" +msgstr "运行时测试" + +#: ../../tutorial/tutorial-9.rst:383 3fcdbeec1ebf4cf28c48a634f6da8ced +#, fuzzy +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "到目前为止,我们一直在开发模式下运行测试。这在开发新功能时尤其有用,因为您可以快速迭代添加测试,并添加代码使测试通过。不过,在某些情况下,您会希望验证您的代码在捆绑应用程序环境下是否也能正确运行。" + +#: ../../tutorial/tutorial-9.rst:389 0ab123fec4fa421ebcd01f5498675ecb +#, fuzzy +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "[-test`和`-r`选项也可以传递给`run`命令。如果使用 `briefcase run --test -r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发环境中运行:" + +#: ../../tutorial/tutorial-9.rst:508 258cdcbd93bc4326989cb659e476a855 +#, fuzzy +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r` 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" + +#: ../../tutorial/tutorial-9.rst:512 5bdcaccd83054bc0b5d91a40e9bf0f00 +#, fuzzy +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "你也可以在移动后端使用 `--test` 选项:因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以在你选择的移动设备上运行测试套件。" + +#: ../../tutorial/tutorial-9.rst:517 25dee6c2ad704e26ad008f713c0770b0 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-9.rst:519 de845c7c4bb440caab7634cdc872d9bb +msgid "We've now got a a test suite for our application. But it still looks like a tutorial app. Is there anything we can do about that? Turn to [Tutorial 10][tutorial-10] to find out..." +msgstr "" + +#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" +#~ msgstr "这只是您利用 BeeWare 项目提供的工具所能做的一些尝试。接下来的工作就靠您自己了!" + +#~ msgid "Some places to go from here:" +#~ msgstr "从这里可以去一些地方:" + +#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" + +#~ msgid "Details on the [options available when configuring your Briefcase project]{1}." +#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/how-to/index.po b/updated-locales/zh_TW/LC_MESSAGES/how-to/index.po new file mode 100644 index 00000000..e69fa168 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -0,0 +1,327 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2025, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2025. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.1\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_TW\n" +"Language-Team: zh_TW \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +msgid "Contributing to this tutorial" +msgstr "" + +#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +msgstr "" + +#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +msgstr "" + +#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +msgid "Set up your development environment" +msgstr "" + +#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." +msgstr "" + +#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 +#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 +#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 +#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 +#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 +#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 +#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 +#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a +#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 +#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 +#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d +#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 +#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 +#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c +msgid "macOS" +msgstr "" + +#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 +#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 +#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 +#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 +#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 +#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 +#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 +#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 +#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e +#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 +#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e +#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 +#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df +#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab +msgid "Linux" +msgstr "" + +#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 +#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 +#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 +#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 +#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 +#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 +#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 +#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb +#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f +#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 +#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c +#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f +#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b +#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d +msgid "Windows" +msgstr "" + +#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 +msgid "Install Enchant" +msgstr "" + +#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 +msgid "You'll also need to install the Enchant spell checking library." +msgstr "" + +#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b +msgid "Enchant can be installed using [Homebrew]{1}:" +msgstr "" + +#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d +msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" +msgstr "" + +#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 +msgid "Enchant can be installed as a system package:" +msgstr "" + +#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc +msgid "**Fedora**" +msgstr "" + +#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 +msgid "**Arch / Manjaro**" +msgstr "" + +#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c +msgid "Enchant is installed automatically when you set up your development environment." +msgstr "" + +#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +msgid "Create a virtual environment" +msgstr "" + +#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 +msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +msgstr "" + +#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +msgid "Clone the BeeWare repository" +msgstr "" + +#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 +#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 +#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 +#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +msgid "(substituting your GitHub username)" +msgstr "" + +#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa +msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +msgstr "" + +#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +msgid "Install pre-commit" +msgstr "" + +#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgstr "" + +#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 +msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +msgstr "" + +#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 +msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +msgstr "" + +#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +msgid "Building BeeWare's documentation" +msgstr "" + +#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +msgid "Build documentation locally" +msgstr "" + +#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +msgid "Once your development environment is set up, run:" +msgstr "" + +#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +msgid "Live documentation preview" +msgstr "" + +#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 +msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" +msgstr "" + +#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c +msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." +msgstr "" + +#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +msgstr "" + +#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgstr "" + +#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +msgid "Documentation linting" +msgstr "" + +#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 +msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +msgid "dead hyperlinks" +msgstr "" + +#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +msgid "misspelled words" +msgstr "" + +#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf +msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 +msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +msgstr "" + +#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 +msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +msgstr "" + +#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +msgid "Rebuilding all documentation" +msgstr "" + +#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af +msgid "To force a rebuild for all of the documentation:" +msgstr "" + +#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +msgstr "" + +#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +msgid "What to work on?" +msgstr "" + +#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 +msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +msgstr "" + +#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +msgid "Submitting a pull request" +msgstr "" + +#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 +msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +msgstr "" + +#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 +msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +msgstr "" + +#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +msgid "To create a feature branch, run:" +msgstr "" + +#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 +msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +msgstr "" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/index.po b/updated-locales/zh_TW/LC_MESSAGES/index.po new file mode 100644 index 00000000..61f9e1d0 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/index.po @@ -0,0 +1,105 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"PO-Revision-Date: 2024-04-11 10:01+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d +msgid "Welcome to the BeeWare Tutorial!" +msgstr "歡迎來到 BeeWare 教學!" + +#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +msgid "**Write Python. Run Anywhere.**" +msgstr "**在任何地方執行你寫的Python。**" + +#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." +msgstr "歡迎來到 BeeWare!在本教學中,我們將使用 Python 建立一個 GUI,並將其部署為桌面應用程式、行動應用程式和網頁。我們還將了解如何使用 BeeWare 工具來執行作為應用程式開發人員所需執行的一些常見任務,例如測試應用程式。" + +#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 +msgid "Translations are available" +msgstr "本頁中文翻譯基於英文文檔翻譯,已由人工審核" + +#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." +msgstr "如果您不熟悉中文,可以使用本教學的翻譯版本 [English]{1} [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [简体中文]{1} 。" + +#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 +msgid "This is a machine translation!" +msgstr "這是機器翻譯!" + +#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b +msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." +msgstr "此版本的教學是透過機器翻譯產生的。我們知道這並不理想,但我們認為糟糕的翻譯總比沒有翻譯好。" + +#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f +#: b5a5d118b9c44330acf43ccd710b25bb +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "如果您想要協助改進翻譯,請聯絡我們!我們在 [Discord]{1} 中有一個 `#translations` 頻道。在那裡進行自我介紹,我們會將您加入翻譯團隊。" + +#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +msgid "This is a translation!" +msgstr "這是翻譯!" + +#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." +msgstr "本文檔是英文版本的翻譯。翻譯已經過人工審核,但較新的部分可能是由機器翻譯產生的,或者根本不翻譯。" + +#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +msgid "What is BeeWare?" +msgstr "什麼是 BeeWare?" + +#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" +msgstr "BeeWare 不是一個單一的產品、工具或函式庫 - 它是工具和函式庫的集合,每個工具和函式庫協同工作,幫助您編寫跨平台的原生 Python GUI 應用程式。這包括:" + +#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e +#, fuzzy +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1} ,跨平台小工具包;" + +#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#, fuzzy +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1} ,一種將 Python 專案打包為可分發形式(apk、exe等)並可傳送給最終使用者的工具;" + +#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#, fuzzy +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "用於存取各個平臺的原生庫的庫(例如 [Rubicon ObjC]{1} );" + +#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +msgstr "預編譯版本的 Python 可在無官方 Python 安裝程式的平台上使用。" + +#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." +msgstr "在本教程中,我們將使用所有這些工具,但作為用戶,您只需要與前兩個工具(Toga 和 Briefcase)進行互動。每個工具也可以單獨使用 - 舉例來說,您可以使用 Briefcase 來部署應用程序,而不使用 Toga 作為 GUI 工具包。" + +#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." +msgstr "BeeWare 套件可在 macOS、Windows、Linux(使用 GTK)上使用,也在Android和iOS等行動平台上,甚至是網頁。" + +#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#, fuzzy +msgid "Let's go!" +msgstr "讓我們開始吧!" + +#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "準備好親自嘗試 BeeWare 了嗎? [讓我們用 Python 建立一個跨平台應用程式!][tutorial/tutorial-0]" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po new file mode 100644 index 00000000..3c39e7bf --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po @@ -0,0 +1,138 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_TW\n" +"Language-Team: zh_TW \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 +msgid "Using the camera" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 +msgid "This tutorial won't work on all platforms!" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e +msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 +msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 +msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 +msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +msgid "Start a new project" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +msgid "Add code to take a photo" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +msgid "Adding device permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 +msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 +msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b +msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +msgid "We can now generate and run the app:" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 +msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +msgid "Adding more permissions" +msgstr "" + +#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "" + +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#~ msgstr "" + +#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." +#~ msgstr "" + +#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" +#~ msgstr "" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po new file mode 100644 index 00000000..47dd6a1f --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -0,0 +1,147 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"PO-Revision-Date: 2024-04-10 21:02+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#, fuzzy +msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." +msgstr "到目前為止,我們的應用程式使用了預設的 `灰色蜜蜂` 圖示。我們如何更新應用程式以使用我們自己的圖標?" + +#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +msgid "Adding an icon" +msgstr "新增圖示" + +#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 +msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 +msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:36 +#: ../../tutorial/topics/custom-icons.rst:203 +#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 +#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 +msgid "macOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:53 +#: ../../tutorial/topics/custom-icons.rst:227 +#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 +#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b +msgid "Linux" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:75 +#: ../../tutorial/topics/custom-icons.rst:257 +#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 +#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 +msgid "Windows" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:92 +#: ../../tutorial/topics/custom-icons.rst:282 +#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a +#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 +msgid "Android" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:128 +#: ../../tutorial/topics/custom-icons.rst:327 +#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e +#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 +msgid "iOS" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 +msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 +msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d +msgid "Icon of green snake with a light blue background" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f +msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgstr "" + +#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgstr "" + +#~ msgid "**Coming soon**" +#~ msgstr "**即將推出**" + +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "我們現在在桌面和手機上有了一個帶有自訂圖示的應用程式!我們如何與其他人分享這個應用程式?到 [教程 11` 找找看..." + +#~ msgid "Tutorial 10 - Make this app your own" +#~ msgstr "教程 10 - 打造您自己的應用程式" + +#~ msgid "Next steps" +#~ msgstr "下一步" + +#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" +#~ msgstr "" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po new file mode 100644 index 00000000..59e4c6de --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po @@ -0,0 +1,52 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language: zh_TW\n" +"Language-Team: zh_TW \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab +msgid "Going further" +msgstr "" + +#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 +msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +msgstr "" + +#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 +msgid "Customizing icons" +msgstr "" + +#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 +msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +msgstr "" + +#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e +msgid "Application Testing" +msgstr "" + +#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b +msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +msgstr "" + +#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 +msgid "Camera access" +msgstr "" + +#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 +msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +msgstr "" diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po new file mode 100644 index 00000000..497262f5 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po @@ -0,0 +1,148 @@ +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"PO-Revision-Date: 2024-04-11 22:01+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 +msgid "Testing times" +msgstr "" + +#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +msgstr "大多數軟體開發並不涉及編寫新程式碼,而是修改現有程式碼。確保現有程式碼繼續按照我們期望的方式運作是軟體開發過程的關鍵部分。確保我們的應用程式行為的一種方法是使用 *測試套件* 。" + +#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +msgid "Running the test suite" +msgstr "運行測試套件" + +#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#, fuzzy +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "事實上,我們的專案已經有測試套件了!當我們最初產生專案時,產生了兩個資料夾: `src` 和 `tests` 。 `src` 資料夾包含我們應用程式的程式碼; `tests` 資料夾包含我們的測試套件。在 `tests` 資料夾內有一個名為 `test_app.py` 的文件,其中包含以下內容:" + +#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "這是一個 [Pytest]{1} 的 *測試範例* - 可以執行以驗證應用程式的某些行為的程式碼區塊。在本例中,測試僅是一個範例,不會測試有關我們應用程式的任何內容 - 但它是我們可以執行的測試。" + +#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "我們可以使用 `briefcase dev` 的 `--test` 選項來執行這個測試套件。由於這是我們第一次執行測試,我們還需要傳入 `-r` 選項以確保測試要求也已安裝:" + +#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 +#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 +#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 +#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c +#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 +#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 +#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 +#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 +#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 +#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 +#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 +#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 +#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +msgstr "成功了!我們剛剛執行了一個測試,證實了 Python 的數學按照我們期望的方式工作(真是鬆了一口氣!)。" + +#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "讓我們用一個測試來取代這個範例,以驗證我們的 `greeting()` 方法的行為是否符合我們的預期。將 `test_app.py` 的內容替換為以下內容:" + +#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +msgstr "這定義了兩個新的測試,驗證我們期望看到的兩個行為:提供名稱時的輸出,以及名稱為空時的輸出。" + +#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "我們現在可以重新運行測試套件。這次,我們不需要提供 `-r` 選項,因為測試要求已經安裝了;我們只需要使用 `--test` 選項:" + +#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "非常好!我們的 `greeting()` 實用方法按預期工作。" + +#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +msgid "Test driven development" +msgstr "用測試來驅動開發" + +#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "現在我們有了測試套件,我們可以用它來驅動新功能的開發。讓我們修改我們的應用程序,為某個特定用戶提供特殊的問候語。我們可以先為我們希望在 `test_app.py` 底部看到的新行為新增一個測試案例:" + +#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +msgid "Then, run the test suite with this new test:" +msgstr "然後,使用這個新測試來執行測試套件:" + +#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "這次,我們看到測試失敗 - 輸出解釋了失敗的根源:測試期望輸出 `BeeWare the IDEs of Python!` ,但我們的 `greeting()` 實現返回 `Hello, Brutus` 。讓我們修改 src/helloworld/app.py 中的 greeting() 實作以獲得新的行為:" + +#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "如果我們再次運行測試,我們現在將看到測試通過:" + +#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +msgid "Runtime tests" +msgstr "運行時測試" + +#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +msgstr "到目前為止,我們一直在開發模式下執行測試。當您開發新功能時,這特別有用,因為您可以快速迭代添加測試,並添加程式碼以使這些測試通過。但是,在某些時候,您需要驗證您的程式碼在部署的環境中是否也可以正確運行。" + +#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "`--test` 和 `-r` 選項也可以傳遞給 `run` 指令。如果您使用 `briefcase run --test -r` ,將運行相同的測試套件,但它將在部署的環境中運行,而不是在您的開發環境中運行:" + +#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "與 `briefcase dev --test` 一樣,僅在第一次執行測試套件時才需要 `-r` 選項,以確保測試依賴項存在。在後續運行中,您可以忽略此選項。" + +#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "您還可以在移動環境下使用 `--test` 選項: - 因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以工作,在您選擇的移動設備上運行測試套件。" + +#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" +#~ msgstr "這是您對 BeeWare 專案提供的工具的嘗試。您可以決定要從哪做起!" + +#~ msgid "Some places to go from here:" +#~ msgstr "可以去的一些地方:" + +#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +#~ msgstr "示範 [Toga 小工具工具包的功能]{1} 的教學。" + +#~ "[有關配置 Briefcase 項目時可用的選項的詳細資訊]{1} 。Plural-Forms: nplurals=1; plural=0;\n" +#~ "MIME-Version: 1.0\n" +#~ "Content-Type: text/plain; charset=utf-8\n" +#~ "Content-Transfer-Encoding: 8bit\n" +#~ "Generated-By: Babel 2.15.0\n" + +#~ msgid "Tutorial 9 - Testing times" +#~ msgstr "教學 9 - 測試時間" + +#~ msgid "Next steps" +#~ msgstr "下一步" diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po new file mode 100644 index 00000000..89f86d15 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po @@ -0,0 +1,239 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"PO-Revision-Date: 2024-04-12 07:01+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 +msgid "Tutorial 0 - Let's get set up!" +msgstr "教學 0 - 讓我們開始設定吧!" + +#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." +msgstr "在建立第一個 BeeWare 應用程式之前,我們必須確保具備運行 BeeWare 的所有先決條件。" + +#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +msgid "Install Python" +msgstr "安裝Python" + +#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "我們首先需要的是一個可用的 Python 直譯器。" + +#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 +#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 +#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#, fuzzy +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" + +#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#, fuzzy +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "安裝 Python 有很多不同的方法。您可以透過 [homebrew]{1} 安裝 Python。您可以使用 [pyenv]{1} 來管理同一台電腦上的多個 Python 安裝。 Windows 使用者可以從 Windows App Store 安裝 Python。有數據科學背景的用戶可能希望使用 [Anaconda]{1} 或 [Miniconda]{1} 。" + +#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f +msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 +msgid "To check the version of Python that you have installed, run the following command:" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 +#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb +#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "如果您使用的是 Linux,則會使用系統套件管理器(Debian/Ubuntu/Mint 上的 `apt` 、Fedora 上的 `dnf` 或 Arch 上的 `pacman` )安裝 Python。" + +#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#, fuzzy +msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." +msgstr "您應該確保系統Python是Python 3.8或更高版本;如果不是(例如,Ubuntu 18.04 附帶 Python 3.6),則需要將 Linux 發行版升級到更新的版本。" + +#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "目前對 Raspberry Pi 的支援有限。" + +#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 +msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 +#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 +#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#, fuzzy +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" + +#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#, fuzzy +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "目前對 Raspberry Pi 的支援有限。" + +#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#, fuzzy +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "如果你在 macOS 或 Windows 上,你如何安裝 Python 並不重要 - 重要的是你可以從作業系統的命令提示字元/終端應用程式運行 `python3` ,並獲得一個可用的 Python 直譯器。" + +#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +msgid "Install dependencies" +msgstr "安裝依賴項" + +#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +msgid "Next, install the additional dependencies needed for your operating system:" +msgstr "接下來,安裝作業系統所需的其他依賴項:" + +#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +msgid "Building BeeWare apps on macOS requires:" +msgstr "在 macOS 上建立 BeeWare 應用程式需要:" + +#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 +msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +msgstr "為了支援本地開發,您需要安裝一些系統軟體包。所需的軟體包清單因您的發行版而異:" + +#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#, fuzzy +msgid "**Ubuntu / Debian**" +msgstr "**Ubuntu 20.04+ / Debian 10+**" + +#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +msgid "**Fedora**" +msgstr "**Fedora**" + +#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#, fuzzy +msgid "**Arch / Manjaro**" +msgstr "**Arch, Manjaro**" + +#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +msgid "Building BeeWare apps on Windows requires:" +msgstr "在 Windows 上建立 BeeWare 應用程式需要:" + +#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git** ,版本控制系統。您可以從 [git-scm.com]{1} 下載 Git。" + +#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." +msgstr "安裝這些工具後,您應該確保重新啟動所有終端會話。 Windows 只會公開安裝完成 *之後* 啟動的新安裝的工具終端。" + +#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +msgid "Set up a virtual environment" +msgstr "設定虛擬環境" + +#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." +msgstr "現在,我們將創建一個虛擬環境 - 一個 [沙箱` ,我們可以使用它來將本教程的工作與主 Python 安裝隔離。如果我們將套件安裝到虛擬環境中,我們的主要 Python 安裝(以及我們電腦上的任何其他 Python 專案)將不會受到影響。如果我們把虛擬環境弄得一團糟,我們只需刪除它並重新開始,就不會影響我們電腦上的任何其他 Python 項目,也不需要重新安裝 Python。" + +#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 +msgid "Errors running PowerShell Scripts" +msgstr "執行 PowerShell 腳本時發生錯誤" + +#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +msgid "If you're using PowerShell, and you receive the error:" +msgstr "如果您使用 PowerShell,並且收到錯誤:" + +#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "您的 Windows 帳戶沒有執行腳本的權限。要解決此問題:" + +#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +msgid "Run `Windows PowerShell as Administrator]{1}." +msgstr "" + +#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "運行 `set-executionpolicy RemoteSigned`" + +#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +msgid "Select `Y` to change the execution policy." +msgstr "選擇 `Y` 更改執行策略。" + +#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "完成此操作後,您可以在原始 PowerShell 會話(或同一目錄中的新會話)中重新執行 `beeware-venv\\Scripts\\activate.ps1` 。" + +#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "如果這有效,你的提示現在應該改變 - 它應該有一個 `(beeware-venv)` 前綴。這可以讓您知道您目前處於 BeeWare 虛擬環境。每當您學習本教學時,您都應該確保您的虛擬環境已啟動。如果不是,請重新執行最後一個命令( `activate` 命令)以啟動您的虛擬環境。" + +#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +msgid "Alternative virtual environments" +msgstr "替代的虛擬環境" + +#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "如果您使用 Anaconda 或 miniconda,您可能會更熟悉使用 conda 環境。您可能也聽說過 `virtualenv` ,它是 Python 內建的 `venv` 模組的前身。與 Python 安裝一樣 - 如果您使用的是 macOS 或 Windows,只要您有一個虛擬環境, *如何* 建立虛擬環境並不重要。如果您使用的是 Linux,則應該堅持使用 `venv` 和系統 Python。" + +#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "我們現在已經設定好了我們的環境。我們準備好 [創建我們的第一個 BeeWare 應用程式[。" + +#~ msgid "Run Windows PowerShell as Administrator." +#~ msgstr "以管理員身分執行 Windows PowerShell。" + +#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." +#~ msgstr "**Git** ,版本控制系統。它包含在您上面安裝的 Xcode 或命令列開發人員工具中。" + +#~ msgid "Alternative Python distributions" +#~ msgstr "替代的 Python 發行版" + +#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." +#~ msgstr "如果您使用的是 Linux,則應該使用作業系統提供的系統 Python。您將能夠使用非系統 Python 完成本教程的 *大部分* ,但您將無法打包您的應用程式以分發給其他人。" + +#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" +#~ msgstr "如果您使用的是 macOS,則 Xcode 或命令列開發人員工具中包含最新版本的 Python。要檢查您是否已經擁有它,請執行以下命令:" + +#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." +#~ msgstr "如果安裝了 Python,您將看到其版本號。否則,系統將提示您安裝命令列開發人員工具。" + +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website][https://www.python.org/downloads]_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po new file mode 100644 index 00000000..de182aa2 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -0,0 +1,194 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-04-11 22:01+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 +msgid "Tutorial 1 - Your first app" +msgstr "教學 1 - 您的第一個應用程式" + +#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +msgid "We're ready to create our first application." +msgstr "我們已準備好創建我們的第一個應用程式。" + +#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +msgid "Install the BeeWare tools" +msgstr "安裝 BeeWare 工具" + +#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具,可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 [教學 0][tutorial-0] 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` 虛擬環境,然後執行:" + +#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 +#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 +#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 +#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 +#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 +#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca +#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 +#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d +msgid "Possible errors during installation" +msgstr "安裝過程中可能出現的錯誤" + +#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "如果您在安裝過程中看到錯誤,幾乎可以肯定是因為某些系統需求尚未安裝。確保您 [已安裝所有平台先決條件 ][install-dependencies]。" + +#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 +#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 +#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 +#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "使用 `python -m pip` ,而不是只有 `pip` ,這一點很重要。 Briefcase需要確保它有最新版本的 `pip` 和 `setuptools` ,並且單純調用 `pip` 無法自我更新。如果您想了解更多信息,[Brett Cannon 有一篇關於該問題的詳細博客文章]{1} 。" + +#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +msgid "Bootstrap a new project" +msgstr "開始一個新項目" + +#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "讓我們開始我們的第一個 BeeWare 專案吧!我們將使用 Briefcase 的 `new` 命令建立一個名為 **Hello World** 的應用程式。從命令提示字元執行以下命令:" + +#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +msgstr "Briefcase 將詢問我們新應用程式的一些詳細資訊。出於本教學的目的,請使用以下內容:" + +#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**正式名稱** - 接受預設值: `Hello World` 。" + +#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**應用程式名稱** - 接受預設值: `helloworld` 。" + +#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#, fuzzy +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**封裝名稱** - 如果您擁有自己的網域,請以相反的順序輸入該網域。 (例如,如果您擁有網域名稱 `cupcakes.com` ,請輸入 `com.cupcakes` 作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( `com.example` )。" + +#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**項目名稱** - 接受預設值: `Hello World` 。" + +#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +msgstr "**描述** - 接受預設值(或者,如果您想真正發揮創意,請提出您自己的描述!)" + +#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +msgid "**Author** - Enter your own name here." +msgstr "**作者** - 在此輸入您自己的姓名。" + +#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#, fuzzy +msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +msgstr "**作者的電子郵件** - 輸入您自己的電子郵件地址。這將用在設定檔、說明文字以及將應用程式提交到應用程式商店時需要電子郵件的任何地方。" + +#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#, fuzzy +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - 您的應用程式的登入頁面的 URL。同樣,如果您擁有自己的網域,請輸入該網域的 URL(包括 `https://` )。否則,只需接受預設 URL (`https://example.com/helloworld`)。該 URL 不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" + +#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#, fuzzy +msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +msgstr "**許可證** - 接受預設許可證 (BSD)。不過,這不會影響本教學的操作 - 因此,如果您對許可證選擇有特別強烈的感覺,請隨意選擇其他許可證。" + +#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +msgstr "**GUI 框架** - 接受預設選項 Toga(BeeWare 自己的 GUI 工具)。" + +#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "然後,Briefcase 將產生一個專案框架供您使用。如果您到目前為止已經遵循了本教學,並接受了所描述的預設設置,您的資料夾應該類似於:" + +#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "這個框架實際上是一個功能齊全的應用程式,無需添加任何其他內容。 `src` 資料夾包含應用程式的所有程式碼, `tests` 資料夾包含初始測試套件, `pyproject.toml` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 `pyproject.toml` ,您將看到剛剛提供給 `Briefcase` 的設定詳細資訊。" + +#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +msgid "Now that we have a stub application, we can use Briefcase to run the application." +msgstr "現在我們有了一個未打包的應用程式,我們可以使用 Briefcase 來運行該應用程式。" + +#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +msgid "Run the app in developer mode" +msgstr "在開發者模式下運行應用程式" + +#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "進入 `helloworld` 專案目錄並告訴公事包以開發人員(或 `dev` )模式啟動專案:" + +#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +msgid "This should open a GUI window:" +msgstr "這應該打開一個 GUI 視窗:" + +#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd +msgid "Hello World Tutorial 1 window, on macOS" +msgstr "在 macOS 上的教學 1 視窗" + +#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 +msgid "Hello World Tutorial 1 window, on Linux" +msgstr "在 Linux 上的教學 1 視窗" + +#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 +msgid "Hello World Tutorial 1 window, on Windows" +msgstr "在 Windows 上的教學 1 視窗" + +#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d +msgid "Invalid requirements or pip unable to connect" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +msgid "If you encounter the error:" +msgstr "" + +#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f +msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +msgstr "" + +#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#, fuzzy +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "按下關閉按鈕(或從應用程式的選單中選擇退出),就完成了!恭喜 - 您剛剛用 Python 編寫了一個獨立的本機應用程式!" + +#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "我們現在有了一個可以運行的應用程序,在開發人員模式下運行。現在我們可以添加一些我們自己的邏輯,使我們的應用程式做一些更有趣的事情。在 :doc:`教程 2 中`,我們將在我們的應用程式中放置一個更有用的使用者介面。" + +#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." +#~ msgstr "BeeWare 工具之一是 **Briefcase** 。它可用於打包您的應用程式以分發給最終用戶 - 但它也可用於初始化新專案。" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po new file mode 100644 index 00000000..1cd836a3 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po @@ -0,0 +1,297 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2025-04-20 22:01+0000\n" +"Last-Translator: John \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional Han script) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 +#, fuzzy +msgid "Tutorial 2 - Making it interesting" +msgstr "教學 2 - 讓它變得有趣" + +#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +#, fuzzy +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "在 [教程 1 中`,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼。讓我們看看為我們產生了什麼。" + +#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#, fuzzy +msgid "What was generated" +msgstr "生成了什麼" + +#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +#, fuzzy +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "在 src/helloworld 目錄中,您應該會看到 3 個檔案:__init__.py、__main__.py 和 app.py。" + +#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +#, fuzzy +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` 將`helloworld` 目錄標記為可匯入的Python 模組。這是一個空文件;它的存在告訴 Python 解釋器`helloworld`目錄定義了一個模組。" + +#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa +#, fuzzy +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` 將`helloworld` 模組標記為一種特殊類型的模組 - 可執行模組。如果您嘗試使用`python -m helloworld`來執行`helloworld`模組,則`__main__.py`檔案是Python將開始執行的位置。 `__main__.py` 的內容比較簡單:" + +#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +msgid "This file does two things:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#, fuzzy +msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +msgstr "也就是說 - 它從`helloworld`應用程式導入`main`方法;如果它是作為入口點執行,則呼叫 main() 方法,並啟動應用程式的主循環。主循環是 GUI 應用程式偵聽使用者輸入(如滑鼠點擊和鍵盤按下)的方式。" + +#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#, fuzzy +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "更有趣的檔案是`app.py`——它包含創建我們的應用程式視窗的邏輯:" + +#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#, fuzzy +msgid "Let's go through this line by line:" +msgstr "讓我們逐行瀏覽一下:" + +#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#, fuzzy +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "首先,我們匯入`toga`小工具工具包,以及一些與樣式相關的實用程式類別和常數。我們的程式碼尚未使用它們 - 但我們很快就會使用它們。" + +#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#, fuzzy +msgid "Then, we define a class:" +msgstr "然後,我們定義一個類別::" + +#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#, fuzzy +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "每個 Toga 應用程式都有一個`toga.App`實例,代表應用程式的運作實體。該應用程式最終可能會管理多個視窗;但對於簡單的應用程序,將有一個主視窗。" + +#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#, fuzzy +msgid "Next, we define a `startup()` method:" +msgstr "接下來,我們定義一個`startup()`方法:" + +#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#, fuzzy +msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +msgstr "啟動方法所做的第一件事是定義一個主框。 Toga 的佈局方案的行為與 HTML 類似。您可以透過建立一組框來建立應用程序,每個框都包含其他框或實際的小部件。然後,您可以將樣式套用到這些方塊來定義它們將如何使用可用的視窗空間。" + +#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#, fuzzy +msgid "In this application, we define a single box, but we don't put anything into it." +msgstr "在此應用程式中,我們定義了一個框,但沒有在其中放入任何內容。" + +#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#, fuzzy +msgid "Next, we define a window into which we can put this empty box:" +msgstr "接下來,我們定義一個窗口,可以將這個空框放入其中:" + +#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#, fuzzy +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "這將建立一個`toga.MainWindow`實例,它將具有與應用程式名稱相符的標題。主視窗是 Toga 中的一種特殊視窗 - 它是與應用程式的生命週期密切相關的視窗。當主視窗關閉時,應用程式退出。主視窗也是具有應用程式選單的視窗(如果您使用的是 Windows 等平台,其中功能表列是視窗的一部分)" + +#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 +msgid "Where is my window?" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 +msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#, fuzzy +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "然後,我們添加空框作為主視窗的內容,並指示應用程式顯示我們的視窗:" + +#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "最後,我們定義一個`main()`方法。這就是創建我們的應用程式實例的原因:" + +#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#, fuzzy +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "這個`main()`方法是由`__main__.py`導入和呼叫的方法。它創建並傳回我們的`HelloWorld`應用程式的實例。" + +#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#, fuzzy +msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." +msgstr "這是最簡單的 Toga 應用程式。讓我們將一些我們自己的內容放入應用程式中,並使應用程式做一些有趣的事情。" + +#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#, fuzzy +msgid "Adding some content of our own" +msgstr "添加一些我們自己的內容" + +#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#, fuzzy +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "不要刪除文件頂部的導入或底部的`main()`。您只需要更新`HelloWorld`類別。" + +#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#, fuzzy +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "修改`src/helloworld/app.py`中的`HelloWorld`類,使其看起來像這樣:" + +#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#, fuzzy +msgid "Let's look in detail at what has changed." +msgstr "讓我們詳細看看發生了什麼變化。" + +#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#, fuzzy +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "我們仍在創建一個主盒子;然而,我們現在正在應用一種風格:" + +#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#, fuzzy +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Toga 的內建佈局系統稱為`Pack`。它的行為很像 CSS。您可以在層次結構中定義物件 - 在 HTML 中,物件是`
`、`][span]` 和其他 DOM 元素;在 Toga 中,它們是小部件和盒子。然後,您可以為各個元素指定樣式。在這種情況下,我們表明這是一個`COLUMN`框 - 也就是說,它是一個將消耗所有可用寬度的框,並且會在添加內容時擴展其高度,但它會嘗試盡可能短。" + +#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "" + +#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +msgid "Next, we define a couple of widgets:" +msgstr "接下來,我們定義幾個小工具:" + +#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#, fuzzy +msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +msgstr "在這裡,我們定義了一個 Label 和一個 TextInput。這兩個小部件都有與之相關的樣式;標籤的左側和右側將有 5 個像素的內邊距,頂部和底部將沒有內邊距。 TextInput 被標記為靈活的 - 也就是說,它將吸收其佈局軸中的所有可用空間。" + +#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#, fuzzy +msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +msgstr "TextInput 被指定為該類別的實例變數。這使我們可以輕鬆存取小部件實例 - 我們稍後將使用它。" + +#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#, fuzzy +msgid "Next, we define a box to hold these two widgets:" +msgstr "接下來,我們定義一個盒子來容納這兩個小工具:" + +#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#, fuzzy +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "`name_box` 是一個像主盒子一樣的盒子;然而,這一次,它是一個`ROW`盒子。這意味著內容將水平添加,並且它將嘗試使其寬度盡可能窄。盒子還有一些內邊距 - 所有邊都是 5px。" + +#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#, fuzzy +msgid "Now we define a button:" +msgstr "現在我們定義一個按鈕:" + +#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 +#, fuzzy +msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." +msgstr "此按鈕的所有邊都有 5 像素的內邊距。我們也定義了一個*處理程序* - 按下按鈕時呼叫的方法。" + +#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#, fuzzy +msgid "Then, we add the name box and the button to the main box:" +msgstr "然後,我們將名稱框和按鈕新增到主框:" + +#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#, fuzzy +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "這樣就完成了我們的佈局;啟動方法的其餘部分與之前一樣 - 定義一個 MainWindow,並將主框指定為視窗的內容:" + +#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#, fuzzy +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "我們需要做的最後一件事是定義按鈕的處理程序。處理程序可以是任何方法、生成器或非同步協程;它接受生成事件的小部件作為參數,並且每當按下按鈕時就會調用:" + +#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#, fuzzy +msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." +msgstr "該方法的主體是一個簡單的列印語句 - 但是,它將詢問名稱輸入的當前值,並使用該內容作為列印的文字。" + +#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#, fuzzy +msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" +msgstr "現在我們已經進行了這些更改,我們可以透過再次啟動應用程式來查看它們的外觀。和以前一樣,我們將使用開發者模式:" + +#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 +#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 +#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 +#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#, fuzzy +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "您會注意到,這一次,它`不`安裝依賴項。公文包可以檢測到該應用程式之前已經運行過,為了節省時間,只會運行該應用程式。如果您為應用程式新增的依賴項,則可以在執行`briefcase dev`時傳入`-r`選項來確保它們已安裝。" + +#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "This should open a GUI window:" +msgstr "這應該打開一個 GUI 視窗:" + +#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 +#, fuzzy +msgid "Hello World Tutorial 2 window, on macOS" +msgstr "Hello World 教學 2 窗口,在 macOS 上" + +#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 +#, fuzzy +msgid "Hello World Tutorial 2 window, on Linux" +msgstr "Linux 上的 Hello World 教學 2 窗口" + +#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +#, fuzzy +msgid "Hello World Tutorial 2 window, on Windows" +msgstr "Hello World 教學 2 窗口,在 Windows 上" + +#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#, fuzzy +msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." +msgstr "如果您在文字方塊中輸入名稱,然後按 GUI 按鈕,您應該會看到啟動應用程式的控制台中出現輸出。" + +#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +msgstr "" + +#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#, fuzzy +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "我們現在有了一個可以做一些更有趣的事情的應用程式。但它只能在我們自己的計算機上運行。讓我們打包這個應用程式以進行分發。在 :doc:`教程 3 中`,我們將把我們的應用程式打包為一個獨立的安裝程序,我們可以將其發送給朋友、客戶,或上傳到應用程式商店。" + +#~ msgid "Lets do something more interesting with our `HelloWorld`` app." +#~ msgstr "" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po new file mode 100644 index 00000000..a064d1a1 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po @@ -0,0 +1,317 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"PO-Revision-Date: 2024-04-10 21:02+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a +#, fuzzy +msgid "Tutorial 3 - Packaging for distribution" +msgstr "教學 3 - 分發包裝" + +#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#, fuzzy +msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." +msgstr "到目前為止,我們一直在`開發人員模式`下運行我們的應用程式。這使我們可以輕鬆地在本地運行我們的應用程式 - 但我們真正想要的是能夠將我們的應用程式提供給其他人。" + +#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#, fuzzy +msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." +msgstr "但是,我們不想教導使用者如何安裝 Python、建立虛擬環境、複製 git 儲存庫以及在開發人員模式下執行 Briefcase。我們寧願只給他們一個安裝程序,然後讓應用程式正常工作。" + +#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#, fuzzy +msgid "Briefcase can be used to package your application for distribution in this way." +msgstr "公文包可用於打包您的應用程式以透過這種方式進行分發。" + +#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#, fuzzy +msgid "Creating your application scaffold" +msgstr "創建您的應用程式支架" + +#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#, fuzzy +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "由於這是我們第一次打包應用程序,因此我們需要創建一些配置文件和其他腳手架來支援打包過程。從`helloworld`目錄中,運行:" + +#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 +#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 +#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee +#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 +#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 +#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b +#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef +msgid "Errors about Python versions" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a +msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 +#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 +#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef +#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#, fuzzy +msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgstr "您可能剛剛在終端機中看到了內容頁面……那麼剛剛發生了什麼?公事包做了以下事情:" + +#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#, fuzzy +msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." +msgstr "它**生成了一個應用程式模板**。建立本機安裝程式需要大量檔案和配置,超出了實際應用程式的程式碼。對於同一平台上的每個應用程式來說,這個額外的腳手架幾乎都是相同的,除了正在構建的實際應用程式的名稱之外- 因此,Briefcase 為其支援的每個平台提供了一個應用程式模板。此步驟將推出模板,根據需要替換應用程式的名稱、捆綁 ID 和設定檔的其他屬性,以支援您正在建置的平台。" + +#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +#, fuzzy +msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." +msgstr "如果您對公文包提供的範本不滿意,您可以提供自己的範本。但是,在使用公文包的預設範本有更多經驗之前,您可能不想這樣做。" + +#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#, fuzzy +msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." +msgstr "它**下載並安裝了支援包**。公事包採用的打包方法最好被描述為`可能有效的最簡單的方法`——它提供了一個完整的、獨立的 Python 解釋器,作為它構建的每個應用程式的一部分。這在空間效率方面稍顯低下 - 如果您有 5 個使用 Briefcase 打包的應用程序,那麼您將擁有 5 個 Python 解釋器副本。然而,這種方法保證每個應用程式都是完全獨立的,使用已知可與該應用程式配合使用的特定 Python 版本。" + +#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +#, fuzzy +msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." +msgstr "同樣,Briefcase 為每個平台提供了預設的支援包;如果需要,您可以提供自己的支援包,並將該包包含在建置過程中。如果您需要啟用 Python 解釋器中的特定選項,或者想要從標準庫中刪除執行時間不需要的模組,您可能需要執行此操作。" + +#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#, fuzzy +msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." +msgstr "公文包維護支援包的本機緩存,因此一旦您下載了特定的支援包,該快取的副本將在未來的版本中使用。" + +#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e +msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#, fuzzy +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "它**安裝了應用程式要求**。您的應用程式可以指定運行時所需的任何第三方模組。這些將使用`pip`安裝到應用程式的安裝程式中。" + +#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#, fuzzy +msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." +msgstr "它**安裝了您的應用程式代碼**。您的應用程式將擁有自己的程式碼和資源(例如,運行時所需的映像);這些檔案被複製到安裝程式中。" + +#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#, fuzzy +msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." +msgstr "它 **安裝了應用程式所需的資源。** 最後,它添加了安裝程式本身所需的任何其他資源。這包括需要附加到最終應用程式的圖示和啟動螢幕圖像等內容。" + +#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#, fuzzy +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "完成後,如果您查看專案目錄,您現在應該會看到與您的平台(`macOS`、`linux`或`windows`)相對應的目錄,其中包含其他檔案。這是您的應用程式的特定於平台的打包配置。" + +#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#, fuzzy +msgid "Building your application" +msgstr "建立您的應用程式" + +#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#, fuzzy +msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." +msgstr "現在您可以編譯您的應用程式。此步驟執行應用程式在目標平台上可執行所需的任何二進位編譯。" + +#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#, fuzzy +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "在 macOS 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要對二進位內容進行簽名,以便可以執行。此簽名是 *臨時* 簽名 - 它僅適用於 *您的* 機器;如果您想將應用程式分發給其他人,則需要提供完整的簽名。" + +#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#, fuzzy +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "此步驟完成後,`build`資料夾將包含一個`helloworld-0.0.1`資料夾,其中包含 Linux`/usr`檔案系統的鏡像。該檔案系統鏡像將包含一個包含`helloworld`二進位檔案的`bin`資料夾,以及支援該二進位檔案所需的`lib`和`share`資料夾。" + +#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#, fuzzy +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "在 Windows 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要編寫一些元數據,以便應用程式知道其名稱、版本等。" + +#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +#, fuzzy +msgid "Triggering antivirus" +msgstr "觸發防毒" + +#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#, fuzzy +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "由於此元資料在`create`命令期間直接寫入從範本推出的預編譯二進位檔案中,因此這可能會觸發電腦上執行的防毒軟體並阻止寫入元資料。在這種情況下,指示防毒軟體允許該工具(名為`rcedit-x64.exe`)運行並重新執行上述命令。" + +#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#, fuzzy +msgid "Running your app" +msgstr "運行您的應用程式" + +#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#, fuzzy +msgid "You can now use Briefcase to run your application:" +msgstr "現在您可以使用 Briefcase 來運行您的應用程式:" + +#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#, fuzzy +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "這將開始使用`build`命令的輸出來執行您的本機應用程式。" + +#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#, fuzzy +msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." +msgstr "您可能會注意到應用程式運行時的外觀存在一些細微的差異。例如,作業系統顯示的圖示和名稱可能與您在開發人員模式下運行時看到的圖示略有不同。這也是因為您正在使用打包的應用程序,而不僅僅是運行 Python 程式碼。從作業系統的角度來看,您現在運行的是`應用程式`,而不是`Python 程式`,這反映在應用程式的顯示方式上。" + +#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgstr "" + +#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#, fuzzy +msgid "Building your installer" +msgstr "建立您的安裝程式" + +#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#, fuzzy +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "現在,您可以使用`package`命令打包您的應用程式以進行分發。 package 命令執行將鷹架專案轉換為最終的可分發產品所需的任何編譯。根據平台的不同,這可能涉及編譯安裝程式、執行程式碼簽署或執行其他預分發任務。" + +#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#, fuzzy +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "`dist` 資料夾將包含一個名為`Hello World-0.0.1.dmg` 的檔案。如果您在 Finder 中找到此文件,然後雙擊其圖標,您將安裝 DMG,為您提供 Hello World 應用程式的副本以及指向您的應用程式資料夾的鏈接,以便於安裝。將應用程式檔案拖曳到應用程式中,您就已經安裝了應用程式。將 DMG 檔案發送給朋友,他們應該能夠執行相同的操作。" + +#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#, fuzzy +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" + +#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" + +#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#, fuzzy +msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "根據您的 Linux 發行版,打包步驟的輸出將略有不同。如果您使用的是 Debian 派生的發行版,您將看到:" + +#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#, fuzzy +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "`dist` 資料夾將包含產生的`.deb` 檔案。" + +#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#, fuzzy +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "如果您使用的是基於 RHEL 的發行版,您將看到:" + +#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#, fuzzy +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "`dist` 資料夾將包含產生的`.rpm` 檔案。" + +#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#, fuzzy +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "如果您使用的是基於 Arch 的發行版,您將看到:" + +#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#, fuzzy +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "`dist` 資料夾將包含產生的`.pkg.tar.zst` 檔案。" + +#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#, fuzzy +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "目前不支援打包其他 Linux 發行版。" + +#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#, fuzzy +msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "如果您想為您正在使用的 Linux 發行版以外的發行版建立軟體包,Briefcase 也可以提供協助 - 但您需要安裝 Docker。" + +#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#, fuzzy +msgid "Official installers for `Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "[Docker Engine]{1} 的官方安裝程式可用於一系列 Unix 發行版。請遵循適合您平台的說明;但是,請確保不要以`無根`模式安裝 Docker。" + +#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#, fuzzy +msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgstr "安裝 Docker 後,您應該能夠啟動 Linux 容器 - 例如:" + +#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#, fuzzy +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "將在 Ubuntu 22.04 Docker 容器內向您顯示 Unix 提示字元(類似`root@844444e31cff9:/#`)。鍵入 Ctrl-D 退出 Docker 並返回本機 shell。" + +#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#, fuzzy +msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" +msgstr "安裝 Docker 後,您可以透過傳入 Docker 映像作為參數,使用 Briefcase 為 Briefcase 支援的任何 Linux 發行版建置套件。例如,要為 Ubuntu 22.04 (Jammy) 建立 DEB 包,無論您使用什麼作業系統,都可以運行:" + +#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#, fuzzy +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "這將為您選擇的作業系統下載 Docker 映像,建立一個能夠運行 Briefcase 建置的容器,並在映像內建置應用程式包。完成後,`dist` 資料夾將包含目標 Linux 發行版的軟體包。" + +#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#, fuzzy +msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." +msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" + +#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#, fuzzy +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" + +#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#, fuzzy +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "此步驟完成後,`dist`資料夾將包含一個名為 `Hello_World-0.0.1.msi` 的檔案。如果您雙擊此安裝程式來運行它,您應該經歷熟悉的 Windows 安裝過程。安裝完成後,開始功能表中將出現一個 \"Hello World\" 項目。" + +#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。但是當我們需要更新應用程式中的程式碼時會發生什麼?我們如何將這些更新添加到打包的應用程式中?請參閱 [教程 4][./tutorial-4] 以了解..." + +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#~ msgstr "" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po new file mode 100644 index 00000000..26f95848 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po @@ -0,0 +1,176 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"PO-Revision-Date: 2024-04-10 21:02+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.16.0\n" + +#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 +#, fuzzy +msgid "Tutorial 4 - Updating your application" +msgstr "教程 4 - 更新您的應用程式" + +#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#, fuzzy +msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +msgstr "在上一個教程中,我們將應用程式打包為本機應用程式。如果您正在處理現實世界的應用程序,這不會是故事的結局 - 您可能會進行一些測試,發現問題,並需要進行一些更改。即使您的應用程式非常完美,您最終也會希望發布經過改進的應用程式的第 2 版。" + +#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#, fuzzy +msgid "So - how do you update your installed app when you make code changes?" +msgstr "那麼 - 當您更改程式碼時如何更新已安裝的應用程式?" + +#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#, fuzzy +msgid "Updating application code" +msgstr "更新應用程式程式碼" + +#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#, fuzzy +msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +msgstr "目前,當您按下按鈕時,我們的應用程式會列印到控制台。然而,GUI 應用程式不應該真正使用控制台進行輸出。他們需要使用對話框與使用者進行交流。" + +#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#, fuzzy +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "讓我們新增一個對話框來打招呼,而不是寫入控制台。修改`say_hello`回調,使其看起來像這樣:" + +#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +msgstr "" + +#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#, fuzzy +msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgstr "這會指示 Toga 在按下按鈕時開啟模式對話方塊。" + +#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#, fuzzy +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "如果執行`briefcase dev`,輸入名稱,然後按按鈕,您將看到新的對話方塊:" + +#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 +#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e +#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on macOS" +msgstr "Hello World 教學 4 對話框,在 macOS 上" + +#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 +#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb +#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Linux" +msgstr "Linux 上的 Hello World 教學 4 對話框" + +#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 +#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd +#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 +#, fuzzy +msgid "Hello World Tutorial 4 dialog, on Windows" +msgstr "Hello World 教學 4 對話框,在 Windows 上" + +#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#, fuzzy +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "但是,如果執行`briefcase run`,則不會出現該對話方塊。" + +#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a +#, fuzzy +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "為什麼是這樣?好吧,`briefcase dev` 通過就地運行您的代碼來運行- 它嘗試為您的代碼生成盡可能真實的運行時環境,但它不提供或使用任何平台基礎設施來將您的代碼包裝為應用程式.打包應用程式的過程的一部分涉及將程式碼複製到應用程式包中 - 目前,您的應用程式中仍然包含舊程式碼。" + +#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#, fuzzy +msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +msgstr "因此 - 我們需要告訴公文包更新您的應用程序,複製新版本的代碼。我們*可以*透過刪除舊平台目錄並從頭開始來做到這一點。但是,Briefcase 提供了一種更簡單的方法 - 您可以更新現有捆綁應用程式的程式碼:" + +#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#, fuzzy +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "如果Briefcase找不到鷹架模板,它會自動呼叫`create`來產生一個新的鷹架。" + +#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#, fuzzy +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "現在我們已經更新了安裝程式碼,然後我們可以運行`briefcase build`來重新編譯應用程序,運行`briefcase run`來運行更新後的應用程序,以及運行`briefcase package`來重新打包應用程式用於分發。" + +#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#, fuzzy +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(macOS 用戶,請記住,如 [教學 3 所述`,對於本教程,我們建議使用`--adhoc-sign`標誌運行`briefcase package`,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" + +#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#, fuzzy +msgid "Update and run in one step" +msgstr "一步更新並運行" + +#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#, fuzzy +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "如果您快速迭代程式碼更改,您可能需要更改程式碼、更新應用程序,然後立即重新執行您的應用程式。對於大多數目的,開發人員模式(`briefcase dev`)將是進行這種快速迭代的最簡單方法;但是,如果您正在測試應用程式如何作為本機二進位檔案運行,或者尋找僅在應用程式處於打包形式時才會出現的錯誤,則可能需要重複調用`briefcase run`。為了簡化更新和執行捆綁應用程式的過程,Briefcase 有一個快捷方式來支援這種使用模式 - `run` 命令上的`-u`(或`--update`)選項。" + +#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +#, fuzzy +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "讓我們嘗試進行另一個更改。您可能已經注意到,如果您不在文字輸入方塊中鍵入姓名,則對話方塊將顯示 \"Hello,\"。讓我們再次修改 `say_hello` 函數來處理這種邊緣情況。" + +#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#, fuzzy +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "在檔案頂部的匯入和`class HelloWorld`定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" + +#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#, fuzzy +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "然後,修改`say_hello`回調以使用這個新的實用方法:" + +#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#, fuzzy +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "在開發模式下運行您的應用程式(使用`briefcase dev`)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" + +#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#, fuzzy +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "package 命令也接受`-u`參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包,則可以運行`briefcase package -u`。" + +#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#, fuzzy +msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發,並且我們已經能夠更新應用程式中的程式碼。" + +#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 +#, fuzzy +msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "但行動裝置呢?在 [教程 5][tutorial-5/index] 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po new file mode 100644 index 00000000..6664eaee --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -0,0 +1,256 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-04-10 21:02+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "教學 5 - 行動裝置:Android" + +#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#, fuzzy +msgid "Now, we're going to take our application, and deploy it as an Android application." +msgstr "現在,我們將獲取我們的應用程序,並將其部署為 Android 應用程式。" + +#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#, fuzzy +msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." +msgstr "將應用程式部署到 Android 的過程與部署為桌面應用程式的過程非常相似。 Briefcase 負責安裝 Android 依賴項,包括 Android SDK、Android 模擬器和 Java 編譯器。" + +#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#, fuzzy +msgid "Create an Android app and compile it" +msgstr "創建一個 Android 應用程式並編譯它" + +#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#, fuzzy +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "首先,執行`create`命令。這將下載 Android 應用程式模板並向其中添加您的 Python 程式碼。" + +#: ../../tutorial/tutorial-5/android.rst:21 +#: ../../tutorial/tutorial-5/android.rst:120 +#: ../../tutorial/tutorial-5/android.rst:197 +#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f +#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e +#: ff16f8b544c946939c611a0ac9334c60 +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-5/android.rst:48 +#: ../../tutorial/tutorial-5/android.rst:138 +#: ../../tutorial/tutorial-5/android.rst:209 +#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 +#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d +#: fd6e8265ffcb4679a58bfcb0757cdaf5 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-5/android.rst:75 +#: ../../tutorial/tutorial-5/android.rst:156 +#: ../../tutorial/tutorial-5/android.rst:221 +#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 +#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c +#: ef8b5daf39ef4e5f8aabb50f5fd2c417 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#, fuzzy +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "當您第一次執行`briefcase create android`時,Briefcase 會下載 Java JDK 和 Android SDK。文件大小和下載時間可能相當大;這可能需要一段時間(10 分鐘或更長時間,具體取決於您的 Internet 連線速度)。下載完成後,系統會提示您接受 Google 的 Android SDK 授權。" + +#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#, fuzzy +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "完成後,我們的專案中將有一個 `build\\helloworld\\android\\gradle` 目錄,其中包含具有 Gradle 建置配置的 Android 專案。該專案將包含您的應用程式程式碼以及包含 Python 解釋器的支援套件。" + +#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +#, fuzzy +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "然後我們可以使用 Briefcase 的 `build` 命令將其編譯成 Android APK 應用程式檔案。" + +#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 +#, fuzzy +msgid "Gradle may look stuck" +msgstr "Gradle 可能看起來卡住了" + +#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +#, fuzzy +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "在`briefcase build android`步驟中,Gradle(Android 平台建置工具)將列印`CONFIGURING: 100%`,似乎什麼也沒做。別擔心,它並沒有卡住 - 它正在下載更多 Android SDK 組件。根據您的網路連線速度,這可能還需要 10 分鐘(或更長)。這種滯後應該只在你第一次執行`build`時發生;這些工具會被緩存,並且在您的下一個建置中,將使用快取的版本。" + +#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#, fuzzy +msgid "Run the app on a virtual device" +msgstr "在虛擬設備上運行應用程式" + +#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +#, fuzzy +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "現在我們已經準備好運行我們的應用程式了。您可以使用 Briefcase 的`run`命令在 Android 裝置上執行該應用程式。讓我們從在 Android 模擬器上運行開始。" + +#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#, fuzzy +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "要運行您的應用程序,請運行`briefcase run android`。當您執行此操作時,系統會提示您提供可以執行該應用程式的裝置清單。最後一項始終是建立新 Android 模擬器的選項。" + +#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 +#, fuzzy +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "我們現在可以選擇我們想要的設備。選擇`建立新的 Android 模擬器`選項,並接受裝置名稱的預設選擇 (`beePhone`)。" + +#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +#, fuzzy +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "公事包`run`將自動啟動虛擬設備。當裝置啟動時,您將看到 Android 標誌:" + +#: ../../tutorial/tutorial-5/android.rst:240 +#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 +#: 712dccc58faf40129adf98455cce5b70 +#, fuzzy +msgid "Android virtual device booting" +msgstr "Android虛擬裝置啟動" + +#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#, fuzzy +msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +msgstr "裝置完成啟動後,Briefcase 將在裝置上安裝您的應用程式。您將短暫地看到一個啟動器畫面:" + +#: ../../tutorial/tutorial-5/android.rst:250 +#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca +#: ef6f84c7e91545c5a0374576d08e6318 +#, fuzzy +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Android 虛擬裝置已完全啟動,位於啟動器螢幕上" + +#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#, fuzzy +msgid "The app will then start. You'll see a splash screen while the app starts up:" +msgstr "然後該應用程式將啟動。應用程式啟動時您將看到啟動畫面:" + +#: ../../tutorial/tutorial-5/android.rst:259 +#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 +#: 80eb61fdbed046c2a9633570dd1e6113 +#, fuzzy +msgid "App splash screen" +msgstr "應用程式啟動畫面" + +#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#, fuzzy +msgid "The emulator didn't start!" +msgstr "模擬器沒有啟動!" + +#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#, fuzzy +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "Android 模擬器是一款複雜的軟體,依賴許多硬體和作業系統功能 - 這些功能在舊機器上可能無法使用或啟用。如果您在啟動 Android 模擬器時遇到任何困難,請參閱 Android 開發人員文件的 [要求與建議]{1} 部分。" + +#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a +#, fuzzy +msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +msgstr "應用程式第一次啟動時,需要將自身解壓縮到裝置上。這可能需要幾秒鐘。解壓縮後,您將看到我們桌面應用程式的 Android 版本:" + +#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#, fuzzy +msgid "App from Tutorial 2, fully launched" +msgstr "教程 2 中的應用程式已全面啟動" + +#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#, fuzzy +msgid "Demo app fully launched" +msgstr "演示應用程式全面啟動" + +#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#, fuzzy +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "如果您無法看到應用程式啟動,您可能需要檢查執行`briefcase run`的終端並查找任何錯誤訊息。" + +#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b +msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +msgstr "" + +#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#, fuzzy +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "將來,如果您想在該裝置上運行而不使用選單,您可以將模擬器的名稱提供給Briefcase,使用`briefcase run android -d @beePhone`直接在虛擬裝置上執行。" + +#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#, fuzzy +msgid "Run the app on a physical device" +msgstr "在物理設備上運行應用程式" + +#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#, fuzzy +msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." +msgstr "如果您有實體 Android 手機或平板電腦,則可以使用 USB 電纜將其連接到計算機,然後使用公文包定位您的實體設備。" + +#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#, fuzzy +msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgstr "Android 要求您先準備好設備,然後才能用於開發。您需要對裝置上的選項進行 2 項變更:" + +#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#, fuzzy +msgid "Enable developer options" +msgstr "啟用開發者選項" + +#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#, fuzzy +msgid "Enable USB debugging" +msgstr "啟用USB調試" + +#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#, fuzzy +msgid "Details on how to make these changes can be found `in the Android developer documentation]{1}." +msgstr "有關如何進行這些更改的詳細信息,請參閱 [Android 開發人員文件]{1}。" + +#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#, fuzzy +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "完成這些步驟後,當您執行`briefcase run android`時,您的裝置應該會出現在可用裝置清單中。" + +#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#, fuzzy +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "在這裡,我們可以在部署清單中看到一個新的實體設備及其序號 - 在本例中為 Pixel 3a。將來,如果您想在該裝置上運行而不使用選單,您可以向Briefcase提供手機的序號(在本例中為`briefcase run android -d 94ZZY0LNE8`)。這將直接在設備上運行,無需提示。" + +#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#, fuzzy +msgid "My device doesn't appear!" +msgstr "我的設備沒有出現!" + +#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#, fuzzy +msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." +msgstr "如果您的裝置完全沒有出現在此清單中,則可能是您尚未啟用 USB 偵錯(或裝置未插入!)。" + +#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#, fuzzy +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "如果您的裝置出現,但被列為`未知裝置(未授權開發)`,則表示開發者模式尚未正確啟用。重新執行 [啟用開發人員選項的步驟]{1},並重新執行`briefcase run android``。" + +#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po new file mode 100644 index 00000000..1f9eeda7 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -0,0 +1,99 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"PO-Revision-Date: 2024-04-08 11:58+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: zh_TW\n" +"Language-Team: zh_TW \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "教學 5 - 行動裝置:iOS" + +#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#, fuzzy +msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgstr "一旦我們安裝了 Xcode,我們就可以將我們的應用程式部署為 iOS 應用程式。" + +#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 +#, fuzzy +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "將應用程式部署到 iOS 的過程與部署為桌面應用程式的過程非常相似。首先,執行`create`命令 - 但這一次,我們指定要建立一個 iOS 應用程式:" + +#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#, fuzzy +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "完成後,我們將擁有一個`build/helloworld/ios/xcode`目錄,其中包含 Xcode 專案以及應用程式所需的支援庫和應用程式程式碼。" + +#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#, fuzzy +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "然後,您可以使用`briefcase build iOS`來使用 Briefcase 來編譯您的應用程式:" + +#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#, fuzzy +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "現在我們已經準備好使用`briefcase run iOS`來運行我們的應用程式。系統會提示您選擇要編譯的設備;如果您安裝了多個 iOS SDK 版本的模擬器,系統也可能會詢問您要定位哪個 iOS 版本。您顯示的選項可能與此輸出中顯示的選項不同 - 至少,設備清單可能會有所不同。就我們的目的而言,您選擇哪個模擬器並不重要。" + +#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +#, fuzzy +msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" +msgstr "這將啟動 iOS 模擬器、安裝您的應用程式並啟動它。您應該會看到模擬器啟動,並最終打開您的 iOS 應用程式:" + +#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e +#, fuzzy +msgid "Hello World Tutorial 5 window, on iOS" +msgstr "Hello World 教學 5 窗口,iOS 上" + +#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 +msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +msgstr "" + +#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#, fuzzy +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "如果您事先知道要定位哪個 iOS 模擬器,則可以透過提供`-d`(或`--device`)選項來告訴 Briefcase 使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" + +#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#, fuzzy +msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" +msgstr "如果您有多個可用的 iOS 版本,公事包將選擇最高的 iOS 版本;如果你想選擇一個特定的 iOS 版本,你可以告訴它使用該特定版本:" + +#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#, fuzzy +msgid "Or, you can name a specific device UDID:" +msgstr "或者,您可以命名特定設備 UDID:" + +#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e +#, fuzzy +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "要編譯 iOS 應用程序,我們需要 Xcode,它可以從`macOS App Store `免費獲得。" + +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgstr "" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po new file mode 100644 index 00000000..dcba2f1b --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -0,0 +1,55 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"PO-Revision-Date: 2024-04-08 11:58+0800\n" +"Last-Translator: Russell Keith-Magee \n" +"Language: zh_TW\n" +"Language-Team: zh_TW \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.15.0\n" + +#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +#, fuzzy +msgid "Tutorial 5 - Taking it Mobile" +msgstr "教程 5 - 移動使用" + +#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +#, fuzzy +msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +msgstr "到目前為止,我們已經在桌面上運行和測試我們的應用程式。但是,BeeWare 還支援行動平台 - 我們編寫的應用程式也可以部署到您的行動裝置!" + +#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 +msgid "iOS" +msgstr "iOS" + +#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +#, fuzzy +msgid "iOS applications can only be compiled on macOS." +msgstr "iOS 應用程式只能在 macOS 上編譯。" + +#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d +msgid "Android" +msgstr "Android" + +#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#, fuzzy +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" + +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[讓我們為 iOS 建立我們的應用程式!`" + +#~ msgid ":doc:`Let's build our app for Android!][android]" +#~ msgstr ":doc:`讓我們為 Android 建立應用程式!`" + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po new file mode 100644 index 00000000..f4465f76 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po @@ -0,0 +1,116 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2024-03-08 10:13+0800\n" +"PO-Revision-Date: 2024-04-11 22:01+0000\n" +"Last-Translator: sus \n" +"Language-Team: Chinese (Traditional) \n" +"Language: zh_TW\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=1; plural=0;\n" +"X-Generator: Weblate 5.5-dev\n" +"Generated-By: Babel 2.14.0\n" + +#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 +msgid "Tutorial 6 - Put it on the web!" +msgstr "教程 6 - 將其放在網路上!" + +#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +msgstr "除了支援行動平台外,Toga 還支援網頁!使用與部署桌面和行動應用程式相同的 API," +"您可以將應用程式部署為單頁 Web 應用程式。" + +#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 +msgid "Proof of Concept" +msgstr "概念驗證" + +#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +msgstr "" +"Toga Web 後端是所有 Toga 後端中最不成熟的。它已經足夠成熟,可以展示一些功能," +"但它可能有缺陷,並且會缺少其他平台上可用的許多小部件。此時,Web 部署應被視為 " +"`概念驗證` - 足以演示可以做什麼,但不足以依賴認真的開發。" + +#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +msgid "If you have problems with this step of the tutorial, you can skip to the next page." +msgstr "如果您對本教學的這一步有疑問,可以跳到下一頁。" + +#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +msgid "Deploying as a web app" +msgstr "部署為 Web 應用程式" + +#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgstr "" +"部署為單頁 Web 應用程式的過程遵循相同的熟悉模式 - " +"建立應用程序,然後建立應用程序,然後運行它。然而,Briefcase " +"有點聰明,如果您嘗試運行應用程序,並且 Briefcase 確定該應用程式尚未針對目標平" +"台創建或構建,它將為您執行創建和構建步驟。由於這是我們第一次運行該應用程式的" +"網絡,我們可以使用一個命令執行所有三個步驟:" + +#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "這將開啟一個網頁瀏覽器,指向 [http://127.0.0.1:8080 `" +"__ :" + +#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 +msgid "Hello World Tutorial 6 dialog, in a browser" +msgstr "Hello World 教學 6 對話框,在瀏覽器中" + +#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "如果您輸入您的姓名並按一下該按鈕,將會出現一個對話方塊。" + +#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +msgid "How does this work?" +msgstr "這個怎麼用?" + +#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "" +"此 Web 應用程式是一個靜態網站 - 單一 HTML 來源頁面,帶有一些 CSS 和其他資源。" +" Briefcase 已啟動本機 Web " +"伺服器來提供此頁面,以便您的瀏覽器可以查看該頁面。如果您想將此網頁投入生產," +"您可以將 `www` 資料夾的內容複製到任何可以提供靜態內容的 Web 伺服器上。" + +#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "" +"但是當你按下按鈕時,你正在運行 Python 程式碼......這是如何運作的? Toga 使用 " +"[PyScript]{1} 在瀏覽器中提供 Python 解譯器。 Briefcase " +"將應用程式的程式碼打包為 PyScript " +"可以在瀏覽器中載入的輪子。載入頁面後,應用程式程式碼在瀏覽器中運行," +"使用瀏覽器 DOM 建立 " +"UI。當您按一下某個按鈕時,該按鈕會在瀏覽器中執行事件處理程式碼。" + +#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "" +"雖然我們現在已經在桌面、行動和網路上部署了這個應用程序,但該應用程式相當簡單" +",並且不涉及任何第三方程式庫。我們可以在我們的應用程式中包含 Python 套件索引 " +"(PyPI) 中的函式庫嗎?前往 :doc:`教學 7` 找出..." diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po new file mode 100644 index 00000000..d6c20b34 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -0,0 +1,379 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-04-10 21:02+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 +#, fuzzy +msgid "Tutorial 7 - Get this (third)-party started" +msgstr "教學 7 - 啟動此(第三方)" + +#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#, fuzzy +msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "到目前為止,我們建立的應用程式只使用了我們自己的程式碼,加上 BeeWare 提供的程式碼。但是,在現實應用程式中,您可能需要使用從 Python Package Index (PyPI) 下載的第三方程式庫。" + +#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#, fuzzy +msgid "Let's modify our app to include a third-party library." +msgstr "讓我們修改我們的應用程式以包含第三方程式庫。" + +#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +msgid "Adding a package" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd +msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#, fuzzy +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "讓我們為我們的應用程式新增一個`httpx` API 呼叫。將導入新增至`app.py`頂部以導入`httpx`:" + +#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "然後修改`say_hello()`回調,使其看起來像這樣:" + +#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#, fuzzy +msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgstr "讓我們在公文包開發者模式下運行更新後的應用程序,以檢查我們的更改是否有效。" + +#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 +#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 +#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 +#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a +msgid "macOS" +msgstr "macOS" + +#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 +#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 +#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f +#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 +msgid "Linux" +msgstr "Linux" + +#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 +#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 +#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 +#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 +msgid "Windows" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 +#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 +#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d +#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 +#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 +#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 +#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe +#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 +#, fuzzy +msgid "iOS" +msgstr "Windows" + +#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 +#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f +#, fuzzy +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "發生了什麼事?我們已將`httpx`新增至我們的*程式碼*中,但我們尚未將其新增至我們的開發虛擬環境。我們可以透過用`pip`安裝`httpx`來解決這個問題,然後重新執行`briefcase dev`:" + +#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 +#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb +#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 +#, fuzzy +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "當您輸入名稱並按下按鈕時,您應該會看到一個類似以下內容的對話框:" + +#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on macOS" +msgstr "Hello World 教學 7 對話框,在 macOS 上" + +#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Linux" +msgstr "Linux 上的 Hello World 教學 7 對話框" + +#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#, fuzzy +msgid "Hello World Tutorial 7 dialog, on Windows" +msgstr "Hello World 教學 7 對話框,在 Windows 上" + +#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#, fuzzy +msgid "We've now got a working app, using a third party library, running in development mode!" +msgstr "我們現在有了一個可以使用的應用程序,使用第三方庫,在開發模式下運行!" + +#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#, fuzzy +msgid "Running the updated app" +msgstr "運行更新的應用程式" + +#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#, fuzzy +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼,因此我們需要遵循 [教程 4][tutorial-4] 中的相同步驟:" + +#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 +#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 +#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 +#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf +#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#, fuzzy +msgid "Update the code in the packaged app:" +msgstr "更新打包應用程式中的程式碼:" + +#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 +#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 +#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 +#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 +#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#, fuzzy +msgid "Rebuild the app:" +msgstr "重建應用程式:" + +#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 +#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 +#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#, fuzzy +msgid "And finally, run the app:" +msgstr "最後,運行應用程式:" + +#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 +#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤,以及崩潰對話框:" + +#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on macOS" +msgstr "Hello World 教學 7 應用程式崩潰,在 macOS 上" + +#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 +#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤:" + +#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 +#, fuzzy +msgid "Hello World Tutorial 7 app crash, on Windows" +msgstr "Hello World 教學 7 應用程式崩潰,在 Windows 上" + +#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 +#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#, fuzzy +msgid "However, when the app runs, you'll see an error in the console" +msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤:" + +#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a +#, fuzzy +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "再一次,應用程式無法啟動,因為`httpx`已安裝 - 但為什麼呢?我們不是已經安裝了`httpx`了嗎?" + +#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#, fuzzy +msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." +msgstr "我們有 - 但僅限於開發環境。您的開發環境完全位於您的電腦本機 - 並且僅在您明確啟動它時才啟用。儘管Briefcase 有開發模式,但您使用Briefcase 的主要原因是打包您的程式碼,以便提供給其他人。" + +#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#, fuzzy +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "確保其他人擁有一個包含其所需一切的Python環境的唯一方法是建立一個完全隔離的Python環境。這意味著有一個完全隔離的 Python 安裝和一組完全隔離的依賴項。這就是當您執行`briefcase build`時,Briefcase 正在建置的內容—一個獨立的 Python 環境。這也解釋了為什麼未安裝`httpx` - 它已安裝在您的*開發*環境中,但未安裝在打包的應用程式中。" + +#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#, fuzzy +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "因此 - 我們需要告訴 Briefcase 我們的應用程式具有外部相依性。" + +#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#, fuzzy +msgid "Updating dependencies" +msgstr "更新依賴項" + +#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#, fuzzy +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "在應用程式的根目錄中,有一個名為`pyproject.toml`的檔案。該檔案包含您最初執行`briefcase new`時提供的所有應用程式設定詳細資訊。" + +#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#, fuzzy +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` 被分成幾個部分;其中一節描述了您的應用程式的設定::" + +#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#, fuzzy +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "`requires` 選項描述了我們應用程式的依賴關係。它是一個字串列表,指定您想要包含在應用程式中的庫(以及可選的版本)。" + +#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#, fuzzy +msgid "Modify the `requires` setting so that it reads:" +msgstr "修改`requires`設置,使其顯示為:" + +#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#, fuzzy +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "透過添加此設置,我們告訴 Briefcase`當您建立我的應用程式時,在應用程式包中執行`pip install httpx``。任何可以作為`pip install`合法輸入的內容都可以在這裡使用 - 因此,您可以指定:" + +#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#, fuzzy +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "特定的庫版本(例如`httpx==0.19.0`);" + +#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#, fuzzy +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "一系列庫版本(例如`httpx>=0.19`);" + +#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#, fuzzy +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "git 儲存庫的路徑(例如,`\"git+https://github.com/encode/httpx\"`);或者" + +#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#, fuzzy +msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" +msgstr "本機檔案路徑(但是 - 請注意:如果您將程式碼提供給其他人,則該路徑可能不會存在於他們的電腦上!)" + +#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#, fuzzy +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "在`pyproject.toml`中,您會注意到與作業系統相關的其他部分,例如`[tool.briefcase.app.helloworld.macOS]`和`[tool.briefcase.app.helloworld`.windows]` 。這些部分*也*有一個`requires`設定。這些設定允許您定義其他特定於平台的依賴項 - 因此,例如,如果您需要特定於平台的庫來處理應用程式的某些方面,您可以在特定於平台的`requires`部分中指定該庫,並且該設定將僅用於該平台。您會注意到`toga`庫都是在特定於平台的`requires`部分中指定的 - 這是因為顯示使用者介面所需的庫是特定於平台的。" + +#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +#, fuzzy +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "在我們的例子中,我們希望在所有平台上安裝`httpx`,因此我們使用應用程式層級`requires`設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會安裝特定於平台的依賴項。" + +#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#, fuzzy +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "現在我們已經告訴 Briefcase 我們的附加要求,我們可以嘗試再次打包我們的應用程式。確保您已將變更儲存到`pyproject.toml`,然後再次更新您的應用程式 - 這次傳入`-r`標誌。這告訴 Briefcase 更新打包應用程式中的要求:" + +#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#, fuzzy +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "更新後,您可以運行`briefcase build`和`briefcase run` - 您應該會看到打包的應用程序,具有新的對話框行為。" + +#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#, fuzzy +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "用於更新需求的`-r`選項也受到`build`和`run`命令的支持,因此如果您想一步更新、構建和運行,您可以使用`briefcase`運行-u -r`。" + +#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#, fuzzy +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安裝的`pip`都可以加入您的需求。在行動和網路平台上,[您的選擇略有限制]{1}。" + +#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 +msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgstr "" + +#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#, fuzzy +msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +msgstr "BeeWare 可以為一些流行的二進位模組(包括`numpy`、`pandas`和`cryptography`)提供二進位檔案。 *通常* 可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹性教程的範圍。" + +#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgstr "" + +#~ msgid "Accessing an API" +#~ msgstr "存取 API" + +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "應用程式需要執行的常見任務是在 Web API 上發出請求以檢索數據,並向使用者顯示該數據。這是一個玩具應用程序,因此我們沒有*真正的* API 可供使用,因此我們將使用 [{JSON} Placeholder API]{1} 作為來源資料。" + +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "{JSON} Placeholder API 有許多`假`API 端點,您可以將其用作測試資料。這些 API 之一是`/posts/`端點,它會傳回虛假的部落格文章。如果您在瀏覽器中開啟 `https://jsonplaceholder.typicode.com/posts/42`,您將獲得一個描述單一貼文的 JSON 有效負載 - 一些 [Lorum ipsum]{1} ID 為42 的部落格文章的內容。" + +#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." +#~ msgstr "Python 標準函式庫包含存取 API 所需的所有工具。然而,內建的 API 等級非常低。它們是 HTTP 協定的良好實作 - 但它們要求使用者管理大量低階細節,例如 URL 重新導向、會話、驗證和有效負載編碼。作為`普通瀏覽器用戶`,您可能習慣於將這些詳細資訊視為理所當然,因為瀏覽器會為您管理這些詳細資訊。" + +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "因此,人們開發了第三方函式庫來包裝內建 API,並提供更簡單的 API,更適合日常瀏覽器體驗。我們將使用其中一個函式庫來存取 {JSON} Placeholder API - 一個名為 [httpx]{1} 的函式庫。" + +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "這將更改`say_hello()`回調,以便在調用它時,它將:" + +#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" +#~ msgstr "對 JSON 佔位符 API 發出 GET 請求以取得 post 42;" + +#~ msgid "decode the response as JSON;" +#~ msgstr "將回應解碼為 JSON;" + +#~ msgid "extract the body of the post; and" +#~ msgstr "擷取貼文內文;和" + +#~ msgid "include the body of that post as the text of the dialog." +#~ msgstr "包括該帖子的正文作為對話框的文字。" + +#~ msgid "Some binary packages may not be available" +#~ msgstr "某些二進位套件可能不可用" + +#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." +#~ msgstr "簡而言之;任何 *純Python* 套件(即,*不* 包含二進位模組的套件)都可以毫無困難地使用。但是,如果您的依賴項包含二進位元件,則必須對其進行編譯;目前,大多數Python套件不提供非桌面平台的編譯支援。" + +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 [教學 8][tutorial-8] 找出..." + diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po new file mode 100644 index 00000000..1e655b37 --- /dev/null +++ b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po @@ -0,0 +1,355 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2024, Russell Keith-Magee +# This file is distributed under the same license as the BeeWare package. +# FIRST AUTHOR , 2024. +# +msgid "" +msgstr "" +"Project-Id-Version: BeeWare 0.3\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"PO-Revision-Date: 2024-04-11 22:01+0000\n" +"Last-Translator: sus \n" +"Language: zh_TW\n" +"Language-Team: Chinese (Traditional) \n" +"Plural-Forms: nplurals=1; plural=0;\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Generated-By: Babel 2.17.0\n" + +#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e +msgid "Tutorial 8 - Making it Smooooth" +msgstr "教學 8 - 使其順~暢" + +#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 +msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 +msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +msgid "Accessing an API" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 +msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 +#, python-brace-format +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 +msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 +#, python-brace-format +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#, fuzzy +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" + +#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +msgid "decode the response as JSON;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +msgid "extract the body of the post; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 +msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 +#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 +msgid "macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 +#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 +#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 +msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f +msgid "Hello World Tutorial 8 dialog, on macOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 +#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 +msgid "Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 +msgid "Hello World Tutorial 8 dialog, on Linux" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 +#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 +msgid "Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 +msgid "Hello World Tutorial 8 dialog, on Windows" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 +#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e +msgid "Android" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e +msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 +#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 +msgid "iOS" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 +msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 +msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#, fuzzy +msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." +msgstr "除非您擁有 **真正** 快速的網路連接,否則您可能會注意到,當您按下按鈕時,應用程式的 GUI 會鎖定一點。這是因為我們發出的 Web 請求是 **同步** 的。當我們的應用程式發出 Web 請求時,它會等待 API 回傳回應,然後再繼續。在等待時,它 **不允許** 應用程式重繪 - 結果,應用程式停止回應。" + +#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "GUI Event Loops" +msgstr "GUI 事件循環(Event loop)" + +#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." +msgstr "為了理解為什麼會發生這種情況,我們需要深入研究 GUI 應用程式如何運作的細節。具體情況因平台而異;但無論您使用什麼平台或 GUI 環境,概念都是相同的。" + +#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "從根本上來說,GUI 應用程式是一個看起來像這樣的循環:" + +#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#, fuzzy +msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." +msgstr "此循環稱為 *事件循環* 。 (這些不是實際的方法名稱 - 它是 `偽代碼` 中發生的情況的說明)。" + +#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "當您按一下按鈕、拖曳捲軸或按下按鍵時,代表你產生一個 `事件` 。該 `事件` 被放入佇列中,應用程式將在下次有機會處理事件佇列時處理該事件。響應事件而觸發的程式碼稱為 `event handler` 。這些事件處理程序作為 `process_events()` 呼叫的一部分被呼叫。" + +#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "一旦應用程式處理完所有可用事件,它將 `redraw()` GUI。這考慮了事件對應用程式顯示造成的任何變化,以及作業系統中發生的任何其他變化 - 例如,另一個應用程式的視窗可能會遮蓋或顯示我們應用程式視窗的一部分,我們的應用程式的重繪需要反映目前可見的視窗部分。" + +#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." +msgstr "需要注意的重要細節:當應用程式正在處理事件時, *它無法重繪* ,並且 *它無法處理其他事件* 。" + +#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." +msgstr "這意味著事件處理程序中包含的任何使用者邏輯都需要快速完成。使用者將觀察到完成事件處理程序的任何延遲,因為 GUI 更新速度會減慢(或停止)。如果延遲足夠長,您的作業系統可能會將此報告為問題 - macOS `beachball` 和 Windows `spinner` 圖示是作業系統告訴您您的應用程式在事件處理程序中花費的時間太長。" + +#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." +msgstr "`更新標籤` 或 `重新計算輸入總數` 等簡單操作很容易快速完成。然而,有許多操作無法快速完成。如果您正在執行複雜的數學計算,或對檔案系統上的所有檔案進行索引,或執行網路請求,則您無法 `快速完成` - 那些操作本質上很慢。" + +#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "那麼,我們如何在 GUI 應用程式中執行耗時的操作呢?" + +#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +msgid "Asynchronous programming" +msgstr "非同步程式設計" + +#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." +msgstr "我們需要的是一種方法讓耗時的event handler執行時告訴應用程序,只要可以從中斷的地方恢復,就可以暫時將控制權釋放回事件循環。由應用程式決定何時釋放它;但如果應用程式定期釋放對事件循環的控制,我們就可以擁有一個長時間運行的事件處理程序 *並* 維護一個響應式 UI。" + +#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." +msgstr "我們可以透過使用 `非同步程式設計` 來做到這一點。非同步程式設計是一種描述程式的方式,允許解釋器同時運行多個函數,在所有並發運行的函數之間共用資源。" + +#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#, fuzzy +msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." +msgstr "非同步函數(稱為 *協程* )需要明確宣告為非同步。他們還需要在內部聲明何時存在將上下文更改為另一個協程的機會。" + +#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#, fuzzy +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." +msgstr "在Python中,非同步程式設計是使用 `async` 和 `await` 關鍵字以及 [asyncio]{1} 中的模組來實現的。標準庫。 `async` 關鍵字允許我們宣告函數是非同步協同例程。 `await` 關鍵字提供了一種聲明何時存在將上下文更改為另一個協同例程的機會的方法。 [asyncio]{1} 模組為非同步程式設計提供了一些其他有用的工具和語法。" + +#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#, fuzzy +msgid "Making the tutorial asynchronous" +msgstr "使教學異步" + +#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" + +#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#, fuzzy +msgid "There are only three changes to this callback from the previous version:" +msgstr "與先前的版本相比,此程式碼僅發生了 4 處變更:" + +#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "建立的客戶端是異步 `AsyncClient()` ,而不是同步 `Client()` 。這告訴 `httpx` 它應該以非同步模式運行,而不是同步模式。" + +#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "用於建立客戶端的上下文管理器被標記為 `async` 。這告訴Python,當進入和退出上下文管理器時,有機會釋放控制權。" + +#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#, fuzzy +msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." +msgstr "Toga 允許您使用常規方法或非同步協同例程作為處理程序; Toga 管理幕後的一切,以確保根據需要呼叫或等待處理程序。" + +#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#, fuzzy +msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "如果您儲存這些變更並重新執行應用程式(在開發模式下使用 `briefcase dev` ,或透過更新並重新執行打包的應用程式),應用程式不會有任何明顯的變更。但是,當您單擊按鈕觸發對話框時,您可能會注意到一些細微的改進:" + +#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgstr "該按鈕返回到 `未單擊` 狀態,而不是停留在 `單擊` 狀態。" + +#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 +msgid "The \"beachball\"/\"spinner\" icon won't appear" +msgstr "\"沙灘球\"/\"漏斗\" 圖示不會再出現" + +#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +msgstr "如果您在等待對話方塊出現時移動/調整應用程式視窗的大小,則該視窗將會重新繪製。" + +#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "如果您嘗試開啟應用程式選單,該選單將立即出現。" + +#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a +msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +msgid "Next steps" +msgstr "下一步" + +#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 +msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +msgid "Created a new GUI app project;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +msgid "Run that app in development mode;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +msgid "Run the app as a web app;" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +msgid "So - where to from here?" +msgstr "" + +#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." +msgstr "" + +#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "" + +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "我們現在擁有一個流暢且響應迅速的應用程序,即使它正在等待緩慢的 API。但是,當我們繼續進一步開發應用程式時,如何確保該應用程式繼續運行?我們如何測試我們的應用程式?前往 [教學 9[ 找找看..." + +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "該方法被定義為 `async def` ,而不僅僅是 `def` 。這告訴 Python 該方法是一個非同步協同例程。" + +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "`get` 呼叫是使用 `await` 關鍵字進行的。這指示應用程式在等待網路回應時,應用程式可以釋放對事件循環的控制。" + +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" +#~ msgstr "" + +#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." +#~ msgstr "" + +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." +#~ msgstr "" + +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#~ msgstr "" + From c626d76b0409236e4365000366128fb158bc3127 Mon Sep 17 00:00:00 2001 From: Kattni Date: Tue, 12 Aug 2025 23:32:49 -0400 Subject: [PATCH 06/24] Building, BeeWare theme in, PO files ready for merge. --- .gitignore | 4 + docs/config.yml | 47 +- docs/en/SUMMARY.md | 1 - docs/en/how-to/index.md | 129 +--- docs/en/how-to/index.rst | 602 ---------------- docs/en/index.md | 8 +- docs/en/index.rst | 94 --- docs/en/tutorial/topics/camera-access.md | 5 +- docs/en/tutorial/topics/camera-access.rst | 190 ----- docs/en/tutorial/topics/custom-icons.md | 42 +- docs/en/tutorial/topics/custom-icons.rst | 471 ------------ docs/en/tutorial/topics/index.md | 18 +- docs/en/tutorial/topics/index.rst | 39 - docs/en/tutorial/topics/testing.md | 2 +- docs/en/tutorial/topics/testing.rst | 513 ------------- docs/en/tutorial/tutorial-0.md | 13 +- docs/en/tutorial/tutorial-0.rst | 222 ------ docs/en/tutorial/tutorial-1.md | 10 +- docs/en/tutorial/tutorial-1.rst | 246 ------- docs/en/tutorial/tutorial-2.md | 7 +- docs/en/tutorial/tutorial-2.rst | 322 --------- docs/en/tutorial/tutorial-3.md | 16 +- docs/en/tutorial/tutorial-3.rst | 581 --------------- docs/en/tutorial/tutorial-4.md | 53 +- docs/en/tutorial/tutorial-4.rst | 255 ------- docs/en/tutorial/tutorial-5/android.md | 14 +- docs/en/tutorial/tutorial-5/android.rst | 383 ---------- docs/en/tutorial/tutorial-5/iOS.md | 8 +- docs/en/tutorial/tutorial-5/iOS.rst | 150 ---- docs/en/tutorial/tutorial-5/index.md | 16 +- docs/en/tutorial/tutorial-5/index.rst | 28 - docs/en/tutorial/tutorial-6.md | 7 +- docs/en/tutorial/tutorial-6.rst | 178 ----- docs/en/tutorial/tutorial-7.md | 54 +- docs/en/tutorial/tutorial-7.rst | 678 ------------------ docs/en/tutorial/tutorial-8.md | 6 +- docs/en/tutorial/tutorial-8.rst | 369 ---------- docs/mkdocs.en.yml | 9 + docs/overrides/assets/images/brutus-256.png | Bin 0 -> 20837 bytes .../assets/stylesheets/beeware_theme.css | 325 +++++++++ docs/overrides/main.html | 33 + docs/overrides/partials/header copy.html | 122 ++++ docs/overrides/partials/header.html | 66 ++ locales/de/LC_MESSAGES/how-to/index.po | 34 +- locales/de/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 30 +- .../tutorial/topics/custom-icons.po | 28 +- .../de/LC_MESSAGES/tutorial/topics/testing.po | 44 +- locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 62 +- locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 56 +- locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 124 ++-- locales/de/LC_MESSAGES/tutorial/tutorial-3.po | 92 +-- locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 56 +- .../tutorial/tutorial-5/android.po | 68 +- .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 32 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 8 +- locales/de/LC_MESSAGES/tutorial/tutorial-6.po | 16 +- locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 112 +-- locales/de/LC_MESSAGES/tutorial/tutorial-8.po | 76 +- locales/es/LC_MESSAGES/how-to/index.po | 34 +- locales/es/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 30 +- .../tutorial/topics/custom-icons.po | 26 +- .../es/LC_MESSAGES/tutorial/topics/testing.po | 44 +- locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 62 +- locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 56 +- locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 124 ++-- locales/es/LC_MESSAGES/tutorial/tutorial-3.po | 92 +-- locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 58 +- .../tutorial/tutorial-5/android.po | 68 +- .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 32 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 8 +- locales/es/LC_MESSAGES/tutorial/tutorial-6.po | 16 +- locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 112 +-- locales/es/LC_MESSAGES/tutorial/tutorial-8.po | 78 +- locales/fr/LC_MESSAGES/how-to/index.po | 34 +- locales/fr/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 18 +- .../tutorial/topics/custom-icons.po | 26 +- .../fr/LC_MESSAGES/tutorial/topics/testing.po | 44 +- locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 56 +- locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 54 +- locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 102 +-- locales/fr/LC_MESSAGES/tutorial/tutorial-3.po | 92 +-- locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 58 +- .../tutorial/tutorial-5/android.po | 68 +- .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 32 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 8 +- locales/fr/LC_MESSAGES/tutorial/tutorial-6.po | 16 +- locales/fr/LC_MESSAGES/tutorial/tutorial-7.po | 112 +-- locales/fr/LC_MESSAGES/tutorial/tutorial-8.po | 74 +- locales/it/LC_MESSAGES/how-to/index.po | 34 +- locales/it/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 18 +- .../tutorial/topics/custom-icons.po | 26 +- .../it/LC_MESSAGES/tutorial/topics/testing.po | 44 +- locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 60 +- locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 56 +- locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 124 ++-- locales/it/LC_MESSAGES/tutorial/tutorial-3.po | 92 +-- locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 58 +- .../tutorial/tutorial-5/android.po | 68 +- .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 32 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 8 +- locales/it/LC_MESSAGES/tutorial/tutorial-6.po | 16 +- locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 112 +-- locales/it/LC_MESSAGES/tutorial/tutorial-8.po | 76 +- locales/pt/LC_MESSAGES/how-to/index.po | 34 +- locales/pt/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 18 +- .../tutorial/topics/custom-icons.po | 26 +- .../pt/LC_MESSAGES/tutorial/topics/testing.po | 44 +- locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 58 +- locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 62 +- locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 124 ++-- locales/pt/LC_MESSAGES/tutorial/tutorial-3.po | 92 +-- locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 58 +- .../tutorial/tutorial-5/android.po | 66 +- .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 32 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 8 +- locales/pt/LC_MESSAGES/tutorial/tutorial-6.po | 16 +- locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 112 +-- locales/pt/LC_MESSAGES/tutorial/tutorial-8.po | 76 +- locales/zh_CN/LC_MESSAGES/how-to/index.po | 34 +- locales/zh_CN/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 18 +- .../tutorial/topics/custom-icons.po | 34 +- .../LC_MESSAGES/tutorial/topics/testing.po | 72 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 72 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 70 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 24 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 128 ++-- .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 92 +-- .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 82 +-- .../tutorial/tutorial-5/android.po | 73 +- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 31 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 6 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 18 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 109 ++- .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 84 +-- .../zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 54 +- locales/zh_TW/LC_MESSAGES/how-to/index.po | 34 +- locales/zh_TW/LC_MESSAGES/index.po | 24 +- .../tutorial/topics/camera-access.po | 18 +- .../tutorial/topics/custom-icons.po | 28 +- .../LC_MESSAGES/tutorial/topics/testing.po | 50 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 62 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 52 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 110 +-- .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 98 +-- .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 58 +- .../tutorial/tutorial-5/android.po | 68 +- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 32 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 6 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 16 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 114 +-- .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 86 +-- pyproject.toml | 3 +- tox.ini | 6 +- .../de/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/de/LC_MESSAGES/index.po | 101 --- .../tutorial/topics/camera-access.po | 131 ---- .../tutorial/topics/custom-icons.po | 142 ---- .../de/LC_MESSAGES/tutorial/topics/index.po | 64 -- .../de/LC_MESSAGES/tutorial/topics/testing.po | 147 ---- .../de/LC_MESSAGES/tutorial/tutorial-0.po | 233 ------ .../de/LC_MESSAGES/tutorial/tutorial-1.po | 192 ----- .../de/LC_MESSAGES/tutorial/tutorial-2.po | 288 -------- .../de/LC_MESSAGES/tutorial/tutorial-3.po | 313 -------- .../de/LC_MESSAGES/tutorial/tutorial-4.po | 171 ----- .../tutorial/tutorial-5/android.po | 214 ------ .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 83 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 50 -- .../de/LC_MESSAGES/tutorial/tutorial-6.po | 101 --- .../de/LC_MESSAGES/tutorial/tutorial-7.po | 375 ---------- .../de/LC_MESSAGES/tutorial/tutorial-8.po | 371 ---------- .../es/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/es/LC_MESSAGES/index.po | 101 --- .../tutorial/topics/camera-access.po | 131 ---- .../tutorial/topics/custom-icons.po | 143 ---- .../es/LC_MESSAGES/tutorial/topics/index.po | 63 -- .../es/LC_MESSAGES/tutorial/topics/testing.po | 140 ---- .../es/LC_MESSAGES/tutorial/tutorial-0.po | 233 ------ .../es/LC_MESSAGES/tutorial/tutorial-1.po | 209 ------ .../es/LC_MESSAGES/tutorial/tutorial-2.po | 291 -------- .../es/LC_MESSAGES/tutorial/tutorial-3.po | 313 -------- .../es/LC_MESSAGES/tutorial/tutorial-4.po | 172 ----- .../tutorial/tutorial-5/android.po | 214 ------ .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 81 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 46 -- .../es/LC_MESSAGES/tutorial/tutorial-6.po | 102 --- .../es/LC_MESSAGES/tutorial/tutorial-7.po | 374 ---------- .../es/LC_MESSAGES/tutorial/tutorial-8.po | 368 ---------- .../fr/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/fr/LC_MESSAGES/index.po | 101 --- .../tutorial/topics/camera-access.po | 138 ---- .../tutorial/topics/custom-icons.po | 144 ---- .../fr/LC_MESSAGES/tutorial/topics/index.po | 52 -- .../fr/LC_MESSAGES/tutorial/topics/testing.po | 147 ---- .../fr/LC_MESSAGES/tutorial/tutorial-0.po | 235 ------ .../fr/LC_MESSAGES/tutorial/tutorial-1.po | 191 ----- .../fr/LC_MESSAGES/tutorial/tutorial-2.po | 262 ------- .../fr/LC_MESSAGES/tutorial/tutorial-3.po | 313 -------- .../fr/LC_MESSAGES/tutorial/tutorial-4.po | 172 ----- .../tutorial/tutorial-5/android.po | 252 ------- .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 94 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 46 -- .../fr/LC_MESSAGES/tutorial/tutorial-6.po | 102 --- .../fr/LC_MESSAGES/tutorial/tutorial-7.po | 374 ---------- .../fr/LC_MESSAGES/tutorial/tutorial-8.po | 371 ---------- .../it/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/it/LC_MESSAGES/index.po | 122 ---- .../tutorial/topics/camera-access.po | 138 ---- .../tutorial/topics/custom-icons.po | 149 ---- .../it/LC_MESSAGES/tutorial/topics/index.po | 64 -- .../it/LC_MESSAGES/tutorial/topics/testing.po | 152 ---- .../it/LC_MESSAGES/tutorial/tutorial-0.po | 266 ------- .../it/LC_MESSAGES/tutorial/tutorial-1.po | 221 ------ .../it/LC_MESSAGES/tutorial/tutorial-2.po | 301 -------- .../it/LC_MESSAGES/tutorial/tutorial-3.po | 318 -------- .../it/LC_MESSAGES/tutorial/tutorial-4.po | 177 ----- .../tutorial/tutorial-5/android.po | 257 ------- .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 99 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 55 -- .../it/LC_MESSAGES/tutorial/tutorial-6.po | 106 --- .../it/LC_MESSAGES/tutorial/tutorial-7.po | 380 ---------- .../it/LC_MESSAGES/tutorial/tutorial-8.po | 376 ---------- .../pt/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/pt/LC_MESSAGES/index.po | 106 --- .../tutorial/topics/camera-access.po | 138 ---- .../tutorial/topics/custom-icons.po | 148 ---- .../pt/LC_MESSAGES/tutorial/topics/index.po | 68 -- .../pt/LC_MESSAGES/tutorial/topics/testing.po | 151 ---- .../pt/LC_MESSAGES/tutorial/tutorial-0.po | 239 ------ .../pt/LC_MESSAGES/tutorial/tutorial-1.po | 194 ----- .../pt/LC_MESSAGES/tutorial/tutorial-2.po | 266 ------- .../pt/LC_MESSAGES/tutorial/tutorial-3.po | 292 -------- .../pt/LC_MESSAGES/tutorial/tutorial-4.po | 175 ----- .../tutorial/tutorial-5/android.po | 255 ------- .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 97 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 50 -- .../pt/LC_MESSAGES/tutorial/tutorial-6.po | 108 --- .../pt/LC_MESSAGES/tutorial/tutorial-7.po | 378 ---------- .../pt/LC_MESSAGES/tutorial/tutorial-8.po | 374 ---------- .../zh_CN/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/zh_CN/LC_MESSAGES/index.po | 98 --- .../tutorial/topics/camera-access.po | 140 ---- .../tutorial/topics/custom-icons.po | 155 ---- .../LC_MESSAGES/tutorial/topics/index.po | 54 -- .../LC_MESSAGES/tutorial/topics/testing.po | 176 ----- .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 237 ------ .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 217 ------ .../zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 147 ---- .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 276 ------- .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 264 ------- .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 186 ----- .../tutorial/tutorial-5/android.po | 243 ------- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 87 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 47 -- .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 113 --- .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 369 ---------- .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 386 ---------- .../zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 165 ----- .../zh_TW/LC_MESSAGES/how-to/index.po | 327 --------- updated-locales/zh_TW/LC_MESSAGES/index.po | 105 --- .../tutorial/topics/camera-access.po | 138 ---- .../tutorial/topics/custom-icons.po | 147 ---- .../LC_MESSAGES/tutorial/topics/index.po | 52 -- .../LC_MESSAGES/tutorial/topics/testing.po | 148 ---- .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 239 ------ .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 194 ----- .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 297 -------- .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 317 -------- .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 176 ----- .../tutorial/tutorial-5/android.po | 256 ------- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 99 --- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 55 -- .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 116 --- .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 379 ---------- .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 355 --------- 280 files changed, 3780 insertions(+), 32581 deletions(-) delete mode 100644 docs/en/how-to/index.rst delete mode 100644 docs/en/index.rst delete mode 100644 docs/en/tutorial/topics/camera-access.rst delete mode 100644 docs/en/tutorial/topics/custom-icons.rst delete mode 100644 docs/en/tutorial/topics/index.rst delete mode 100644 docs/en/tutorial/topics/testing.rst delete mode 100644 docs/en/tutorial/tutorial-0.rst delete mode 100644 docs/en/tutorial/tutorial-1.rst delete mode 100644 docs/en/tutorial/tutorial-2.rst delete mode 100644 docs/en/tutorial/tutorial-3.rst delete mode 100644 docs/en/tutorial/tutorial-4.rst delete mode 100644 docs/en/tutorial/tutorial-5/android.rst delete mode 100644 docs/en/tutorial/tutorial-5/iOS.rst delete mode 100644 docs/en/tutorial/tutorial-5/index.rst delete mode 100644 docs/en/tutorial/tutorial-6.rst delete mode 100644 docs/en/tutorial/tutorial-7.rst delete mode 100644 docs/en/tutorial/tutorial-8.rst create mode 100644 docs/overrides/assets/images/brutus-256.png create mode 100644 docs/overrides/assets/stylesheets/beeware_theme.css create mode 100644 docs/overrides/main.html create mode 100644 docs/overrides/partials/header copy.html create mode 100644 docs/overrides/partials/header.html delete mode 100644 updated-locales/de/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/de/LC_MESSAGES/index.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po delete mode 100644 updated-locales/es/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/es/LC_MESSAGES/index.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po delete mode 100644 updated-locales/fr/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/fr/LC_MESSAGES/index.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po delete mode 100644 updated-locales/it/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/it/LC_MESSAGES/index.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po delete mode 100644 updated-locales/pt/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/pt/LC_MESSAGES/index.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/index.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po delete mode 100644 updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/how-to/index.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/index.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po delete mode 100644 updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/.gitignore b/.gitignore index cc9228de..b8fbddd2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,7 @@ +# MkDocs +_build +comment.md + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] diff --git a/docs/config.yml b/docs/config.yml index 0f162b90..a4089bcd 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -4,7 +4,7 @@ not_in_nav: | /index.md validation: - omitted_files: info + omitted_files: warn absolute_links: relative_to_docs anchors: warn unrecognized_links: warn @@ -12,26 +12,37 @@ validation: theme: name: material language: en + logo: assets/images/brutus-256.png features: - content.tabs.link - toc.follow - - content.code.copy # Ask about fixing this + - content.code.copy - navigation.indexes - - navigation.expand +# - navigation.expand +# - search.suggest +# - search.highlight +# - search.share + custom_dir: overrides palette: + # Palette toggle for automatic mode + - media: "(prefers-color-scheme)" + toggle: + icon: material/brightness-auto + name: Switch to light mode + # Palette toggle for light mode - - scheme: default - primary: deep purple + - media: "(prefers-color-scheme: light)" + scheme: default toggle: - icon: material/brightness-7 - name: Switch to dark mode + icon: material/brightness-7 + name: Switch to dark mode # Palette toggle for dark mode - - scheme: slate - primary: deep purple + - media: "(prefers-color-scheme: dark)" + scheme: slate toggle: - icon: material/brightness-4 - name: Switch to light mode + icon: material/brightness-4 + name: Switch to system preference markdown_extensions: pymdownx.highlight: @@ -39,6 +50,7 @@ markdown_extensions: pymdownx.superfences: {} pymdownx.blocks.admonition: {} pymdownx.caret: {} + pymdownx.blocks.caption: {} pymdownx.blocks.tab: alternate_style: true toc: @@ -46,10 +58,6 @@ markdown_extensions: title: On this page attr_list: {} -extra: - "beta_support": ^β^ - "not_supported": ^❌^ - plugins: search: {} autorefs: {} @@ -57,12 +65,3 @@ plugins: literate-nav: nav_file: SUMMARY.md macros: {} - table-reader: {} - spellcheck: - backends: - - codespell: - dictionaries: [clear] - # Location of spelling_wordlist.txt is relative to docs_dir in mkdocs.x.yml. - # This is the location of it relative to the temp directory for translations. - known_words: ../spelling_wordlist - ignore_code: yes diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md index a3ad1724..76c39a52 100644 --- a/docs/en/SUMMARY.md +++ b/docs/en/SUMMARY.md @@ -1,4 +1,3 @@ -- [BeeWare Tutorial](index.md) - [Tutorial 0 - Let's get set up!](tutorial/tutorial-0.md) - [Tutorial 1 - Your first app](tutorial/tutorial-1.md) - [Tutorial 2 - Making it interesting](tutorial/tutorial-2.md) diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md index bb26f5de..af8142f5 100644 --- a/docs/en/how-to/index.md +++ b/docs/en/how-to/index.md @@ -1,7 +1,6 @@ # Contributing to this tutorial -This tutorial is written using [Sphinx and -reStructuredText](https://www.sphinx-doc.org/en/master/usage/restructuredtext/basics.html). +This tutorial is written using [MkDocs and Markdown](https://www.mkdocs.org/). This guide will help you contribute fixes or new content to this tutorial. @@ -43,67 +42,6 @@ C:\...>pip3 --version /// - -### Install Enchant - -You'll also need to install the Enchant spell checking library. - -/// tab | macOS - -Enchant can be installed using [Homebrew](https://brew.sh): - -```console -(venv) $ brew install enchant -``` - -If you're on an Apple Silicon machine (M-series), you'll also need to -manually set the location of the Enchant library: - -```console -(venv) $ export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib -``` - -/// - -/// tab | Linux - -Enchant can be installed as a system package: - -**Ubuntu / Debian** - -```console -$ sudo apt update -$ sudo apt install enchant-2 -``` - -**Fedora** - -```console -$ sudo dnf install enchant -``` - -**Arch / Manjaro** - -```console -$ sudo pacman -Syu enchant -``` - -**OpenSUSE Tumbleweed** - -```console -$ sudo zypper install enchant -``` - -/// - -/// tab | Windows - -Enchant is installed automatically when you set up your development -environment. - -/// - - ### Create a virtual environment The recommended way of setting up your development environment for @@ -137,7 +75,6 @@ C:\...>venv\Scripts\activate /// - Your prompt should now have a `(venv)` prefix in front of it. ### Clone the BeeWare repository @@ -156,7 +93,9 @@ the command line: Fork the BeeWare repository, and then: - (venv) $ git clone https://github.com//beeware.git +```console +(venv) $ git clone https://github.com//beeware.git +``` (substituting your GitHub username) @@ -166,7 +105,9 @@ Fork the BeeWare repository, and then: Fork the BeeWare repository, and then: - (venv) $ git clone https://github.com//beeware.git +```console +(venv) $ git clone https://github.com//beeware.git +``` (substituting your GitHub username) @@ -184,7 +125,6 @@ Fork the BeeWare repository, and then: /// - ### Install BeeWare tutorial docs dependencies Now that you have the source code, you can install BeeWare docs @@ -219,7 +159,6 @@ packages, so we have to manually install each package: /// - ### Install pre-commit BeeWare uses a tool called [Pre-Commit](https://pre-commit.com) to @@ -254,7 +193,6 @@ pre-commit installed at .git/hooks/pre-commit /// - When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct @@ -344,7 +282,6 @@ docformatter.............................................................Passed /// - You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change. @@ -412,7 +349,6 @@ docformatter.............................................................Passed /// - Now you are ready to start hacking on BeeWare docs! ## Building BeeWare's documentation @@ -445,7 +381,6 @@ Once your development environment is set up, run: /// - The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error. @@ -478,48 +413,12 @@ preview" mode: /// - This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed. -Live preview mode will only monitor the `docs` directory for changes. If -you're updating the inline documentation associated with BeeWare source -code, you'll need to use the `docs-live-src` target to build docs: - -/// tab | macOS - -```console -(venv) $ tox -e docs-live-src -``` - -/// - -/// tab | Linux - -```console -(venv) $ tox -e docs-live-src -``` - -/// - -/// tab | Windows - -```doscon -(venv) C:\...>tox -e docs-live-src -``` - -/// - - -This behaves the same as `docs-live`, but will also monitor any changes -to the `core/src` folder, reflecting any changes to inline -documentation. However, the rebuild process takes much longer, so you -may not want to use this target unless you're actively editing inline -documentation. - ### Documentation linting The build process will identify reStructuredText problems, but BeeWare @@ -549,7 +448,6 @@ performs some additional "lint" checks. To run the lint checks: /// - This will validate the documentation does not contain: - dead hyperlinks @@ -560,16 +458,16 @@ word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember: - We prefer US spelling, with some liberties for programming-specific - colloquialism (e.g., "apps") and verbing of nouns (e.g., "scrollable") + colloquialisms (e.g., "apps") and verbing of nouns (e.g., "scrollable") - Any reference to a product name should use the product's preferred capitalization. (e.g., "macOS", "GTK", "pytest", "Pygame", "PyScript"). -- If a term is being used "as code", then it should be quoted as a - literal rather than being added to the dictionary. +- If a term is being used "as code", then it should be quoted as inline + code rather than being added to the dictionary. ### Rebuilding all documentation -To force a rebuild for all of the documentation: +To force a rebuild for all the documentation: /// tab | macOS @@ -595,14 +493,12 @@ To force a rebuild for all of the documentation: /// - The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error. ## What to work on? -If you're looking for specific areas to improve, there are [tickets -tagged +If you're looking for specific areas to improve, there are [tickets tagged "documentation"](https://github.com/beeware/BeeWare/issues?q=is%3Aopen+is%3Aissue+label%3Adocumentation) in BeeWare's issue tracker. @@ -660,6 +556,5 @@ To create a feature branch, run: /// - Commit your changes to this branch, then push to GitHub and create a pull request. diff --git a/docs/en/how-to/index.rst b/docs/en/how-to/index.rst deleted file mode 100644 index fd79331d..00000000 --- a/docs/en/how-to/index.rst +++ /dev/null @@ -1,602 +0,0 @@ -============================= -Contributing to this tutorial -============================= - -This tutorial is written using `Sphinx and reStructuredText -`__. -This guide will help you contribute fixes or new content to this tutorial. - -Translations of this tutorial are managed using `Weblate -`__. If you'd like to contribute to -the translation effort, join the ``#translations`` channel on `Discord -`__ and introduce yourself! - -Set up your development environment -=================================== - -.. Docs are always built on Python 3.12. See also the RTD and tox config. - -To build the BeeWare tutorial you **must** have a Python 3.12 interpreter -installed and available on your path (i.e., ``python3`` must start a Python -3.12 interpreter). - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - $ python3 --version - $ pip3 --version - - .. group-tab:: Linux - - .. code-block:: console - - $ python3 --version - $ pip3 --version - - .. group-tab:: Windows - - .. code-block:: doscon - - C:\...>python3 --version - C:\...>pip3 --version - -Install Enchant ---------------- - -You'll also need to install the Enchant spell checking library. - -.. tabs:: - - .. group-tab:: macOS - - Enchant can be installed using `Homebrew `__: - - .. code-block:: console - - (venv) $ brew install enchant - - If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location - of the Enchant library: - - .. code-block:: console - - (venv) $ export PYENCHANT_LIBRARY_PATH=/opt/homebrew/lib/libenchant-2.2.dylib - - .. group-tab:: Linux - - Enchant can be installed as a system package: - - **Ubuntu / Debian** - - .. code-block:: console - - $ sudo apt update - $ sudo apt install enchant-2 - - **Fedora** - - .. code-block:: console - - $ sudo dnf install enchant - - **Arch / Manjaro** - - .. code-block:: console - - $ sudo pacman -Syu enchant - - **OpenSUSE Tumbleweed** - - .. code-block:: console - - $ sudo zypper install enchant - - .. group-tab:: Windows - - Enchant is installed automatically when you set up your development - environment. - -Create a virtual environment ----------------------------- - -The recommended way of setting up your development environment for BeeWare -is to install a virtual environment, install the required dependencies and -start coding. To set up a virtual environment, run: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - $ python3 -m venv venv - $ source venv/bin/activate - - .. group-tab:: Linux - - .. code-block:: console - - $ python3 -m venv venv - $ source venv/bin/activate - - .. group-tab:: Windows - - .. code-block:: doscon - - C:\...>python3 -m venv venv - C:\...>venv\Scripts\activate - -Your prompt should now have a ``(venv)`` prefix in front of it. - -Clone the BeeWare repository ----------------------------- - -For updates to BeeWare documentation: - -Next, go to `the BeeWare page on GitHub `__, fork -the repository into your own account, and then clone a copy of that repository -onto your computer by clicking on "Clone or Download". If you have the GitHub -desktop application installed on your computer, you can select "Open in -Desktop"; otherwise, copy the URL provided, and use it to clone using the -command line: - -.. tabs:: - - .. group-tab:: macOS - - Fork the BeeWare repository, and then:: - - (venv) $ git clone https://github.com//beeware.git - - (substituting your GitHub username) - - .. group-tab:: Linux - - Fork the BeeWare repository, and then:: - - (venv) $ git clone https://github.com//beeware.git - - (substituting your GitHub username) - - .. group-tab:: Windows - - Fork the BeeWare repository, and then: - - .. code-block:: doscon - - (venv) C:\...>git clone https://github.com//beeware.git - - (substituting your GitHub username) - -Install BeeWare tutorial docs dependencies ------------------------------------------- - -Now that you have the source code, you can install BeeWare docs requirements into -your development environment. Since we're installing from source, we can't -rely on pip to resolve the dependencies to source packages, -so we have to manually install each package: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ cd beeware - (venv) $ python -m pip install -e ".[dev]" - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ cd beeware - (venv) $ python -m pip install -e .[dev] - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>cd beeware - (venv) C:\...>python -m pip install -e .[dev] - -Install pre-commit ------------------- - -BeeWare uses a tool called `Pre-Commit `__ to identify -simple issues and standardize code formatting. It does this by installing a git -hook that automatically runs a series of code linters prior to finalizing any -git commit. To enable pre-commit, run: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ pre-commit install - pre-commit installed at .git/hooks/pre-commit - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ pre-commit install - pre-commit installed at .git/hooks/pre-commit - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>pre-commit install - pre-commit installed at .git/hooks/pre-commit - -When you commit any change, pre-commit will run automatically. If there are any -issues found with the commit, this will cause your commit to fail. Where possible, -pre-commit will make the changes needed to correct the problems it has found: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ git add some/interesting_file.py - (venv) $ git commit -m "Minor change" - black....................................................................Failed - - hook id: black - - files were modified by this hook - - reformatted some/interesting_file.py - - All done! ✨ 🍰 ✨ - 1 file reformatted. - - flake8...................................................................Passed - check toml...........................................(no files to check)Skipped - check yaml...........................................(no files to check)Skipped - check for case conflicts.................................................Passed - check docstring is first.................................................Passed - fix end of files.........................................................Passed - trim trailing whitespace.................................................Passed - isort....................................................................Passed - pyupgrade................................................................Passed - docformatter.............................................................Passed - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ git add some/interesting_file.py - (venv) $ git commit -m "Minor change" - black....................................................................Failed - - hook id: black - - files were modified by this hook - - reformatted some/interesting_file.py - - All done! ✨ 🍰 ✨ - 1 file reformatted. - - flake8...................................................................Passed - check toml...........................................(no files to check)Skipped - check yaml...........................................(no files to check)Skipped - check for case conflicts.................................................Passed - check docstring is first.................................................Passed - fix end of files.........................................................Passed - trim trailing whitespace.................................................Passed - isort....................................................................Passed - pyupgrade................................................................Passed - docformatter.............................................................Passed - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>git add some/interesting_file.py - (venv) C:\...>git commit -m "Minor change" - black....................................................................Failed - - hook id: black - - files were modified by this hook - - reformatted some\interesting_file.py - - All done! ✨ 🍰 ✨ - 1 file reformatted. - - flake8...................................................................Passed - check toml...........................................(no files to check)Skipped - check yaml...........................................(no files to check)Skipped - check for case conflicts.................................................Passed - check docstring is first.................................................Passed - fix end of files.........................................................Passed - trim trailing whitespace.................................................Passed - isort....................................................................Passed - pyupgrade................................................................Passed - docformatter.............................................................Passed - -You can then re-add any files that were modified as a result of the pre-commit checks, -and re-commit the change. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ git add some/interesting_file.py - (venv) $ git commit -m "Minor change" - black....................................................................Passed - flake8...................................................................Passed - check toml...........................................(no files to check)Skipped - check yaml...........................................(no files to check)Skipped - check for case conflicts.................................................Passed - check docstring is first.................................................Passed - fix end of files.........................................................Passed - trim trailing whitespace.................................................Passed - isort....................................................................Passed - pyupgrade................................................................Passed - docformatter.............................................................Passed - [bugfix e3e0f73] Minor change - 1 file changed, 4 insertions(+), 2 deletions(-) - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ git add some/interesting_file.py - (venv) $ git commit -m "Minor change" - black....................................................................Passed - flake8...................................................................Passed - check toml...........................................(no files to check)Skipped - check yaml...........................................(no files to check)Skipped - check for case conflicts.................................................Passed - check docstring is first.................................................Passed - fix end of files.........................................................Passed - trim trailing whitespace.................................................Passed - isort....................................................................Passed - pyupgrade................................................................Passed - docformatter.............................................................Passed - [bugfix e3e0f73] Minor change - 1 file changed, 4 insertions(+), 2 deletions(-) - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>git add some\interesting_file.py - (venv) C:\...>git commit -m "Minor change" - black....................................................................Passed - flake8...................................................................Passed - check toml...........................................(no files to check)Skipped - check yaml...........................................(no files to check)Skipped - check for case conflicts.................................................Passed - check docstring is first.................................................Passed - fix end of files.........................................................Passed - trim trailing whitespace.................................................Passed - isort....................................................................Passed - pyupgrade................................................................Passed - docformatter.............................................................Passed - -Now you are ready to start hacking on BeeWare docs! - -Building BeeWare's documentation -================================ - -Build documentation locally ---------------------------- - -Once your development environment is set up, run: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ tox -e docs - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ tox -e docs - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>tox -e docs - -The output of the file should be in the ``docs/_build/html`` folder. If there -are any markup problems, they'll raise an error. - -Live documentation preview --------------------------- - -To support rapid editing of documentation, BeeWare also has a "live preview" mode: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ tox -e docs-live - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ tox -e docs-live - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>tox -e docs-live - -This will build the documentation, start a web server to serve the build documentation, -and watch the file system for any changes to the documentation source. If a change is -detected, the documentation will be rebuilt, and any browser viewing the modified page -will be automatically refreshed. - -Live preview mode will only monitor the ``docs`` directory for changes. If you're -updating the inline documentation associated with BeeWare source code, you'll need to use -the ``docs-live-src`` target to build docs: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ tox -e docs-live-src - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ tox -e docs-live-src - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>tox -e docs-live-src - -This behaves the same as ``docs-live``, but will also monitor any changes to the -``core/src`` folder, reflecting any changes to inline documentation. However, the -rebuild process takes much longer, so you may not want to use this target unless -you're actively editing inline documentation. - -Documentation linting ---------------------- - -The build process will identify reStructuredText problems, but BeeWare performs some -additional "lint" checks. To run the lint checks: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ tox -e docs-lint - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ tox -e docs-lint - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>tox -e docs-lint - -This will validate the documentation does not contain: - -* dead hyperlinks -* misspelled words - -If a valid spelling of a word is identified as misspelled, then add the word to -the list in ``docs/spelling_wordlist``. This will add the word to the -spellchecker's dictionary. When adding to this list, remember: - -* We prefer US spelling, with some liberties for programming-specific - colloquialism (e.g., "apps") and verbing of nouns (e.g., "scrollable") -* Any reference to a product name should use the product's preferred - capitalization. (e.g., "macOS", "GTK", "pytest", "Pygame", "PyScript"). -* If a term is being used "as code", then it should be quoted as a literal - rather than being added to the dictionary. - -Rebuilding all documentation ----------------------------- - -To force a rebuild for all of the documentation: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ tox -e docs-all - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ tox -e docs-all - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>tox -e docs-all - -The documentation should be fully rebuilt in the ``docs/_build/html`` folder. -If there are any markup problems, they'll raise an error. - -What to work on? -================ - -If you're looking for specific areas to improve, there are `tickets tagged -"documentation" -`__ -in BeeWare's issue tracker. - -However, you don't need to be constrained by these tickets. If you can identify -an error in the tutorial, or an improvement that can be made, start writing! -Anything that improves the experience of the end user is a welcome change. - -Submitting a pull request -========================= - -Before you submit a pull request, there's a few bits of housekeeping to do. - -Submit from a feature branch, not your ``main`` branch ------------------------------------------------------- - -Before you start working on your change, make sure you've created a branch. -By default, when you clone your repository fork, you'll be checked out on -your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. -To contribute to BeeWare itself, not the docs, please review the repo README. - -While you *can* submit a pull request from your ``main`` branch, it's preferable -if you *don't* do this. If you submit a pull request that is *almost* right, the -core team member who reviews your pull request may be able to make the necessary -changes, rather than giving feedback asking for a minor change. However, if you -submit your pull request from your ``main`` branch, reviewers are prevented from -making modifications. - -Instead, you should make your changes on a *feature branch*. A feature branch -has a simple name to identify the change that you've made. - -To create a feature branch, run: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (venv) $ git checkout -b fix-layout-bug - - .. group-tab:: Linux - - .. code-block:: console - - (venv) $ git checkout -b fix-layout-bug - - .. group-tab:: Windows - - .. code-block:: doscon - - (venv) C:\...>git checkout -b fix-layout-bug - -Commit your changes to this branch, then push to GitHub and create a pull request. diff --git a/docs/en/index.md b/docs/en/index.md index cb3d11a0..65a06600 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,4 +1,4 @@ -# Welcome to the BeeWare Tutorial! +# Welcome to the BeeWare Tutorial! { id=tutorial-0 } **Write Python. Run Anywhere.** @@ -9,6 +9,7 @@ how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app. {% if config.extra.original_translation == true %} + /// admonition | Translations are available If you're not comfortable with English, translations of this tutorial @@ -22,9 +23,11 @@ are available in [Deutsch](https://docs.beeware.org/de), /// + {% endif %} {% if config.extra.machine_translation == true %} + /// admonition | This is a machine translation! This version of the tutorial has been generated by machine translation. @@ -37,9 +40,11 @@ Introduce yourself there and we will add you to the translation team. /// + {% endif %} {% if config.extra.human_translation == true %} + /// admonition | This is a translation! This document is a translation of the English version. The translation @@ -52,6 +57,7 @@ Introduce yourself there and we will add you to the translation team. /// + {% endif %} diff --git a/docs/en/index.rst b/docs/en/index.rst deleted file mode 100644 index ee4931c9..00000000 --- a/docs/en/index.rst +++ /dev/null @@ -1,94 +0,0 @@ -================================ -Welcome to the BeeWare Tutorial! -================================ - -**Write Python. Run Anywhere.** - -Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface -using Python, and deploy it as a desktop application, as a mobile application, and as a -single page web app. We'll also look at how you can use BeeWare tools to perform some of -the common tasks that you'll need to do as an app developer, such as testing your app. - -.. only:: original_translation - - .. admonition:: Translations are available - - If you're not comfortable with English, translations of this tutorial are - available in - `Deutsch `__, - `Español `__, - `Français `__, - `Italiano `__, - `Português `__, - `中文(简体) `__, and - `中文(繁體) `__. - - -.. only:: machine_translation - - .. admonition:: This is a machine translation! - - This version of the tutorial has been generated by machine translation. We know this - isn't ideal, but we felt that a bad translation was better than no translation at - all. - - If you'd like the help improve the translation, get in touch! We have a - ``#translations`` channel in `Discord `__. - Introduce yourself there and we will add you to the translation team. - -.. only:: human_translation - - .. admonition:: This is a translation! - - This document is a translation of the English version. The translation has been - reviewed by humans, but newer sections may be generated by machine translation, or - not translated at all. - - If you'd like the help improve the translation, get in touch! We have a - ``#translations`` channel in `Discord `__. - Introduce yourself there and we will add you to the translation team. - -What is BeeWare? -================ - -BeeWare is not a single product, or tool, or library - it's a collection of tools and -libraries, each of which works together to help you write cross platform Python -applications with a native GUI. It includes: - -* `Toga `__, a cross platform widget toolkit; -* `Briefcase `__, a tool for packaging Python - projects as distributable artefacts that can be shipped to end users; -* Libraries (such as `Rubicon ObjC `__) for - accessing platform-native libraries; -* Pre-compiled builds of Python that can be used on platforms where official - Python installers aren't available. - -In this tutorial, we'll be using all these tools, but as a user, you'll only need to -interact with the first two (Toga and Briefcase). However, each of the tools can also be -used individually - for example, you can use Briefcase to deploy an app without using -Toga as a GUI toolkit. - -The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile -platforms such as Android and iOS; and for the Web. - -Let's go! -========= - -Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in -Python! ` - -.. toctree:: - :maxdepth: 2 - :hidden: - - tutorial/tutorial-0 - tutorial/tutorial-1 - tutorial/tutorial-2 - tutorial/tutorial-3 - tutorial/tutorial-4 - tutorial/tutorial-5/index - tutorial/tutorial-6 - tutorial/tutorial-7 - tutorial/tutorial-8 - tutorial/topics/index - how-to/index diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index cb627a78..1702559f 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -1,4 +1,4 @@ -# Using the camera +# Using the camera { id="using-camera" } Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to @@ -21,7 +21,6 @@ raise an error when you try to take a photograph. The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator. - /// ## Start a new project @@ -54,7 +53,7 @@ The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content: -```{.python emphasize-lines="9-18, 23-44"} +```python {hl_lines="9-18 23-44"} import toga from toga.style.pack import COLUMN, ROW diff --git a/docs/en/tutorial/topics/camera-access.rst b/docs/en/tutorial/topics/camera-access.rst deleted file mode 100644 index 5eca9e3a..00000000 --- a/docs/en/tutorial/topics/camera-access.rst +++ /dev/null @@ -1,190 +0,0 @@ -================ -Using the camera -================ - -Almost every modern computing device has a camera of some sort. In this tutorial, -we'll write new application that is able to request access to this camera, take -a photograph, and then display that photograph in the new application that uses -your device's camera. - -.. admonition:: This tutorial won't work on all platforms! - - Unfortunately, at present, this tutorial will only work on macOS and - Android. - - Although iPhones all have cameras, the iOS *Simulator* doesn't have a - working camera. Windows and Linux devices also have cameras, but Toga - doesn't currently have the ability to access the camera on these platforms. - - The code presented here will *run* on Windows or Linux; but it will raise an - error when you try to take a photograph. - - The code will work if it is run on an actual iOS device, but will fail to - take a photograph if deployed to the iOS simulator. - -Start a new project -=================== - -For this tutorial, we're not going to build onto the application from the core -tutorial - we're going to start a fresh project. You can use the same virtual -environment you used in the first project; but we need to re-run the ``briefcase -new`` wizard. - -Change back to the directory that contains the ``helloworld`` project folder, -and start a new project named "Hello Camera": - -.. code-block:: console - - (beeware-venv) $ cd .. - (beeware-venv) $ briefcase new - ... - [hellocamera] Generated new application 'Hello Camera' - - To run your application, type: - - $ cd hellocamera - $ briefcase dev - - (beeware-venv) $ cd hellocamera - -Add code to take a photo -======================== - -The wizard has generated a new empty Toga project. We can now add the code to -take and display a photograph. Edit the ``app.py`` for the new application so -that it has the following content: - -.. code-block:: python - :emphasize-lines: 9-18, 23-44 - - import toga - from toga.style.pack import COLUMN, ROW - - - class HelloCamera(toga.App): - def startup(self): - main_box = toga.Box() - - self.photo = toga.ImageView(height=300, margin=5) - camera_button = toga.Button( - "Take photo", - on_press=self.take_photo, - margin=5, - ) - - main_box.add(self.photo) - main_box.add(camera_button) - - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() - - async def take_photo(self, widget, **kwargs): - try: - if not self.camera.has_permission: - await self.camera.request_permission() - - image = await self.camera.take_photo() - if image: - self.photo.image = image - except NotImplementedError: - await self.main_window.dialog( - toga.InfoDialog( - "Oh no!", - "The Camera API is not implemented on this platform", - ) - ) - except PermissionError: - await self.main_window.dialog( - toga.InfoDialog( - "Oh no!", - "You have not granted permission to take photos", - ) - ) - - - def main(): - return HelloCamera() - -This code has two changes over the default app that is generated by Briefcase. -These additions are highlighted above: - -1. The first highlighted code block (in the ``startup()`` method) adds the two - widgets needed to control the camera: an ``ImageView`` to display a photo; - and a ``Button`` to trigger the camera. - -2. The second highlighted code block (the ``take_photo()`` method) defines the - event handler when the button is pressed. This handler first confirms if the - application has permission to take a photo; if permission doesn't exist, it - is requested. Then, a photo is taken. The request for permission and the - request to take a photo are both asynchronous requests, so they require the - use of ``await``; while the app is waiting for the user to confirm permissions or - take the photo, the app's event loop can continue in the background. - -If the camera successfully takes a photo, it will return an ``Image`` object -that can be assigned as the content of the ``ImageView``. If the photo request -was canceled by the user, the ``self.camera.take_photo()`` call will return -``None``, and the result can be ignored. If the user doesn't grant permission to -use the camera, or the camera isn't implemented on the current platform, an -error will be raised, and a dialog will be shown to the user. - -Adding device permissions -========================= - -Part of this code we've just added asks for permission to use the camera. This -is a common feature of modern app platforms - you can't access hardware features -without explicitly asking the user's permission first. - -However, this request comes in two parts. The first is in the code we've just -seen; but before the app can ask for permissions, it needs to declare the -permissions it is going to ask for. - -The permissions required by each platform are slightly different, but Briefcase -has a cross-platform representation for many common hardware permissions. In the -``[tool.briefcase.app.hellocamera]`` configuration section of your app's -``pyproject.toml`` file, add the following (just above the ``sources`` -declaration): - -.. code-block:: toml - - permission.camera = "App will take mugshots." - -This declares that your app needs to access the camera, and provides a short -description why the camera is required. This description is needed on some -platforms (most notably macOS and iOS) and will be displayed to the user as a -additional information when the permission dialog is presented. - -We can now generate and run the app: - -.. tabs:: - - .. group-tab:: macOS - .. code-block:: console - - (beeware-venv)$ briefcase create - (beeware-venv)$ briefcase build - (beeware-venv)$ briefcase run - - .. group-tab:: Android - .. code-block:: console - - (beeware-venv)$ briefcase create android - (beeware-venv)$ briefcase build android - (beeware-venv)$ briefcase run android - -When the app runs, you'll be presented with a button. Press the button, and the -platform's default camera dialog will be displayed. Take a photo; the camera -dialog will disappear, and the photo will be displayed on in the app, just above -the button. You could then take another photo; this will replace the first -photo. - -Adding more permissions -======================= - -Permissions are declared in the files that are generated during the original -call to ``briefcase create``. Unfortunately, Briefcase can't update these files -once they've been initially generated; so if you want to add a new permission to -your app, or modify existing permissions, you'll need to re-create the app. You -can do this by re-running ``briefcase create``; this will warn you that the -existing app will be overwritten, and then regenerate the application with the -new permissions. diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index 1663af4a..ed40135a 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -1,4 +1,4 @@ -# Customizing icons +# Customizing icons { id="custom-icons" } The app we developed in the main tutorial uses a default "gray bee" icon when it is packaged. Let's personalize this application by configuring @@ -16,7 +16,9 @@ Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition: - icon = "icons/helloworld" +```toml +icon = "icons/helloworld" +``` This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this @@ -173,26 +175,28 @@ Let's provide some actual icons. Download `this icons.zip bundle it into the root of your project directory. After unzipping, your project directory should look something like: - beeware-tutorial/ - ├── beeware-venv/ +```text +beeware-tutorial/ +├── beeware-venv/ +│ └── ... +└── helloworld/ + ├── ... + ├── icons/ + │ ├── helloworld.icns + │ ├── helloworld.ico + │ ├── helloworld.png + │ ├── helloworld-16.png + │ └──... + ├── src/ │ └── ... - └── helloworld/ - ├── ... - ├── icons/ - │ ├── helloworld.icns - │ ├── helloworld.ico - │ ├── helloworld.png - │ ├── helloworld-16.png - │ └──... - ├── src/ - │ └── ... - └── pyproject.toml + └── pyproject.toml +``` There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:
- Icon of green snake with a light blue background + Icon of green snake with a light blue background
The only exception will be the icons with `-adaptive-` in their name; @@ -376,8 +380,6 @@ Removing unneeded app bundle content... done /// -/// - /// note | Note If you get a stack trace referencing `faker` or `httpx` when you run the @@ -395,7 +397,9 @@ by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition: - splash_background_color = "#D3E6F5" +```toml +splash_background_color = "#D3E6F5" +``` Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the diff --git a/docs/en/tutorial/topics/custom-icons.rst b/docs/en/tutorial/topics/custom-icons.rst deleted file mode 100644 index 44e510d3..00000000 --- a/docs/en/tutorial/topics/custom-icons.rst +++ /dev/null @@ -1,471 +0,0 @@ -================= -Customizing icons -================= - -The app we developed in the main tutorial uses a default "gray bee" icon when it -is packaged. Let's personalize this application by configuring it to use our own -icon. - -Adding an icon -============== - -Every platform uses a different format for application icons - and some -platforms need *multiple* icons in different sizes and shapes. To account for -this, Briefcase provides a shorthand way to configure an icon once, and then -have that definition expand in to all the different icons needed for each -individual platform. - -Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the -``[tool.briefcase.app.helloworld]`` configuration section, just above the -``sources`` definition:: - - icon = "icons/helloworld" - -This icon definition doesn't specify any file extension. The value will be used -as a prefix; each platform will add additional items to this prefix to build the -files needed for each platform. Some platforms require *multiple* icon files; -this prefix will be combined with file size and variant modifiers to generate -the list of icon files that are used. - -We can now run ``briefcase update`` again - but this time, we pass in the -``--update-resources`` flag, telling Briefcase that we want to install new -application resources (i.e., the icons): - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase update --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Unable to find icons/helloworld.icns for application icon; using default - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase update --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Unable to find icons/helloworld-16.png for 16px application icon; using default - Unable to find icons/helloworld-32.png for 32px application icon; using default - Unable to find icons/helloworld-64.png for 64px application icon; using default - Unable to find icons/helloworld-128.png for 128px application icon; using default - Unable to find icons/helloworld-256.png for 256px application icon; using default - Unable to find icons/helloworld-512.png for 512px application icon; using default - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase update --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Unable to find icons/helloworld.ico for application icon; using default - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - .. group-tab:: Android - - .. code-block:: console - - (beeware-venv) $ briefcase update android --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Unable to find icons/helloworld-round-48.png for 48px round application icon; using default - Unable to find icons/helloworld-round-72.png for 72px round application icon; using default - Unable to find icons/helloworld-round-96.png for 96px round application icon; using default - Unable to find icons/helloworld-round-144.png for 144px round application icon; using default - Unable to find icons/helloworld-round-192.png for 192px round application icon; using default - Unable to find icons/helloworld-square-48.png for 48px square application icon; using default - Unable to find icons/helloworld-square-72.png for 72px square application icon; using default - Unable to find icons/helloworld-square-96.png for 96px square application icon; using default - Unable to find icons/helloworld-square-144.png for 144px square application icon; using default - Unable to find icons/helloworld-square-192.png for 192px square application icon; using default - Unable to find icons/helloworld-square-320.png for 320px square application icon; using default - Unable to find icons/helloworld-square-480.png for 480px square application icon; using default - Unable to find icons/helloworld-square-640.png for 640px square application icon; using default - Unable to find icons/helloworld-square-960.png for 960px square application icon; using default - Unable to find icons/helloworld-square-1280.png for 1280px square application icon; using default - Unable to find icons/helloworld-adaptive-108.png for 108px adaptive application icon; using default - Unable to find icons/helloworld-adaptive-162.png for 162px adaptive application icon; using default - Unable to find icons/helloworld-adaptive-216.png for 216px adaptive application icon; using default - Unable to find icons/helloworld-adaptive-324.png for 324px adaptive application icon; using default - Unable to find icons/helloworld-adaptive-432.png for 432px adaptive application icon; using default - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - .. group-tab:: iOS - - .. code-block:: console - - (beeware-venv) $ briefcase iOS --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Unable to find icons/helloworld-20.png for 20px application icon; using default - Unable to find icons/helloworld-29.png for 29px application icon; using default - Unable to find icons/helloworld-40.png for 40px application icon; using default - Unable to find icons/helloworld-58.png for 58px application icon; using default - Unable to find icons/helloworld-60.png for 60px application icon; using default - Unable to find icons/helloworld-76.png for 76px application icon; using default - Unable to find icons/helloworld-80.png for 80px application icon; using default - Unable to find icons/helloworld-87.png for 87px application icon; using default - Unable to find icons/helloworld-120.png for 120px application icon; using default - Unable to find icons/helloworld-152.png for 152px application icon; using default - Unable to find icons/helloworld-167.png for 167px application icon; using default - Unable to find icons/helloworld-180.png for 180px application icon; using default - Unable to find icons/helloworld-640.png for 640px application icon; using default - Unable to find icons/helloworld-1024.png for 1024px application icon; using default - Unable to find icons/helloworld-1280.png for 1280px application icon; using default - Unable to find icons/helloworld-1920.png for 1920px application icon; using default - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - -This reports the specific icon file (or files) that Briefcase is expecting. -However, as we haven't provided the actual icon files, the install fails, and -Briefcase falls back to a default value (the same "gray bee" icon). - -Let's provide some actual icons. Download :download:`this icons.zip bundle -<../resources/icons.zip>`, and unzip it into the root of your project -directory. After unzipping, your project directory should look something like:: - - beeware-tutorial/ - ├── beeware-venv/ - │ └── ... - └── helloworld/ - ├── ... - ├── icons/ - │ ├── helloworld.icns - │ ├── helloworld.ico - │ ├── helloworld.png - │ ├── helloworld-16.png - │ └──... - ├── src/ - │ └── ... - └── pyproject.toml - -There's a *lot* of icons in this folder, but most of them should look the same: -a green snake on a light blue background: - -.. image:: ../resources/icon.png - :align: center - :alt: Icon of green snake with a light blue background - -The only exception will be the icons with ``-adaptive-`` in their name; these -will have a transparent background. This represents all the different icon sizes -and shapes you need to support an app on every platform that Briefcase supports. - -Now that we have icons, we can update the application again. However, -``briefcase update`` will only copy the updated resources into the build -directory; we also want to rebuild the app to make sure the new icon is -included, then start the app. We can shortcut this process by passing -``--update-resources`` to our call to ``run`` - this will update the app, update -the app's resources, and then start the app: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Installing icons/helloworld.icns as application icon... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Ad-hoc signing app... - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:01 - - [helloworld] Built build/helloworld/macos/app/Hello World.app - - [helloworld] Starting app... - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Installing icons/helloworld-16.png as 16px application icon... done - Installing icons/helloworld-32.png as 32px application icon... done - Installing icons/helloworld-64.png as 64px application icon... done - Installing icons/helloworld-128.png as 128px application icon... done - Installing icons/helloworld-256.png as 256px application icon... done - Installing icons/helloworld-512.png as 512px application icon... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Building application... - Build bootstrap binary... - ... - - [helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld - - [helloworld] Starting app... - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase build --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Installing icons/helloworld.ico as application icon... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Building App... - Removing any digital signatures from stub app... done - Setting stub app details... done - - [helloworld] Built build\helloworld\windows\app\src\Hello World.exe - - [helloworld] Starting app... - - .. group-tab:: Android - - .. code-block:: console - - (beeware-venv) $ briefcase build android --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Installing icons/helloworld-round-48.png as 48px round application icon... done - Installing icons/helloworld-round-72.png as 72px round application icon... done - Installing icons/helloworld-round-96.png as 96px round application icon... done - Installing icons/helloworld-round-144.png as 144px round application icon... done - Installing icons/helloworld-round-192.png as 192px round application icon... done - Installing icons/helloworld-square-48.png as 48px square application icon... done - Installing icons/helloworld-square-72.png as 72px square application icon... done - Installing icons/helloworld-square-96.png as 96px square application icon... done - Installing icons/helloworld-square-144.png as 144px square application icon... done - Installing icons/helloworld-square-192.png as 192px square application icon... done - Installing icons/helloworld-square-320.png as 320px square application icon... done - Installing icons/helloworld-square-480.png as 480px square application icon... done - Installing icons/helloworld-square-640.png as 640px square application icon... done - Installing icons/helloworld-square-960.png as 960px square application icon... done - Installing icons/helloworld-square-1280.png as 1280px square application icon... done - Installing icons/helloworld-adaptive-108.png as 108px adaptive application icon... done - Installing icons/helloworld-adaptive-162.png as 162px adaptive application icon... done - Installing icons/helloworld-adaptive-216.png as 216px adaptive application icon... done - Installing icons/helloworld-adaptive-324.png as 324px adaptive application icon... done - Installing icons/helloworld-adaptive-432.png as 432px adaptive application icon... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Starting app... - - .. note:: - - If you're using a recent version of Android, you may notice that the - app icon has been changed to a green snake, but the background of - the icon is *white*, rather than light blue. We'll fix this in the next - step. - - .. group-tab:: iOS - - .. code-block:: console - - (beeware-venv) $ briefcase build iOS --update-resources - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating application resources... - Installing icons/helloworld-20.png as 20px application icon... done - Installing icons/helloworld-29.png as 29px application icon... done - Installing icons/helloworld-40.png as 40px application icon... done - Installing icons/helloworld-58.png as 58px application icon... done - Installing icons/helloworld-60.png as 60px application icon... done - Installing icons/helloworld-76.png as 76px application icon... done - Installing icons/helloworld-80.png as 80px application icon... done - Installing icons/helloworld-87.png as 87px application icon... done - Installing icons/helloworld-120.png as 120px application icon... done - Installing icons/helloworld-152.png as 152px application icon... done - Installing icons/helloworld-167.png as 167px application icon... done - Installing icons/helloworld-180.png as 180px application icon... done - Installing icons/helloworld-640.png as 640px application icon... done - Installing icons/helloworld-1024.png as 1024px application icon... done - Installing icons/helloworld-1280.png as 1280px application icon... done - Installing icons/helloworld-1920.png as 1920px application icon... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Starting app... - -.. note:: - - If you get a stack trace referencing ``faker`` or ``httpx`` when you run the - app, it's possible you missed running your app during step 7 or 8 of the - tutorial. Re-run the app, adding the ``-r`` argument to update the app - requirements. - -When you run the app on iOS or Android, in addition to the icon change, you -should also notice that the splash screen incorporates the new icon. However, -the light blue background of the icon looks a little out of place against the -white background of the splash screen. We can fix this by customizing the -background color of the splash screen. Add the following definition to your -``pyproject.toml``, just after the ``icon`` definition:: - - splash_background_color = "#D3E6F5" - -Unfortunately, Briefcase isn't able to apply this change to an already generated -project, as it requires making modifications to one of the files that was -generated during the original call to ``briefcase create``. To apply this -change, we have to re-create the app by re-running ``briefcase create``. When we -do this, we'll be prompted to confirm that we want to overwrite the existing -project: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase create - - Application 'helloworld' already exists; overwrite [y/N]? y - - [helloworld] Removing old application bundle... - - [helloworld] Generating application template... - ... - - [helloworld] Created build/helloworld/macos/app - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase create - - Application 'helloworld' already exists; overwrite [y/N]? y - - [helloworld] Removing old application bundle... - - [helloworld] Generating application template... - ... - - [helloworld] Created build/helloworld/linux/ubuntu/jammy - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase create - - Application 'helloworld' already exists; overwrite [y/N]? y - - [helloworld] Removing old application bundle... - - [helloworld] Generating application template... - ... - - [helloworld] Created build\helloworld\windows\app - - .. group-tab:: Android - - .. code-block:: console - - (beeware-venv) $ briefcase create android - - Application 'helloworld' already exists; overwrite [y/N]? y - - [helloworld] Removing old application bundle... - - [helloworld] Generating application template... - ... - [helloworld] Created build/helloworld/android/gradle - - .. group-tab:: iOS - - .. code-block:: console - - (beeware-venv) $ briefcase create iOS - - Application 'helloworld' already exists; overwrite [y/N]? y - - [helloworld] Removing old application bundle... - - [helloworld] Generating application template... - ... - [helloworld] Created build/helloworld/ios/xcode - -You can then re-build and re-run the app using ``briefcase run``. You won't -notice any changes to the desktop app; but the Android or iOS apps should now -have a light blue splash screen background. - -You'll need to re-create the app like this whenever you make a change to your -``pyproject.toml`` that doesn't relate to source code or dependencies. Any -change to descriptions, version numbers, colors, or permissions will require a -re-create step. Because of this, while you are developing your project, you -shouldn't make any manual changes to the contents of the ``build`` folder, and -you shouldn't add the ``build`` folder to your version control system. The -``build`` folder should be considered entirely ephemeral - an output of the -build system that can be recreated as needed to reflect the current -configuration of your project. diff --git a/docs/en/tutorial/topics/index.md b/docs/en/tutorial/topics/index.md index 7e52b514..48fc16db 100644 --- a/docs/en/tutorial/topics/index.md +++ b/docs/en/tutorial/topics/index.md @@ -5,27 +5,19 @@ that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial. -:::::: {.grid} -1 1 2 2 - -::: {.grid-item-card link="custom-icons" link-type="doc"} -Customizing icons +### [Customizing icons][custom-icons] Customize your application's appearance by replacing the default "gray bee" icon. -::: -::: {.grid-item-card link="testing" link-type="doc"} -Application Testing + +### [Application Testing][testing] How do you ensure that your application works, and stays working? By adding a test suite to your project! -::: -::: {.grid-item-card link="camera-access" link-type="doc"} -Camera access + +### [Camera access][using-camera] Use the camera on your mobile or desktop device to take and view a picture from within your application. - -/// diff --git a/docs/en/tutorial/topics/index.rst b/docs/en/tutorial/topics/index.rst deleted file mode 100644 index dc14b876..00000000 --- a/docs/en/tutorial/topics/index.rst +++ /dev/null @@ -1,39 +0,0 @@ -============= -Going further -============= - -Want to go deeper on specific topics? Here are some additional tutorials that -explore common aspects of application development. Each tutorial is standalone, -and can be completed in any order; but they all assume you've completed the core -tutorial. - -.. grid:: 1 1 2 2 - - .. grid-item-card:: Customizing icons - :link: custom-icons - :link-type: doc - - Customize your application's appearance by replacing the default "gray - bee" icon. - - .. grid-item-card:: Application Testing - :link: testing - :link-type: doc - - How do you ensure that your application works, and stays working? By - adding a test suite to your project! - - .. grid-item-card:: Camera access - :link: camera-access - :link-type: doc - - Use the camera on your mobile or desktop device to take and view a - picture from within your application. - -.. toctree:: - :maxdepth: 1 - :hidden: - - custom-icons - testing - camera-access diff --git a/docs/en/tutorial/topics/testing.md b/docs/en/tutorial/topics/testing.md index 4696e02a..0e79199f 100644 --- a/docs/en/tutorial/topics/testing.md +++ b/docs/en/tutorial/topics/testing.md @@ -1,4 +1,4 @@ -# Testing times +# Testing times { id="testing" } Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work diff --git a/docs/en/tutorial/topics/testing.rst b/docs/en/tutorial/topics/testing.rst deleted file mode 100644 index e53ec80b..00000000 --- a/docs/en/tutorial/topics/testing.rst +++ /dev/null @@ -1,513 +0,0 @@ -============= -Testing times -============= - -Most software development doesn't involve writing new code - it's modifying -existing code. Ensuring that existing code continues to work in the way we -expect is a key part of the software development process. One way to do ensure -the behavior of our app is with a *test suite*. - -Running the test suite -====================== - -It turns out the project from the core tutorial already has a test suite! When -we originally generated our project, two top-level directories were generated: -``src`` and ``tests``. The ``src`` folder contains the code for our app; the -``tests`` folder contains our test suite. Inside the ``tests`` folder is a file -named ``test_app.py`` with the following content:: - - def test_first(): - "An initial test for the app" - assert 1 + 1 == 2 - -This is a `Pytest `__ *test case* - a block of code that can -be executed to verify some behavior of your app. In this case, the test is a -placeholder, and doesn't test anything about our app - but it is a test that we -can perform. - -We can run this test suite using the ``--test`` option to ``briefcase dev``. As -this is the first time we are running tests, we also need to pass in the ``-r`` -option to ensure that the test requirements are also installed: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test -r - - [helloworld] Installing requirements... - ... - Installing dev requirements... done - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - platform darwin -- Python 3.11.0, pytest-7.2.0, pluggy-1.0.0 -- /Users/brutus/beeware-tutorial/beeware-venv/bin/python3.11 - cachedir: /var/folders/b_/khqk71xd45d049kxc_59ltp80000gn/T/.pytest_cache - rootdir: /Users/brutus - plugins: anyio-3.6.2 - collecting ... collected 1 item - - tests/test_app.py::test_first PASSED [100%] - - ============================== 1 passed in 0.01s =============================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test -r - - [helloworld] Installing requirements... - ... - Installing dev requirements... done - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - platform linux -- Python 3.11.0 - pytest==7.2.0 - py==1.11.0 - pluggy==1.0.0 - cachedir: /tmp/.pytest_cache - rootdir: /home/brutus - plugins: anyio-3.6.2 - collecting ... collected 1 item - - tests/test_app.py::test_first PASSED [100%] - - ============================== 1 passed in 0.01s =============================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev --test -r - - [helloworld] Installing requirements... - ... - Installing dev requirements... done - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - platform win32 -- Python 3.11.0 - pytest==7.2.0 - py==1.11.0 - pluggy==1.0.0 - cachedir: C:\Users\brutus\AppData\Local\Temp\.pytest_cache - rootdir: C:\Users\brutus - plugins: anyio-3.6.2 - collecting ... collected 1 item - - tests/test_app.py::test_first PASSED [100%] - - ============================== 1 passed in 0.01s =============================== - -Success! We've just executed a single test that verifies Python math works in -the way we'd expect (What a relief!). - -Let's replace this placeholder test with a test to verify that our -``greeting()`` method behaves the way we'd expect. Replace the contents of -``test_app.py`` with the following:: - - from helloworld.app import greeting - - - def test_name(): - """If a name is provided, the greeting includes the name""" - - assert greeting("Alice") == "Hello, Alice" - - - def test_empty(): - """If a name is not provided, a generic greeting is provided""" - - assert greeting("") == "Hello, stranger" - -This defines two new tests, verifying the two behaviors we expect to see: the -output when a name is provided, and the output when the name is empty. - -We can now re-run the test suite. This time, we don't need to provided the -``-r`` option, as the test requirements have already been installed; we only -need to use the ``--test`` option: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 2 items - - tests/test_app.py::test_name PASSED [ 50%] - tests/test_app.py::test_empty PASSED [100%] - - ============================== 2 passed in 0.11s =============================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 2 items - - tests/test_app.py::test_name PASSED [ 50%] - tests/test_app.py::test_empty PASSED [100%] - - ============================== 2 passed in 0.11s =============================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 2 items - - tests/test_app.py::test_name PASSED [ 50%] - tests/test_app.py::test_empty PASSED [100%] - - ============================== 2 passed in 0.11s =============================== - -Excellent! Our ``greeting()`` utility method is working as expected. - -Test driven development -======================= - -Now that we have a test suite, we can use it to drive the development of new -features. Let's modify our app to have a special greeting for one particular -user. We can start by adding a test case for the new behavior that we'd like to -see to the bottom of ``test_app.py``:: - - def test_brutus(): - """If the name is Brutus, a special greeting is provided""" - - assert greeting("Brutus") == "BeeWare the IDEs of Python!" - -Then, run the test suite with this new test: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus FAILED [100%] - - =================================== FAILURES =================================== - _________________________________ test_brutus __________________________________ - - def test_brutus(): - """If the name is Brutus, a special greeting is provided""" - - > assert greeting("Brutus") == "BeeWare the IDEs of Python!" - E AssertionError: assert 'Hello, Brutus' == 'BeeWare the IDEs of Python!' - E - BeeWare the IDEs of Python! - E + Hello, Brutus - - tests/test_app.py:19: AssertionError - =========================== short test summary info ============================ - FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... - ========================= 1 failed, 2 passed in 0.14s ========================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus FAILED [100%] - - =================================== FAILURES =================================== - _________________________________ test_brutus __________________________________ - - def test_brutus(): - """If the name is Brutus, provide a special greeting""" - - > assert greeting("Brutus") == "BeeWare the IDEs of Python!" - E AssertionError: assert 'Hello, Brutus' == 'BeeWare the IDEs of Python!' - E - BeeWare the IDEs of Python! - E + Hello, Brutus - - tests/test_app.py:19: AssertionError - =========================== short test summary info ============================ - FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... - ========================= 1 failed, 2 passed in 0.14s ========================== - - ============================== 2 passed in 0.11s =============================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus FAILED [100%] - - =================================== FAILURES =================================== - _________________________________ test_brutus __________________________________ - - def test_brutus(): - """If the name is Brutus, provide a special greeting""" - - > assert greeting("Brutus") == "BeeWare the IDEs of Python!" - E AssertionError: assert 'Hello, Brutus' == 'BeeWare the IDEs of Python!' - E - BeeWare the IDEs of Python! - E + Hello, Brutus - - tests/test_app.py:19: AssertionError - =========================== short test summary info ============================ - FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... - ========================= 1 failed, 2 passed in 0.14s ========================== - -This time, we see a test failure - and the output explains the source of the -failure: the test is expecting the output "BeeWare the IDEs of Python!", but our -implementation of ``greeting()`` is returning "Hello, Brutus". Let's modify the -implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new -behavior:: - - def greeting(name): - if name: - if name == "Brutus": - return "BeeWare the IDEs of Python!" - else: - return f"Hello, {name}" - else: - return "Hello, stranger" - -If we run the tests again, we'll now see our tests pass: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus PASSED [100%] - - ============================== 3 passed in 0.15s =============================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus PASSED [100%] - - ============================== 3 passed in 0.15s =============================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev --test - - [helloworld] Running test suite in dev environment... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus PASSED [100%] - - ============================== 3 passed in 0.15s =============================== - -Runtime tests -============= - -So far, we've been running the tests in development mode. This is especially -useful when you're developing new features, as you can rapidly iterate on adding -tests, and adding code to make those tests pass. However, at some point, you'll -want to verify that your code also runs correctly when inside the bundle app -environment. - -The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If -you use ``briefcase run --test -r``, the same test suite will run, but it will -run inside the packaged application bundle rather than your development -environment: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run --test -r - - [helloworld] Updating application code... - Installing src/helloworld... done - Installing tests... done - - [helloworld] Updating requirements... - ... - [helloworld] Built build/helloworld/macos/app/Hello World.app (test mode) - - [helloworld] Starting test suite... - =========================================================================== - Configuring isolated Python... - Pre-initializing Python runtime... - PythonHome: /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib - PYTHONPATH: - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python311.zip - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib/lib-dynload - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app_packages - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app - Configure argc/argv... - Initializing Python runtime... - Installing Python NSLog handler... - Running app module: tests.helloworld - --------------------------------------------------------------------------- - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus PASSED [100%] - - ============================== 3 passed in 0.21s =============================== - - [helloworld] Test suite passed! - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run --test -r - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Updating application code... - Installing src/helloworld... done - Installing tests... done - - [helloworld] Updating requirements... - ... - [helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld (test mode) - - [helloworld] Starting test suite... - =========================================================================== - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus PASSED [100%] - - ============================== 3 passed in 0.21s =============================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run --test -r - - [helloworld] Updating application code... - Installing src/helloworld... done - Installing tests... done - - [helloworld] Updating requirements... - ... - [helloworld] Built build\helloworld\windows\app\src\Hello World.exe (test mode) - - =========================================================================== - Log started: 2022-12-02 10:57:34Z - PreInitializing Python runtime... - PythonHome: C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src - PYTHONPATH: - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\python311.zip - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app_packages - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app - Configure argc/argv... - Initializing Python runtime... - Running app module: tests.helloworld - --------------------------------------------------------------------------- - ============================= test session starts ============================== - ... - collecting ... collected 3 items - - tests/test_app.py::test_name PASSED [ 33%] - tests/test_app.py::test_empty PASSED [ 66%] - tests/test_app.py::test_brutus PASSED [100%] - - ============================== 3 passed in 0.21s =============================== - -As with ``briefcase dev --test``, the ``-r`` option is only needed the first -time you run the test suite to ensure that the test dependencies are present. On -subsequent runs, you can omit this option. - -You can also use the ``--test`` option on mobile backends: - so ``briefcase run -iOS --test`` and ``briefcase run android --test`` will both work, running the -test suite on the mobile device you select. diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md index 6eb25a9b..ea1eee02 100644 --- a/docs/en/tutorial/tutorial-0.md +++ b/docs/en/tutorial/tutorial-0.md @@ -1,4 +1,4 @@ -# Tutorial 0 - Let's get set up! { id="tutorial-0" } +# Tutorial 0 - Let's get set up! Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare. @@ -193,13 +193,14 @@ instructions with the version number that you are using. If you're using PowerShell, and you receive the error: - File C:\...\beeware-tutorial\beeware-venv\Scripts\activate.ps1 cannot be loaded because running scripts is disabled on this system. +```console +File C:\...\beeware-tutorial\beeware-venv\Scripts\activate.ps1 cannot be loaded because running scripts is disabled on this system. +``` Your Windows account doesn't have permissions to run scripts. To fix this: -1. Run [Windows PowerShell as - Administrator](https://learn.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7.4). +1. Run [Windows PowerShell as Administrator](https://learn.microsoft.com/en-us/powershell/scripting/windows-powershell/starting-windows-powershell?view=powershell-7.4). 2. Run `set-executionpolicy RemoteSigned` 3. Select `Y` to change the execution policy. @@ -207,13 +208,10 @@ Once you've done this you can rerun `beeware-venv\Scripts\activate.ps1` in your original PowerShell session (or a new session in the same directory). - /// /// - - If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this @@ -230,7 +228,6 @@ predecessor to Python's built in `venv` module. As with Python installs virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python. - /// ## Next steps diff --git a/docs/en/tutorial/tutorial-0.rst b/docs/en/tutorial/tutorial-0.rst deleted file mode 100644 index daeb52ae..00000000 --- a/docs/en/tutorial/tutorial-0.rst +++ /dev/null @@ -1,222 +0,0 @@ -============================== -Tutorial 0 - Let's get set up! -============================== - -Before we build our first BeeWare app, we have to make sure we've got -all the prerequisites for running BeeWare. - -.. _install-python: - -Install Python -============== - -The first thing we'll need is a working Python interpreter. - -.. tabs:: - - .. group-tab:: macOS - - If you're on macOS, you can get an official Python installer from `the - Python website `_. You can use any version - of Python from 3.10 or newer (although you should avoid alphas, betas and - release candidates). We strongly recommend using Python 3.13 or newer. - - You can also install Python through `homebrew - `__, use `pyenv - `__ - to manage multiple Python installs, or use `Anaconda - `__ or `Miniconda - `__. It doesn't matter *how* - you've installed Python - it only matters that you can run ``python3`` from - your terminal and get a working, supported Python interpreter. - - Xcode and the Command-line Developer Tools provide a version of Python; - however that Python is version 3.9. Python 3.9 has reached end-of-life, and - is no longer supported by Python or BeeWare. You will *not* be able to the - Xcode-provided version of Python to run this tutorial. - - To check the version of Python that you have installed, run the following - command: - - .. code-block:: console - - $ python3 --version - - If Python is installed, you'll see its version number. - - .. group-tab:: Linux - - If you're on Linux, you'll install Python using the system package manager - (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch). - - You should ensure that the system Python is Python 3.10 or newer; if it isn't - (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your - Linux distribution to something more recent. - - Support for Raspberry Pi is limited at this time. - - **Important:** You *must* use the system Python provided by your operating - system. Alternative Python installations (pyenv, Anaconda, manually compiled - Python, etc.) will prevent you from successfully packaging your application - for distribution in later steps of this tutorial. - - .. group-tab:: Windows - - If you're on Windows, you can get the official installer from `the Python - website `_. You can use any version of - Python from 3.10 to 3.13 (although you should avoid alphas, betas and - release candidates). We strongly recommend using Python 3.13. - - Support for Windows on ARM64 is limited at this time. - - You can also install Python from the Windows App Store, or use `Anaconda - `__ or `Miniconda - `__. It doesn't matter *how* - you've installed Python - it only matters that you can run ``python3`` from - your command prompt and get a working, supported Python interpreter. - - -.. _install-dependencies: - -Install dependencies -==================== - -Next, install the additional dependencies needed for your operating system: - -.. tabs:: - - .. group-tab:: macOS - - Building BeeWare apps on macOS requires: - - * **Git**, a version control system. This is included with Xcode or the - command line developer tools, which you installed above. You may need - to open Xcode for the first time in order for Git to work in your - terminal session. If it still doesn't register that Git is installed, - you may need to restart your terminal session. - - .. group-tab:: Linux - - To support local development, you'll need to install some system packages. - The list of packages required varies depending on your distribution: - - **Ubuntu / Debian** - - .. - The package list should be the same as in ci.yml and unix-prerequisites.rst in the - Toga repository. - - .. code-block:: console - - $ sudo apt update - $ sudo apt install git build-essential pkg-config python3-dev python3-venv libgirepository1.0-dev libcairo2-dev gir1.2-gtk-3.0 libcanberra-gtk3-module - - **Fedora** - - .. code-block:: console - - $ sudo dnf install git gcc make pkg-config rpm-build python3-devel gobject-introspection-devel cairo-gobject-devel gtk3 libcanberra-gtk3 - - **Arch / Manjaro** - - .. code-block:: console - - $ sudo pacman -Syu git base-devel pkgconf python3 gobject-introspection cairo gtk3 libcanberra - - **OpenSUSE Tumbleweed** - - .. code-block:: console - - $ sudo zypper install git patterns-devel-base-devel_basis pkgconf-pkg-config python3-devel gobject-introspection-devel cairo-devel gtk3 'typelib(Gtk)=3.0' libcanberra-gtk3-module - - - .. group-tab:: Windows - - Building BeeWare apps on Windows requires: - - * **Git**, a version control system. You can download Git from from - `git-scm.com `__. - - After installing these tools, you should ensure you restart any terminal - sessions. Windows will only expose newly installed tools terminals started - *after* the install has completed. - -Set up a virtual environment -============================ - -We're now going to create a virtual environment - a "sandbox" that we can use -to isolate our work on this tutorial from our main Python installation. If we -install packages into the virtual environment, our main Python installation -(and any other Python projects on our computer) won't be affected. If we make -a complete mess of our virtual environment, we'll be able to simply delete it -and start again, without affecting any other Python project on our computer, -and without the need to re-install Python. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - $ mkdir beeware-tutorial - $ cd beeware-tutorial - $ python3 -m venv beeware-venv - $ source beeware-venv/bin/activate - - .. group-tab:: Linux - - .. code-block:: console - - $ mkdir beeware-tutorial - $ cd beeware-tutorial - $ python3 -m venv beeware-venv - $ source beeware-venv/bin/activate - - .. group-tab:: Windows - - .. code-block:: doscon - - C:\...>md beeware-tutorial - C:\...>cd beeware-tutorial - C:\...>py -3.12 -m venv beeware-venv - C:\...>beeware-venv\Scripts\activate - - If you're not using Python 3.12, replace the ``-3.12`` in these instructions with - the version number that you are using. - - .. admonition:: Errors running PowerShell Scripts - - If you're using PowerShell, and you receive the error:: - - File C:\...\beeware-tutorial\beeware-venv\Scripts\activate.ps1 cannot be loaded because running scripts is disabled on this system. - - Your Windows account doesn't have permissions to run scripts. To fix this: - - 1. Run `Windows PowerShell as Administrator `_. - 2. Run ``set-executionpolicy RemoteSigned`` - 3. Select ``Y`` to change the execution policy. - - Once you've done this you can rerun - ``beeware-venv\Scripts\activate.ps1`` in your original PowerShell - session (or a new session in the same directory). - -If this worked, your prompt should now be changed - it should have a -``(beeware-venv)`` prefix. This lets you know that you're currently in your -BeeWare virtual environment. Whenever you're working on this tutorial, you -should make sure your virtual environment is activated. If it isn't, re-run the -last command (the ``activate`` command) to re-activate your environment. - -.. admonition:: Alternative virtual environments - - If you're using Anaconda or miniconda, you may be more familiar with using - conda environments. You might also have heard of ``virtualenv``, a - predecessor to Python's built in ``venv`` module. As with Python installs - - if you're on macOS or Windows, it doesn't matter *how* you create your - virtual environment, as long as you have one. If you're on Linux, you should - stick to ``venv`` and the system Python. - -Next steps -========== - -We've now set up our environment. We're ready to :doc:`create our first BeeWare -application `. diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index b2b13237..5fea3b8c 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -32,7 +32,6 @@ some of the system requirements haven't been installed. Make sure you have `installed all the platform pre-requisites `{.interpreted-text role="ref"}. - /// /// @@ -51,12 +50,10 @@ Briefcase needs to ensure that it has an up-to-date version of `pip` and want to know more, [Brett Cannon has a detailed blog post about the issue](https://snarky.ca/why-you-should-use-python-m-pip/). - /// /// - ## Bootstrap a new project Let's start our first BeeWare project! We're going to use the Briefcase @@ -87,7 +84,6 @@ following from your command prompt: /// - Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following: @@ -245,12 +241,10 @@ Confirm that you are running a If your version of python is *not* a supported version, you will have to restart the tutorial. - /// /// - Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - @@ -261,5 +255,5 @@ native application in Python! We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little -more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our -application. +more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful +user interface onto our application. diff --git a/docs/en/tutorial/tutorial-1.rst b/docs/en/tutorial/tutorial-1.rst deleted file mode 100644 index 39a8889a..00000000 --- a/docs/en/tutorial/tutorial-1.rst +++ /dev/null @@ -1,246 +0,0 @@ -=========================== -Tutorial 1 - Your first app -=========================== - -We're ready to create our first application. - -Install the BeeWare tools -========================= - -First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can -be used to package your application for distribution to end users - but it can -also be used to bootstrap a new project. Make sure you're in the -``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, -with the ``beeware-venv`` virtual environment activated, and run: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ python -m pip install briefcase - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ python -m pip install briefcase - - .. admonition:: Possible errors during installation - - If you see errors during installation, it's almost certainly because - some of the system requirements haven't been installed. Make sure you - have :ref:`installed all the platform pre-requisites - `. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>python -m pip install briefcase - - .. admonition:: Possible errors during installation - - It is important that you use ``python -m pip``, rather than a bare ``pip``. - Briefcase needs to ensure that it has an up-to-date version of ``pip`` and - ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you - want to know more, `Brett Cannon has a detailed blog post about the issue - `__. - -Bootstrap a new project -======================= - -Let's start our first BeeWare project! We're going to use the Briefcase -``new`` command to create an application called **Hello World**. Run the -following from your command prompt: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase new - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase new - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase new - -Briefcase will ask us for some details of our new application. For the -purposes of this tutorial, use the following: - -* **Formal Name** - Accept the default value: ``Hello World``. - -* **App Name** - Accept the default value: ``helloworld``. - -* **Bundle Identifier** - If you own your own domain, enter that domain in - reversed order. (For example, if you own the domain "cupcakes.com", enter - ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the - default bundle (``com.example``). - -* **Project Name** - Accept the default value: ``Hello World``. - -* **Description** - Accept the default value (or, if you want to be really - creative, come up with your own description!) - -* **Author** - Enter your own name here. - -* **Author's Email** - Enter your own email address. This will be used in the - configuration file, in help text, and anywhere that an email is required - when submitting the app to an app store. - -* **Application URL** - The URL of the landing page for your application. Again, if you own - your own domain, enter a URL at that domain (including the ``https://``). - Otherwise, just accept the default URL (``https://example.com/helloworld``). - This URL doesn't need to actually exist (for now); it will only be used if - you publish your application to an app store. - -* **Project License** - Accept the default license (BSD). This won't affect - anything about the operation of the tutorial, though - so if you have - particularly strong feelings about license choice, feel free to choose - another license. - -* **GUI framework** - Accept the default option, Toga (BeeWare's own GUI - toolkit). - -Briefcase will then generate a project skeleton for you to use. If you've -followed this tutorial so far, and accepted the defaults as described, your -file system should look something like:: - - beeware-tutorial/ - ├── beeware-venv/ - │ └── ... - └── helloworld/ - ├── CHANGELOG - ├── LICENSE - ├── pyproject.toml - ├── README.rst - ├── src/ - │ └── helloworld/ - │ ├── app.py - │ ├── __init__.py - │ ├── __main__.py - │ └── resources/ - │ └── README - └── tests/ - ├── helloworld.py - ├── __init__.py - └── test_app.py - -This skeleton is actually a fully functioning application without adding -anything else. The ``src`` folder contains all the code for the application, the -``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file -describes how to package the application for distribution. If you open -``pyproject.toml`` in an editor, you'll see the configuration details you just -provided to Briefcase. - -Now that we have a stub application, we can use Briefcase to run the -application. - -Run the app in developer mode -============================= - -Move into the ``helloworld`` project directory and tell briefcase to start -the project in Developer (or ``dev``) mode: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ cd helloworld - (beeware-venv) $ briefcase dev - - [hello-world] Installing requirements... - ... - - [helloworld] Starting in dev mode... - =========================================================================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ cd helloworld - (beeware-venv) $ briefcase dev - - [hello-world] Installing requirements... - ... - - [helloworld] Starting in dev mode... - =========================================================================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>cd helloworld - (beeware-venv) C:\...>briefcase dev - - [hello-world] Installing requirements... - ... - - [helloworld] Starting in dev mode... - =========================================================================== - -This should open a GUI window: - -.. tabs:: - - .. group-tab:: macOS - - .. image:: images/macOS/tutorial-1.png - :align: center - :alt: Hello World Tutorial 1 window, on macOS - - .. group-tab:: Linux - - .. image:: images/linux/tutorial-1.png - :align: center - :alt: Hello World Tutorial 1 window, on Linux - - .. group-tab:: Windows - - .. image:: images/windows/tutorial-1.png - :align: center - :alt: Hello World Tutorial 1 window, on Windows - - .. admonition:: Invalid requirements or pip unable to connect - - If you encounter the error: - - .. code-block:: doscon - - Unable to install requirements. This may be because one of your - requirements is invalid, or because pip was unable to connect - to the PyPI server. - - Confirm that you are running a :ref:`version of python that this tutorial supports - `. - - If your version of python is *not* a supported version, you will have to restart - the tutorial. - -Close the application - either by pressing the close button on the application -window, by selecting Quit/Exit from the application's menu, or by typing -**Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! -Congratulations - you've just written a standalone, native application in -Python! - -Next steps -========== - -We now have a working application, running in developer mode. Now we can add -some logic of our own to make our application do something a little more -interesting. In :doc:`Tutorial 2 `, we'll put a more useful user -interface onto our application. diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index c5829e69..b34bbd29 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -27,7 +27,7 @@ if __name__ == "__main__": This file does two things: -- It imports the `main` method from from the `helloworld` app. +- It imports the `main` method from the `helloworld` app. - Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses). @@ -323,7 +323,6 @@ starting the application again. As before, we'll use developer mode: /// - You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to @@ -356,7 +355,6 @@ This should open a GUI window: /// - If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application. @@ -370,7 +368,6 @@ terminal where you ran `briefcase dev`. We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this -application for distribution. In -[Tutorial 3][tutorial-3], we'll wrap our +application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store. diff --git a/docs/en/tutorial/tutorial-2.rst b/docs/en/tutorial/tutorial-2.rst deleted file mode 100644 index 793bff03..00000000 --- a/docs/en/tutorial/tutorial-2.rst +++ /dev/null @@ -1,322 +0,0 @@ -================================== -Tutorial 2 - Making it interesting -================================== - -In :doc:`Tutorial 1 `, we generated a stub project that was able -to run, but we didn't write any code ourselves. Let's take a look at what was -generated for us. - -What was generated -================== - -In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, -``__main__.py`` and ``app.py``. - -``__init__.py`` marks the ``helloworld`` directory as an importable Python -module. It is an empty file; the very fact it exists tells the Python -interpreter that the ``helloworld`` directory defines a module. - -``__main__.py`` marks the ``helloworld`` module as a special kind of module - -an executable module. If you try to run the ``helloworld`` module using -``python -m helloworld``, the ``__main__.py`` file is where Python will start -executing. The contents of ``__main__.py`` is relatively simple:: - - from helloworld.app import main - - if __name__ == "__main__": - main().main_loop() - -This file does two things: - -* It imports the ``main`` method from from the ``helloworld`` app. -* Then, it starts the application’s main loop. The main loop is the way a GUI - application listens for user input (like mouse clicks and keyboard presses). - -The more interesting file is ``app.py`` - this contains the logic that creates -our application window:: - - import toga - from toga.style.pack import COLUMN, ROW - - class HelloWorld(toga.App): - def startup(self): - main_box = toga.Box() - - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() - - def main(): - return HelloWorld() - -Let's go through this line by line:: - - import toga - from toga.style.pack import COLUMN, ROW - -First, we import the ``toga`` widget toolkit, as well as some style-related -utility constants. Our code doesn't use these yet - but we'll make -use of them shortly. - -Then, we define a class:: - - class HelloWorld(toga.App): - -Each Toga application has a single ``toga.App`` instance, representing the -running entity that is the application. The app may end up managing multiple -windows; but for simple applications, there will be a single main window. - -Next, we define a ``startup()`` method:: - - def startup(self): - main_box = toga.Box() - -The first thing the startup method does is to define a main box. Toga's layout -scheme behaves similar to HTML. You build an application by constructing a -collection of boxes, each of which contains other boxes, or actual widgets. You -then apply styles to these boxes to define how they will consume the available -window space. - -In this application, we define a single box, but we don't put anything into it. - -Next, we define a window into which we can put this empty box:: - - self.main_window = toga.MainWindow(title=self.formal_name) - -This creates an instance of a ``toga.MainWindow``, which will have a title -matching the application's name. A Main Window is a special kind of window in -Toga - it's a window that is closely bound to the life cycle of the app. When -the Main Window is closed, the application exits. The Main Window is also the -window that has the application's menu (if you're on a platform like Windows -where menu bars are part of the window). - -.. admonition:: Where is my window? - - If you have made an error in your code, the main window of the app may not display. - If this happens, you can type **Ctrl+C** in the terminal where you started the app. - This will stop the app. You can then fix the error and restart the app. - -We then add our empty box as the content of the main window, and instruct the -application to show our window:: - - self.main_window.content = main_box - self.main_window.show() - -Last of all, we define a ``main()`` function. This is what creates the instance -of our application:: - - def main(): - return HelloWorld() - -This ``main()`` method is the one that is imported and invoked by -``__main__.py``. It creates and returns an instance of our ``HelloWorld`` -application. - -That's the simplest possible Toga application. Let's put some of our own -content into the application, and make the app do something interesting. - -Adding some content of our own -============================== - -Let's do something more interesting with our ``HelloWorld`` app. - -.. note:: - - When you make these changes, make sure you keep the imports at the top of the file, - and the ``main()`` at the bottom of the file. You only need to update the - ``HelloWorld`` class. - -Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it -looks like this:: - - class HelloWorld(toga.App): - def startup(self): - main_box = toga.Box(direction=COLUMN) - - name_label = toga.Label( - "Your name: ", - margin=(0, 5), - ) - self.name_input = toga.TextInput(flex=1) - - name_box = toga.Box(direction=ROW, margin=5) - name_box.add(name_label) - name_box.add(self.name_input) - - button = toga.Button( - "Say Hello!", - on_press=self.say_hello, - margin=5, - ) - - main_box.add(name_box) - main_box.add(button) - - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() - - def say_hello(self, widget): - print(f"Hello, {self.name_input.value}") - - -Let's look in detail at what has changed. - -We're still creating a main box; however, we are now applying a style:: - - main_box = toga.Box(direction=COLUMN) - -Toga's built-in layout system is called "Pack". It behaves a lot like CSS. You define -objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM -elements; in Toga, they're widgets and boxes. You can then assign styles to the -individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that -is, it is a box that will consume all the available width, and will expand its height as -content is added, but it will try to be as short as possible. - -.. note:: - - For more advanced uses, Toga also supports a separate style object, which is used - like this:: - - from toga.style import Pack - main_box = toga.Box(style=Pack(direction=COLUMN)) - -Next, we define a couple of widgets:: - - name_label = toga.Label( - "Your name: ", - margin=(0, 5), - ) - self.name_input = toga.TextInput(flex=1) - -Here, we define a Label and a TextInput. Both widgets have styles associated -with them; the label will have 5px of margin on its left and right, and no -margin on the top and bottom. The TextInput is marked as being flexible - that -is, it will absorb all available space in its layout axis. - -The TextInput is assigned as an instance variable of the class. This gives us -easy access to the widget instance - something that we'll use in a moment. - -Next, we define a box to hold these two widgets:: - - name_box = toga.Box(direction=ROW, margin=5) - name_box.add(name_label) - name_box.add(self.name_input) - -The ``name_box`` is a box just like the main box; however, this time, it's a -``ROW`` box. That means content will be added horizontally, and it will try -to make its width as narrow as possible. The box also has some margin - 5px -on all sides. - -Now we define a button:: - - button = toga.Button( - "Say Hello!", - on_press=self.say_hello, - margin=5, - ) - -The button also has 5px of margin on all sides. We also define a *handler* - -a method to invoke when the button is pressed. - -Then, we add the name box and the button to the main box:: - - main_box.add(name_box) - main_box.add(button) - -This completes our layout; the rest of the startup method is as it was -previously - defining a ``MainWindow``, and assigning the main box as the window's -content:: - - self.main_window = toga.MainWindow(title=self.formal_name) - self.main_window.content = main_box - self.main_window.show() - -The last thing we need to do is define the handler for the button. A handler -can be any method, generator, or asynchronous coroutine; it accepts the widget -that generated the event as an argument, and will be invoked whenever the -button is pressed:: - - def say_hello(self, widget): - print(f"Hello, {self.name_input.value}") - -The body of the method is a simple print statement - however, it will -interrogate the current value of the name input, and use that content as the -text that is printed. - -Now that we've made these changes we can see what they look like by starting -the application again. As before, we'll use developer mode: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev - - [helloworld] Starting in dev mode... - =========================================================================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev - - [helloworld] Starting in dev mode... - =========================================================================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev - - [helloworld] Starting in dev mode... - =========================================================================== - -You'll notice that this time, it *doesn't* install dependencies. Briefcase can -detect that the application has been run before, and to save time, will only -run the application. If you add new dependencies to your app, you need to make -sure that they're installed by passing in a ``-r`` option when you run -``briefcase dev``. - -This should open a GUI window: - -.. tabs:: - - .. group-tab:: macOS - - .. image:: images/macOS/tutorial-2.png - :align: center - :alt: Hello World Tutorial 2 window, on macOS - - .. group-tab:: Linux - - .. image:: images/linux/tutorial-2.png - :align: center - :alt: Hello World Tutorial 2 window, on Linux - - .. group-tab:: Windows - - .. image:: images/windows/tutorial-2.png - :align: center - :alt: Hello World Tutorial 2 window, on Windows - -If you enter a name in the text box, and press the GUI button, you should see -output appear in the console where you started the application. - -Before continuing, close the app. As with Tutorial 1, you can do this by -pressing the close button on the application window, by selecting Quit/Exit from -the application's menu, or by typing **Ctrl+C** in the terminal where you ran -``briefcase dev``. - -Next steps -========== - -We've now got an application that does something a little more interesting. But -it only runs on our own computer. Let's package this application for -distribution. In :doc:`Tutorial 3 `, we'll wrap our application up -as a standalone installer that we could send to a friend, a customer, or upload -to an App Store. diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index a8a4fb2b..1847c5c3 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -91,7 +91,6 @@ You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application. - /// /// @@ -121,7 +120,6 @@ Installing src/helloworld... done ``` /// -: You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following: @@ -268,12 +266,10 @@ metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above. - /// /// - ## Running your app You can now use Briefcase to run your application: @@ -355,7 +351,6 @@ Running app module: helloworld /// - This will start to run your native application, using the app bundle created by the `build` command. @@ -515,10 +510,9 @@ If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker. -Official installers for [Docker -Engine](https://docs.docker.com/engine/install) are available for a -range of Unix distributions. Follow the instructions for your platform; -however, ensure you don't install Docker in "rootless" mode. +Official installers for [Docker Engine](https://docs.docker.com/engine/install) +are available for a range of Unix distributions. Follow the instructions for +your platform; however, ensure you don't install Docker in "rootless" mode. Once you've installed Docker, you should be able to start an Linux container - for example: @@ -600,11 +594,9 @@ start menu. /// - ## Next steps We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? -Turn to[Tutorial 4][tutorial-4] to -find out... +Turn to [Tutorial 4][tutorial-4] to find out... diff --git a/docs/en/tutorial/tutorial-3.rst b/docs/en/tutorial/tutorial-3.rst deleted file mode 100644 index e33d9e7a..00000000 --- a/docs/en/tutorial/tutorial-3.rst +++ /dev/null @@ -1,581 +0,0 @@ -======================================= -Tutorial 3 - Packaging for distribution -======================================= - -So far, we've been running our application in "Developer mode". This makes it -easy for us to run our application locally - but what we really want is to be -able to give our application to others. - -However, we don't want to have to teach our users how to install Python, create -a virtual environment, clone a git repository, and run Briefcase in developer -mode. We'd rather just give them an installer, and have the application Just -Work. - -Briefcase can be used to package your application for distribution in this way. - -Creating your application scaffold -================================== - -Since this is the first time we're packaging our application, we need to create -some configuration files and other scaffolding to support the packaging process. -From the ``helloworld`` directory, run: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase create - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-macOS-app-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - ... - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - ... - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build/helloworld/macos/app - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase create - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-linux-AppImage-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - ... - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build/helloworld/linux/ubuntu/jammy - - .. admonition:: Errors about Python versions - - If you receive an error that reads something like: - - The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10). - - You will need to recreate your virtual environment using the system - ``python3``. Using the system Python is a requirement for packaging your - application. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase create - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-windows-app-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - ... - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - ... - - [helloworld] Installing application resources... - ... - - [helloworld] Created build\helloworld\windows\app - -You've probably just seen pages of content go past in your terminal... so what -just happened? Briefcase has done the following: - -1. It **generated an application template**. There's a lot of files and - configurations required to build a native installer, above and beyond the - code of your actual application. This extra scaffolding is almost the same - for every application on the same platform, except for the name of the - actual application being constructed - so Briefcase provides an application - template for each platform it supports. This step rolls out the template, - substituting the name of your application, bundle ID, and other properties of - your configuration file as required to support the platform you're building - on. - - If you're not happy with the template provided by Briefcase, you can - provide your own. However, you probably don't want to do this until you've - got a bit more experience using Briefcase's default template. - -2. It **downloaded and installed a support package**. The packaging approach - taken by Briefcase is best described as "the simplest thing that could - possibly work" - it ships a complete, isolated Python interpreter as part of - every application it builds (except for Linux native system package builds). - This is slightly space inefficient - if you have 5 applications packaged with - Briefcase, you'll have 5 copies of the Python interpreter. However, this - approach guarantees that every application is completely independent, using - a specific version of Python that is known to work with the application. - - Again, Briefcase provides a default support package for each platform; if - you want, you can provide your own support package, and have that package - included as part of the build process. You may want to do this if you have - particular options in the Python interpreter that you need to have enabled, - or if you want to strip modules out of the standard library that you don't - need at runtime. - - Briefcase maintains a local cache of support packages, so once you've - downloaded a specific support package, that cached copy will be used on - future builds. - - As noted above, when Briefcase packages an app as a native Linux system - package (the default package format for Linux), a support package is not - included with the app. Instead, the app will use the Python that is provided - by the distribution of Linux being targeted. - -3. It **installed application requirements**. Your application can specify any - third-party modules that are required at runtime. These will be installed - using ``pip`` into your application's installer. - -4. It **Installed your application code**. Your application will have its own - code and resources (e.g., images that are needed at runtime); these files - are copied into the installer. - -5. It **installed your resources needed by your application.** Lastly, it - adds any additional resources that are needed by the installer itself. - This includes things like icons that need to be attached to the final - application and splash screen images. - -Once this completes, if you look in the project directory, you should now see a -directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) -that contains additional files. This is the platform-specific packaging -configuration for your application. - -Building your application -========================= - -You can now compile your application. This step performs any binary -compilation that is necessary for your application to be executable on your -target platform. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase build - - [helloworld] Adhoc signing app... - ... - Signing build/helloworld/macos/app/Hello World.app - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:07 - - [helloworld] Built build/helloworld/macos/app/Hello World.app - - On macOS, the ``build`` command doesn't need to *compile* anything, but it - does need to sign the contents of binary so that it can be executed. This - signature is an *ad hoc* signature - it will only work on *your* machine; if - you want to distribute the application to others, you'll need to provide a - full signature. - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase build - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Building application... - Build bootstrap binary... - make: Entering directory '/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/bootstrap' - ... - make: Leaving directory '/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/bootstrap' - Building bootstrap binary... done - Installing license... done - Installing changelog... done - Installing man page... done - Updating file permissions... done - Stripping binary... done - - [helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld - - Once this step completes, the ``build`` folder will contain a - ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` - file system. This file system mirror will contain a ``bin`` folder with a - ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support - the binary. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase build - Setting stub app details... done - - [helloworld] Built build\helloworld\windows\app\src\Hello World.exe - - On Windows, the ``build`` command doesn't need to *compile* anything, but - it does need to write some metadata so that the application knows its name, - version, and so on. - - .. admonition:: Triggering antivirus - - Since this metadata is being written directly in to the pre-compiled - binary rolled out from the template during the ``create`` command, this - may trigger antivirus software running on your machine and prevent the - metadata from being written. In that case, instruct the antivirus to - allow the tool (named ``rcedit-x64.exe``) to run and re-run the command - above. - -Running your app -================ - -You can now use Briefcase to run your application: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run - - [helloworld] Starting app... - =========================================================================== - Configuring isolated Python... - Pre-initializing Python runtime... - PythonHome: /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib - PYTHONPATH: - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python311.zip - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/support/python-stdlib/lib-dynload - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app_packages - - /Users/brutus/beeware-tutorial/helloworld/macOS/app/Hello World/Hello World.app/Contents/Resources/app - Configure argc/argv... - Initializing Python runtime... - Installing Python NSLog handler... - Running app module: helloworld - --------------------------------------------------------------------------- - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Starting app... - =========================================================================== - Install path: /home/brutus/beeware-tutorial/helloworld/build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr - Pre-initializing Python runtime... - PYTHONPATH: - - /usr/lib/python3.10 - - /usr/lib/python3.10/lib-dynload - - /home/brutus/beeware-tutorial/helloworld/build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/lib/helloworld/app - - /home/brutus/beeware-tutorial/helloworld/build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/lib/helloworld/app_packages - Configure argc/argv... - Initializing Python runtime... - Running app module: helloworld - --------------------------------------------------------------------------- - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run - - [helloworld] Starting app... - - =========================================================================== - Log started: 2023-04-23 04:47:45Z - PreInitializing Python runtime... - PythonHome: C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src - PYTHONPATH: - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\python39.zip - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app_packages - - C:\Users\brutus\beeware-tutorial\helloworld\windows\app\Hello World\src\app - Configure argc/argv... - Initializing Python runtime... - Running app module: helloworld - --------------------------------------------------------------------------- - -This will start to run your native application, using the app bundle created by -the ``build`` command. - -You might notice some small differences in the way your application looks -when it's running. For example, icons and the name displayed by the operating -system may be slightly different to those you saw when running under developer -mode. This is also because you're using the packaged application, not just -running Python code. From the operating system's perspective, you're now -running "an app", not "a Python program", and this is reflected in how the -application appears. - -Before continuing, close the app. As with previous tutorial steps, you can do -this by pressing the close button on the application window, by selecting -Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal -where you ran ``briefcase run``. - -Building your installer -======================= - -You can now package your application for distribution, using the ``package`` -command. The package command does any compilation that is required to convert -the scaffolded project into a final, distributable product. Depending on the -platform, this may involve compiling an installer, performing code signing, -or doing other pre-distribution tasks. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase package --adhoc-sign - - [helloworld] Signing app... - - ************************************************************************* - ** WARNING: Signing with an ad-hoc identity ** - ************************************************************************* - - This app is being signed with an ad-hoc identity. The resulting - app will run on this computer, but will not run on anyone else's - computer. - - To generate an app that can be distributed to others, you must - obtain an application distribution certificate from Apple, and - select the developer identity associated with that certificate - when running 'briefcase package'. - - ************************************************************************* - - Signing app with ad-hoc identity... - ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.0% • 00:07 - - [helloworld] Building DMG... - Building dist/Hello World-0.0.1.dmg - - [helloworld] Packaged dist/Hello World-0.0.1.dmg - - The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. - If you locate this file in the Finder, and double click on its icon, - you'll mount the DMG, giving you a copy of the Hello World app, and a - link to your Applications folder for easy installation. Drag the app file - into Applications, and you've installed your application. Send the DMG file - to a friend, and they should be able to do the same. - - In this example, we've used the ``--adhoc-sign`` option - that is, we're - signing our application with *ad hoc* credentials - temporary credentials - that will only work on your machine. We've done this to keep the tutorial - simple. Setting up code signing identities is a little fiddly, and they're - only *required* if you're intending to distribute your application to - others. If we were publishing a real application for others to use, we would - need to specify real credentials. - - When you're ready to publish a real application, check out the Briefcase - How-To guide on `Setting up a macOS code signing identity - `__. - - .. group-tab:: Linux - - The output of the package step will be slightly different depending on - your Linux distribution. If you're on a Debian-derived distribution, you'll see: - - .. code-block:: console - - (beeware-venv) $ briefcase package - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Building .deb package... - Write Debian package control file... done - - dpkg-deb: building package 'helloworld' in 'helloworld-0.0.1.deb'. - Building Debian package... done - - [helloworld] Packaged dist/helloworld_0.0.1-1~ubuntu-jammy_amd64.deb - - The ``dist`` folder will contain the ``.deb`` file that was generated. - - If you're on a RHEL-based distribution, you'll see: - - .. code-block:: console - - (beeware-venv) $ briefcase package - - [helloworld] Finalizing application configuration... - Targeting fedora:40 (Vendor base rhel) - Determining glibc version... done - Targeting glibc 2.39 - Targeting Python3.12 - - [helloworld] Building .rpm package... - Generating rpmbuild layout... done - - Write RPM spec file... done - - Building source archive... done - - Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Kav9H7 - + umask 022 - ... - + exit 0 - Building RPM package... done - - [helloworld] Packaged dist/helloworld-0.0.1-1.fc40.x86_64.rpm - - The ``dist`` folder will contain the ``.rpm`` file that was generated. - - If you're on an Arch-based distribution, you'll see: - - .. code-block:: console - - (beeware-venv) $ briefcase package - - [helloworld] Finalizing application configuration... - Targeting arch:20240101 (Vendor base arch) - Determining glibc version... done - Targeting glibc 2.38 - Targeting Python3.12 - - [helloworld] Building .pkg.tar.zst package... - ... - Building Arch package... done - - [helloworld] Packaged dist/helloworld-0.0.1-1-x86_64.pkg.tar.zst - - The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated. - - Other Linux distributions aren't currently supported for packaging. - - If you want to build a package for a Linux distribution other than the one - you're using, Briefcase can also help - but you'll need to install Docker. - - Official installers for `Docker Engine - `__ are available for a range of - Unix distributions. Follow the instructions for your platform; however, - ensure you don't install Docker in "rootless" mode. - - Once you've installed Docker, you should be able to start an Linux - container - for example: - - .. code-block:: console - - $ docker run --rm -it ubuntu:22.04 - - will show you a Unix prompt (something like ``root@84444e31cff9:/#``) - inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and - return to your local shell. - - Once you've got Docker installed, you can use Briefcase to build a package - for any Linux distribution that Briefcase supports by passing in a Docker - image as an argument. For example, to build a DEB package for Ubuntu 22.04 - (Jammy), regardless of the operating system you're on, you can run: - - .. code-block:: console - - $ briefcase package --target ubuntu:jammy - - This will download the Docker image for your selected operating system, - create a container that is able to run Briefcase builds, and build - the app package inside the image. Once it's completed, the ``dist`` folder - will contain the package for the target Linux distribution. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase package - - ************************************************************************* - ** WARNING: No signing identity provided ** - ************************************************************************* - - Briefcase will not sign the app. To provide a signing identity, - use the `--identity` option; or, to explicitly disable signing, - use `--adhoc-sign`. - - ************************************************************************* - - [helloworld] Building MSI... - Compiling application manifest... - Compiling... done - - Compiling application installer... - helloworld.wxs - helloworld-manifest.wxs - Compiling... done - - Linking application installer... - Linking... done - - [helloworld] Packaged dist\Hello_World-0.0.1.msi - - In this example, we're not signing our app. As a result, when you use the - installer, you'll get a system warning that the application comes from an - unknown developer. We've done this to keep the tutorial simple. Setting up - code signing identities is a little fiddly, and they're only *required* if - you're intending to distribute your application to others. If we were - publishing a real application for others to use, we would need to specify a - real signing identity; when that signed app is installed, the system will - notify the user that the application is from the known identity associated - with the certificate. - - When you're ready to publish a real application, check out the Briefcase - How-To guide on `Setting up a Windows code signing identity - `__. - - Once this step completes, the ``dist`` folder will contain a file named - ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, - you should go through a familiar Windows installation process. Once this - installation completes, there will be a "Hello World" entry in your start - menu. - -Next steps -========== - -We now have our application packaged for distribution on desktop platforms. -But what happens when we need to update the code in our application? How do -we get those updates into our packaged application? Turn to -:doc:`Tutorial 4 <./tutorial-4>` to find out... diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index 621a6cbc..57ccacd9 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -18,13 +18,15 @@ output. They need to use dialogs to communicate with users. Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this: - async def say_hello(self, widget): - await self.main_window.dialog( - toga.InfoDialog( - f"Hello, {self.name_input.value}", - "Hi there!", - ) +```python +async def say_hello(self, widget): + await self.main_window.dialog( + toga.InfoDialog( + f"Hello, {self.name_input.value}", + "Hi there!", ) + ) +``` We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this @@ -42,6 +44,10 @@ see the new dialog box: Hello World Tutorial 4 dialog, on macOS +![Hello World Tutorial 4 dialog, on macOS](/tutorial/images/macOS/tutorial-4.png) +/// caption +/// + /// /// tab | Linux @@ -60,7 +66,6 @@ see the new dialog box: /// - However, if you run `briefcase run`, the dialog box won't appear. Why is this? Well, `briefcase dev` operates by running your code in @@ -132,7 +137,6 @@ Removing unneeded app bundle content... done /// - If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold. @@ -141,8 +145,7 @@ Now that we've updated the installer code, we can then run updated app, and `briefcase package` to repackage the application for distribution. -(macOS users, remember that as noted in -[Tutorial 3][tutorial-3], for the +(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.) @@ -168,21 +171,25 @@ At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided: - def greeting(name): - if name: - return f"Hello, {name}" - else: - return "Hello, stranger" +```python +def greeting(name): + if name: + return f"Hello, {name}" + else: + return "Hello, stranger" +``` Then, modify the `say_hello` callback to use this new utility method: - async def say_hello(self, widget): - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - "Hi there!", - ) +```python +async def say_hello(self, widget): + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + "Hi there!", ) + ) +``` Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one @@ -258,7 +265,6 @@ Removing unneeded app bundle content... done /// - The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`. @@ -268,7 +274,6 @@ can run `briefcase package -u`. We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application. -But what about mobile? In -[Tutorial 5][tutorial-5], we'll +But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone. diff --git a/docs/en/tutorial/tutorial-4.rst b/docs/en/tutorial/tutorial-4.rst deleted file mode 100644 index d4e1a486..00000000 --- a/docs/en/tutorial/tutorial-4.rst +++ /dev/null @@ -1,255 +0,0 @@ -====================================== -Tutorial 4 - Updating your application -====================================== - -In the last tutorial, we packaged our application as a native application. If -you're dealing with a real-world app, that isn't going to be the end of the -story - you'll likely do some testing, discover problems, and need to make some -changes. Even if your application is perfect, you'll eventually want to publish -version 2 of your application with improvements. - -So - how do you update your installed app when you make code changes? - -Updating application code -========================= - -Our application currently prints to the console when you press the button. -However, GUI applications shouldn't really use the console for output. They -need to use dialogs to communicate with users. - -Let's add a dialog box to say hello, instead of writing to the console. -Modify the ``say_hello`` callback so it looks like this:: - - async def say_hello(self, widget): - await self.main_window.dialog( - toga.InfoDialog( - f"Hello, {self.name_input.value}", - "Hi there!", - ) - ) - -We need to make the method ``async`` so that when we display the dialog, the rest of -the application continues to run. Don't worry about this detail too much right now - -we'll give a more detailed explanation in :doc:`Tutorial 8 `. - -This directs Toga to open a modal dialog box when the button is pressed. - -If you run ``briefcase dev``, enter a name, and press the button, you'll see the -new dialog box: - -.. tabs:: - - .. group-tab:: macOS - - .. image:: images/macOS/tutorial-4.png - :align: center - :alt: Hello World Tutorial 4 dialog, on macOS - - .. group-tab:: Linux - - .. image:: images/linux/tutorial-4.png - :align: center - :alt: Hello World Tutorial 4 dialog, on Linux - - .. group-tab:: Windows - - .. image:: images/windows/tutorial-4.png - :align: center - :alt: Hello World Tutorial 4 dialog, on Windows - -However, if you run ``briefcase run``, the dialog box won't appear. - -Why is this? Well, ``briefcase dev`` operates by running your code in place - -it tries to produce as realistic runtime environment for your code as possible, -but it doesn't provide or use any of the platform infrastructure for wrapping -your code as an application. Part of the process of packaging your app involves -copying your code *into* the application bundle - and at the moment, your -application still has the old code in it. - -So - we need to tell briefcase to update your app, copying in the new version of -the code. We *could* do this by deleting the old platform directory and starting -from scratch. However, Briefcase provides an easier way - you can update the -code for your existing bundled application: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase update - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase update - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - - [helloworld] Application updated. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase update - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - -If Briefcase can't find the scaffolded template, it will automatically invoke -``create`` to generate a fresh scaffold. - -Now that we've updated the installer code, we can then run ``briefcase build`` -to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase -package`` to repackage the application for distribution. - -(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the -tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag -to avoid the complexity of setting up a code signing identity and keep the -tutorial as simple as possible.) - -Update and run in one step -========================== - -If you're rapidly iterating code changes, you'll likely want to make a code -change, update the application, and immediately re-run your application. For -most purposes, developer mode (``briefcase dev``) will be the easiest way to do -this sort of rapid iteration; however, if you're testing something about how -your application runs as a native binary, or hunting a bug that only manifests -when your application is in packaged form, you may need to use repeated calls to -``briefcase run``. To simplify the process of updating and running the bundled -app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or -``--update``) option on the ``run`` command. - -Let's try making another change. You may have noticed that if you don't type -a name in the text input box, the dialog will say "Hello, ". Let's modify the -``say_hello`` function again to handle this edge case. - -At the top of the file, between the imports and the ``class HelloWorld`` -definition, add a utility method to generate an appropriate greeting depending -on the value of the name that has been provided:: - - def greeting(name): - if name: - return f"Hello, {name}" - else: - return "Hello, stranger" - -Then, modify the ``say_hello`` callback to use this new utility method:: - - async def say_hello(self, widget): - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - "Hi there!", - ) - ) - -Run your app in development mode (with ``briefcase dev``) to confirm that the -new logic works; then update, build and run the app with one command: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run -u - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Building application... - ... - - [helloworld] Built build/helloworld/macos/app/Hello World.app - - [helloworld] Starting app... - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run -u - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.10 - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Building application... - ... - - [helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld - - [helloworld] Starting app... - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run -u - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - [helloworld] Starting app... - -The package command also accepts the ``-u`` argument, so if you make a change -to your application code and want to repackage immediately, you can run -``briefcase package -u``. - -Next steps -========== - -We now have our application packaged for distribution on desktop platforms, -and we've been able to update the code in our application. - -But what about mobile? In :doc:`Tutorial 5 `, we'll convert -our application into a mobile application, and deploy it onto a device -simulator, and onto a phone. diff --git a/docs/en/tutorial/tutorial-5/android.md b/docs/en/tutorial/tutorial-5/android.md index 62ea5ba1..7b2b83a7 100644 --- a/docs/en/tutorial/tutorial-5/android.md +++ b/docs/en/tutorial/tutorial-5/android.md @@ -1,4 +1,4 @@ -# Tutorial 5 - Taking it mobile: Android +# Tutorial 5 - Taking it mobile: Android { id="mobile-android" } Now, we're going to take our application, and deploy it as an Android application. @@ -189,7 +189,6 @@ another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used. - /// ## Run the app on a virtual device @@ -244,7 +243,6 @@ Select device: /// - We can now choose our desired device. Select the "Create a new Android emulator" option, and accept the default choice for the device name (`beePhone`). @@ -287,7 +285,6 @@ and recommendations](https://developer.android.com/studio/run/emulator#requirements) section of the Android developer documentation. - /// The first time the app starts, it needs to unpack itself onto the @@ -328,8 +325,7 @@ device: - Enable USB debugging Details on how to make these changes can be found [in the Android -developer -documentation](https://developer.android.com/studio/debug/dev-options#enable). +developer documentation](https://developer.android.com/studio/debug/dev-options#enable). Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`. @@ -382,7 +378,6 @@ Select device: /// - Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the @@ -401,12 +396,9 @@ for development)", developer mode hasn't been correctly enabled. Re-run options](https://developer.android.com/studio/debug/dev-options#enable), and re-run `briefcase run android`. - /// ## Next steps We've now got an application on our phone! Is there anywhere else we can -deploy a BeeWare app? Turn to -[Tutorial 6][tutorial-6] to find -out... +deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out... diff --git a/docs/en/tutorial/tutorial-5/android.rst b/docs/en/tutorial/tutorial-5/android.rst deleted file mode 100644 index ba829fad..00000000 --- a/docs/en/tutorial/tutorial-5/android.rst +++ /dev/null @@ -1,383 +0,0 @@ -====================================== -Tutorial 5 - Taking it mobile: Android -====================================== - -Now, we're going to take our application, and deploy it as an Android -application. - -The process of deploying an application to Android is very similar to the -process for deploying as a desktop application. Briefcase handles installing -dependencies for Android, including the Android SDK, the Android emulator, and -a Java compiler. - -Create an Android app and compile it -==================================== - -First, run the ``create`` command. This downloads an Android app template and -adds your Python code to it. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase create android - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - Writing requirements file... done - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build/helloworld/android/gradle - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase create android - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - Writing requirements file... done - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build/helloworld/android/gradle - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase create android - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - Writing requirements file... done - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build\helloworld\android\gradle - -When you run ``briefcase create android`` for the first time, Briefcase -downloads a Java JDK, and the Android SDK. File sizes and download times can be -considerable; this may take a while (10 minutes or longer, depending on the -speed of your Internet connection). When the download has completed, you will be -prompted to accept Google's Android SDK license. There's a number of licenses -you'll need to agree too - keep entering ``y`` at the prompt to review and -accept each of the necessary the license agreements. - -Once this completes, we'll have a ``build\helloworld\android\gradle`` directory -in our project, which will contain an Android project with a Gradle build -configuration. This project will contain your application code, and a support -package containing the Python interpreter. - -We can then use Briefcase's ``build`` command to compile this into an Android -APK app file. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase build android - - [helloworld] Updating app metadata... - Setting main module... done - - [helloworld] Building Android APK... - Starting a Gradle Daemon - ... - BUILD SUCCESSFUL in 1m 1s - 28 actionable tasks: 17 executed, 11 up-to-date - Building... done - - [helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase build android - - [helloworld] Updating app metadata... - Setting main module... done - - [helloworld] Building Android APK... - Starting a Gradle Daemon - ... - BUILD SUCCESSFUL in 1m 1s - 28 actionable tasks: 17 executed, 11 up-to-date - Building... done - - [helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase build android - - [helloworld] Updating app metadata... - Setting main module... done - - [helloworld] Building Android APK... - Starting a Gradle Daemon - ... - BUILD SUCCESSFUL in 1m 1s - 28 actionable tasks: 17 executed, 11 up-to-date - Building... done - - [helloworld] Built build\helloworld\android\gradle\app\build\outputs\apk\debug\app-debug.apk - -.. admonition:: Gradle may look stuck - - During the ``briefcase build android`` step, Gradle (the Android platform - build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. - Don't worry, it's not stuck - it's downloading more Android SDK components. - Depending on your Internet connection speed, this may take another 10 minutes - (or longer). This lag should only happen the very first time you run - ``build``; the tools are cached, and on your next build, the cached versions - will be used. - -Run the app on a virtual device -=============================== - -We're now ready to run our application. You can use Briefcase's ``run`` command -to run the app on an Android device. Let's start by running on an Android -emulator. - -To run your application, run ``briefcase run android``. When you do this, -you'll be prompted with a list of devices that you could run the app on. The -last item will always be an option to create a new Android emulator. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run android - - Select device: - - 1) Create a new Android emulator - - > - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run android - - Select device: - - 1) Create a new Android emulator - - > - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run android - - Select device: - - 1) Create a new Android emulator - - > - -We can now choose our desired device. Select the "Create a new Android -emulator" option, and accept the default choice for the device name -(``beePhone``). - -Briefcase ``run`` will automatically boot the virtual device. When the device -is booting, you will see the Android logo: - -.. figure:: /tutorial/images/android/tutorial-5-booting.png - :align: center - :width: 30% - :alt: Android virtual device booting - - Android virtual device booting - -Once the device has finished booting, Briefcase will install your app on the -device. You will briefly see a launcher screen: - -.. figure:: /tutorial/images/android/tutorial-5-running.png - :align: center - :width: 30% - :alt: Android virtual device fully started, on the launcher screen - - Android virtual device fully started, on the launcher screen - -The app will then start. You'll see a splash screen while the app starts up: - -.. figure:: /tutorial/images/android/tutorial-5-splash.png - :align: center - :width: 30% - :alt: App splash screen - - App splash screen - -.. admonition:: The emulator didn't start! - - The Android emulator is a complex piece of software that relies on a number - of hardware and operating system features - features that may not be - available or enabled on older machines. If you experience any difficulties - starting the Android emulator, consult the `Requirements and recommendations - `__ section - of the Android developer documentation. - -The first time the app starts, it needs to unpack itself onto the device. This -may take a few seconds. Once it's unpacked, you'll see the Android version of -our desktop app: - -.. figure:: /tutorial/images/android/tutorial-5-launched.png - :align: center - :width: 30% - :alt: App from Tutorial 2, fully launched - - Demo app fully launched - -If you fail to see your app launching, you may need to check your terminal -where you ran ``briefcase run`` and look for any error messages. - -While the app is running, you'll see a lot of messages being streamed in -the console. This is a stream of the application's logs from the emulator. -Typing Ctrl+C into the terminal will halt the streamed information in -the console, but it will not close the emulator. This is so you can test -new changes without restarting the emulator. - -In future, if you want to run on this device without using the menu, you can -provide the emulator's name to Briefcase, using ``briefcase run android -d -"@beePhone"`` to run on the virtual device directly. - -Run the app on a physical device -================================ - -If you have a physical Android phone or tablet, you can connect it to your -computer with a USB cable, and then use the Briefcase to target your physical -device. - -Android requires that you prepare your device before it can be used for -development. You will need to make 2 changes to the options on your device: - - * Enable developer options - * Enable USB debugging - -Details on how to make these changes can be found `in the Android developer -documentation `__. - -Once these steps have been completed, your device should appear in the list of -available devices when you run ``briefcase run android``. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run android - - Select device: - - 1) Pixel 3a (94ZZY0LNE8) - 2) @beePhone (emulator) - 3) Create a new Android emulator - - > - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run android - - Select device: - - 1) Pixel 3a (94ZZY0LNE8) - 2) @beePhone (emulator) - 3) Create a new Android emulator - - > - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run android - - Select device: - - 1) Pixel 3a (94ZZY0LNE8) - 2) @beePhone (emulator) - 3) Create a new Android emulator - - > - -Here we can see a new physical device with it's serial number on the deployment -list - in this case, a Pixel 3a. In the future, if you want to run on this -device without using the menu, you can provide the phone's serial number to -Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run -on the device directly, without prompting. - -.. admonition:: My device doesn't appear! - - If your device doesn't appear on this list at all, either you haven't enabled - USB debugging, (or the device isn't plugged in!). - - If your device appears, but is listed as "Unknown device (not authorized for - development)", developer mode hasn't been correctly enabled. Re-run `the - steps to enable developer options - `__, and - re-run ``briefcase run android``. - -Next steps -========== - -We've now got an application on our phone! Is there anywhere else we can deploy -a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out... diff --git a/docs/en/tutorial/tutorial-5/iOS.md b/docs/en/tutorial/tutorial-5/iOS.md index 2644a00d..47277995 100644 --- a/docs/en/tutorial/tutorial-5/iOS.md +++ b/docs/en/tutorial/tutorial-5/iOS.md @@ -1,4 +1,4 @@ -# Tutorial 5 - Taking it mobile: iOS +# Tutorial 5 - Taking it mobile: iOS { id="mobile-ios" } To compile iOS applications we'll need Xcode, which is available for free from [the macOS App @@ -117,7 +117,7 @@ This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application: -![Hello World Tutorial 5 window, on iOS](/tutorial/images/iOS/tutorial-5.png) +![Hello World Tutorial 5 window, on iOS](../../tutorial/images/iOS/tutorial-5.png) While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the @@ -150,6 +150,4 @@ $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E ## Next steps We've now got an application on our phone! Is there anywhere else we can -deploy a BeeWare app? Turn to -[Tutorial 6][tutorial-6] to find -out... +deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out... diff --git a/docs/en/tutorial/tutorial-5/iOS.rst b/docs/en/tutorial/tutorial-5/iOS.rst deleted file mode 100644 index 40f14f82..00000000 --- a/docs/en/tutorial/tutorial-5/iOS.rst +++ /dev/null @@ -1,150 +0,0 @@ -================================== -Tutorial 5 - Taking it mobile: iOS -================================== - -To compile iOS applications we'll need Xcode, which is available for free from -`the macOS App Store `__. -Once Xcode is installed, launch it from Applications and accept the Xcode -License Agreement. Next, Xcode will show which components are built-in, and -which components you may download. Select the checkbox next to iOS (followed by -the current version number), and then click "Download and Install" to install -it. Xcode will install the system components, followed by the iOS Simulator. - -Once we've got Xcode and the iOS simulator installed, we can take our application and -deploy it as an iOS app. - -The process of deploying an application to iOS is very similar to the process -for deploying as a desktop application. First, you run the ``create`` command - -but this time, we specify that we want to create an iOS application: - -.. code-block:: console - - (beeware-venv) $ briefcase create iOS - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-iOS-Xcode-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - ... - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - ... - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - ... - - [helloworld] Created build/helloworld/ios/xcode - -Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing -an Xcode project, as well as the support libraries and the application code -needed for the application. - -You can then use Briefcase to compile your app using ``briefcase build iOS``: - -.. code-block:: console - - (beeware-venv) $ briefcase build iOS - - [helloworld] Updating app metadata... - Setting main module... done - - [helloworld] Building Xcode project... - ... - Building... done - - [helloworld] Built build/helloworld/ios/xcode/build/Debug-iphonesimulator/Hello World.app - -We're now ready to run our application, using ``briefcase run iOS``. You'll be -prompted to select a device to compile for; if you've got simulators for -multiple iOS SDK versions installed, you may also be asked which iOS version you -want to target. The options you are shown may differ from the options show in -this output - at the very least, the list of devices will likely be different. -For our purposes, it doesn't matter which simulator you pick. - -.. code-block:: console - - (beeware-venv) $ briefcase run iOS - - Select simulator device: - - 1) iPad (10th generation) - 2) iPad Air (5th generation) - 3) iPad Pro (11-inch) (4th generation) - 4) iPad Pro (12.9-inch) (6th generation) - 5) iPad mini (6th generation) - 6) iPhone 14 - 7) iPhone 14 Plus - 8) iPhone 14 Pro - 9) iPhone 14 Pro Max - 10) iPhone SE (3rd generation) - - > 10 - - In the future, you could specify this device by running: - - $ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 16.2" - - or: - - $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E - - [helloworld] Starting app on an iPhone SE (3rd generation) running iOS 16.2 (device UDID 2614A2DD-574F-4C1F-9F1E-478F32DE282E) - Booting simulator... done - Opening simulator... done - - [helloworld] Installing app... - Uninstalling any existing app version... done - Installing new app version... done - - [helloworld] Starting app... - Launching app... done - - [helloworld] Following simulator log output (type CTRL-C to stop log)... - =========================================================================== - ... - -This will start the iOS simulator, install your app, and start it. You should -see the simulator start, and eventually open your iOS application: - -.. image:: /tutorial/images/iOS/tutorial-5.png - :alt: Hello World Tutorial 5 window, on iOS - -While the app is running, you'll see a series of Simulator log output messages -in the console. Typing Ctrl+C into the terminal will halt the messages in the -console, but it will not close the simulator. This is so you can test new -changes without restarting the simulator. - -If you know ahead of time which iOS simulator you want to target, you can tell -Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. -Using the name of the device you selected when you built your application, run: - -.. code-block:: console - - $ briefcase run iOS -d "iPhone SE (3rd generation)" - -If you have multiple iOS versions available, Briefcase will pick the highest -iOS version; if you want to pick a particular iOS version, you tell it to use -that specific version: - -.. code-block:: console - - $ briefcase run iOS -d "iPhone SE (3rd generation)::iOS 15.5" - -Or, you can name a specific device UDID: - -.. code-block:: console - - $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E - -Next steps -========== - -We've now got an application on our phone! Is there anywhere else we can deploy -a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out... diff --git a/docs/en/tutorial/tutorial-5/index.md b/docs/en/tutorial/tutorial-5/index.md index d6d0abee..7512f97f 100644 --- a/docs/en/tutorial/tutorial-5/index.md +++ b/docs/en/tutorial/tutorial-5/index.md @@ -4,18 +4,10 @@ So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too! -::::: {.grid} -1 1 2 2 +### [Android][mobile-android] -::: {.grid-item-card link="iOS" link-type="doc"} -iOS - -iOS applications can only be compiled on macOS. -::: +Android applications can be compiled on macOS, Windows or Linux. -::: {.grid-item-card link="android" link-type="doc"} -Android +### [iOS][mobile-ios] -Android applications can be compiled on macOS, Windows or Linux. -::: -::::: +iOS applications can only be compiled on macOS. diff --git a/docs/en/tutorial/tutorial-5/index.rst b/docs/en/tutorial/tutorial-5/index.rst deleted file mode 100644 index 51a814e1..00000000 --- a/docs/en/tutorial/tutorial-5/index.rst +++ /dev/null @@ -1,28 +0,0 @@ -============================= -Tutorial 5 - Taking it Mobile -============================= - -So far, we've been running and testing our application on the desktop. However, -BeeWare also supports mobile platforms - and the application we've written -can be deployed to your mobile device, too! - -.. grid:: 1 1 2 2 - - .. grid-item-card:: iOS - :link: iOS - :link-type: doc - - iOS applications can only be compiled on macOS. - - .. grid-item-card:: Android - :link: android - :link-type: doc - - Android applications can be compiled on macOS, Windows or Linux. - -.. toctree:: - :maxdepth: 1 - :hidden: - - iOS - android diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md index bf32ef61..e1acae81 100644 --- a/docs/en/tutorial/tutorial-6.md +++ b/docs/en/tutorial/tutorial-6.md @@ -17,7 +17,6 @@ enough to be relied on for serious development. If you have problems with this step of the tutorial, you can skip to the next page. - /// ## Deploying as a web app @@ -150,10 +149,9 @@ Web server open on http://127.0.0.1:8080 /// - This will open a web browser, pointing at : -![Hello World Tutorial 6 dialog, in a browser](/tutorial/images/tutorial-6.png) +![Hello World Tutorial 6 dialog, in a browser](../tutorial/images/tutorial-6.png) If you enter your name and click the button, a dialog will appear. @@ -178,5 +176,4 @@ handling code in the browser. Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? -Turn to [Tutorial 7][tutorial-7] to find -out... +Turn to [Tutorial 7][tutorial-7] to find out... diff --git a/docs/en/tutorial/tutorial-6.rst b/docs/en/tutorial/tutorial-6.rst deleted file mode 100644 index 9965f4e0..00000000 --- a/docs/en/tutorial/tutorial-6.rst +++ /dev/null @@ -1,178 +0,0 @@ -=============================== -Tutorial 6 - Put it on the web! -=============================== - -In addition to supporting mobile platforms, the Toga widget toolkit also -supports the web! Using the same API that you used to deploy your desktop and -mobile applications, you can deploy your application as a single-page web app. - -.. admonition:: Proof of Concept - - The Toga Web backend is the least mature of all the Toga backends. It's - mature enough to show off a few features, but it's likely to be buggy, and - will be missing many of the widgets that are available on other platforms. At - this point in time, Web deployment should be considered a "Proof of Concept" - - enough to demonstrate what can be done, but not enough to be relied on for - serious development. - - If you have problems with this step of the tutorial, you can skip to the - next page. - -Deploying as a web app -====================== - -The process of deploying as a single-page web app follows the same familiar -pattern - you create the application, then build the application, then run it. -However, Briefcase can be a little bit smart; if you attempt to run an -application, and Briefcase determines that it hasn't been created or built for -the platform being targeted, it will do the create and build steps for you. -Since this is our first time running the app for the web, we can perform all -three steps with one command: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run web - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-web-static-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - Writing requirements file... done - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build/helloworld/web/static - - [helloworld] Building web project... - ... - - [helloworld] Built build/helloworld/web/static/www/index.html - - [helloworld] Starting web server... - Web server open on http://127.0.0.1:8080 - - [helloworld] Web server log output (type CTRL-C to stop log)... - =========================================================================== - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run web - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-web-static-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - Writing requirements file... done - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build/helloworld/web/static - - [helloworld] Building web project... - ... - - [helloworld] Built build/helloworld/web/static/www/index.html - - [helloworld] Starting web server... - Web server open on http://127.0.0.1:8080 - - [helloworld] Web server log output (type CTRL-C to stop log)... - =========================================================================== - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run web - - [helloworld] Generating application template... - Using app template: https://github.com/beeware/briefcase-web-static-template.git, branch v0.3.18 - ... - - [helloworld] Installing support package... - No support package required. - - [helloworld] Installing application code... - Installing src/helloworld... done - - [helloworld] Installing requirements... - Writing requirements file... done - - [helloworld] Installing application resources... - ... - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Created build\helloworld\web\static - - [helloworld] Building web project... - ... - - [helloworld] Built build\helloworld\web\static\www\index.html - - [helloworld] Starting web server... - Web server open on http://127.0.0.1:8080 - - [helloworld] Web server log output (type CTRL-C to stop log)... - =========================================================================== - -This will open a web browser, pointing at `http://127.0.0.1:8080 -`__: - -.. image:: images/tutorial-6.png - :alt: Hello World Tutorial 6 dialog, in a browser - -If you enter your name and click the button, a dialog will appear. - -How does this work? -=================== - -This web app is a static website - a single HTML source page, with some CSS and -other resources. Briefcase has started a local web server to serve this page so -your browser can view the page. If you wanted to put this web page into -production, you could copy the contents of the ``www`` folder onto any web -server that can serve static content. - -But when you press the button, you're running Python code... how does that work? -Toga uses `PyScript `__ to provide a Python interpreter in -the browser. Briefcase packages your app's code as wheels that PyScript can load -in the browser. When the page is loaded, the application code runs in the -browser, building the UI using the browser DOM. When you click a button, that -button runs the event handling code in the browser. - -Next steps -========== - -Although we've now deployed this app on desktop, mobile and the web, the app is -fairly simple, and doesn't involve any third-party libraries. Can we include -libraries from the Python Package Index (PyPI) in our app? Turn to -:doc:`Tutorial 7 ` to find out... diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index f2f8fa5c..ab717aea 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -13,7 +13,7 @@ Let's modify our application to say a little bit more than just "Hi, there!". To generate some more interesting text for the dialog, we're going to -use a library called [Faker](https://faker.readthedocs.io/en/stable/) . +use a library called [Faker](https://faker.readthedocs.io/en/stable/). Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use @@ -23,18 +23,22 @@ user. We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`: - import faker +```python +import faker +``` Then modify the `say_hello()` callback so it looks like this: - async def say_hello(self, widget): - fake = faker.Faker() - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - f"A message from {fake.name()}: {fake.text()}", - ) +```python +async def say_hello(self, widget): + fake = faker.Faker() + await self.main_window.dialog( + toga.InfoDialog( + greeting(self.name_input.value), + f"A message from {fake.name()}: {fake.text()}", ) + ) +``` Let's run our updated app in Briefcase developer mode to check that our change has worked. @@ -119,7 +123,6 @@ your chosen desktop platform. /// - What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`: @@ -186,7 +189,6 @@ your chosen desktop platform. /// - We've now got a working app, using a third party library, running in development mode! @@ -234,7 +236,6 @@ crash dialog: Hello World Tutorial 7 app crash, on macOS - /// /// tab | Linux @@ -455,7 +456,6 @@ ModuleNotFoundError: No module named 'faker' /// - Once again, the app has failed to start because `faker` has not been installed -but why? Haven't we already installed `faker`? @@ -485,13 +485,15 @@ that you provided when you originally ran `briefcase new`. `pyproject.toml` is broken up into sections; one of the sections describes the settings for your app: - [tool.briefcase.app.helloworld] - formal_name = "Hello World" - description = "A Tutorial app" - long_description = """More details about the app should go here. - """ - sources = ["src/helloworld"] - requires = [] +```toml +[tool.briefcase.app.helloworld] +formal_name = "Hello World" +description = "A Tutorial app" +long_description = """More details about the app should go here. +""" +sources = ["src/helloworld"] +requires = [] +``` The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) @@ -499,9 +501,11 @@ of libraries that you want to be included with your app. Modify the `requires` setting so that it reads: - requires = [ - "faker", - ] +```toml +requires = [ + "faker", +] +``` By adding this setting, we're telling Briefcase "when you build my app, run `pip install faker` into the application bundle". Anything that @@ -656,7 +660,6 @@ Removing unneeded app bundle content... done /// - Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior. @@ -719,5 +722,6 @@ tutorial like this one. ## Next steps -We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure +We've now got an app that uses a third-party library! In +[Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic. diff --git a/docs/en/tutorial/tutorial-7.rst b/docs/en/tutorial/tutorial-7.rst deleted file mode 100644 index 67e19dc6..00000000 --- a/docs/en/tutorial/tutorial-7.rst +++ /dev/null @@ -1,678 +0,0 @@ -=========================================== -Tutorial 7 - Get this (third)-party started -=========================================== - -So far, the app we've built has only used our own code, plus the code provided -by BeeWare. However, in a real-world app, you'll likely want to use a -third-party library, downloaded from the Python Package Index (PyPI). - -Let's modify our app to include a third-party library. - -Adding a package -================ - -Let's modify our application to say a little bit more than just "Hi, there!". - -To generate some more interesting text for the dialog, we're going to use a -library called `Faker `__ . Faker is a -Python package that generates fake content, including names and text blocks. The -names and words in the text block are generated from an arbitrary list of words -provided by Faker. We're going to use Faker to construct a fake message, as if -someone is responding to the user. - -We start by adding ``faker`` to our app. Add an import to the top of the -``app.py`` to import ``faker``:: - - import faker - -Then modify the ``say_hello()`` callback so it looks like this:: - - async def say_hello(self, widget): - fake = faker.Faker() - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - f"A message from {fake.name()}: {fake.text()}", - ) - ) - -Let's run our updated app in Briefcase developer mode to check that our change -has worked. - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev - Traceback (most recent call last): - File ".../venv/bin/briefcase", line 5, in - from briefcase.__main__ import main - File ".../venv/lib/python3.13/site-packages/briefcase/__main__.py", line 3, in - from .cmdline import parse_cmdline - File ".../venv/lib/python3.13/site-packages/briefcase/cmdline.py", line 6, in - from briefcase.commands import DevCommand, NewCommand, UpgradeCommand - File ".../venv/lib/python3.13/site-packages/briefcase/commands/__init__.py", line 1, in - from .build import BuildCommand # noqa - File ".../venv/lib/python3.13/site-packages/briefcase/commands/build.py", line 5, in - from .base import BaseCommand, full_options - File ".../venv/lib/python3.13/site-packages/briefcase/commands/base.py", line 14, in - import faker - ModuleNotFoundError: No module named 'faker' - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev - Traceback (most recent call last): - File ".../venv/bin/briefcase", line 5, in - from briefcase.__main__ import main - File ".../venv/lib/python3.13/site-packages/briefcase/__main__.py", line 3, in - from .cmdline import parse_cmdline - File ".../venv/lib/python3.13/site-packages/briefcase/cmdline.py", line 6, in - from briefcase.commands import DevCommand, NewCommand, UpgradeCommand - File ".../venv/lib/python3.13/site-packages/briefcase/commands/__init__.py", line 1, in - from .build import BuildCommand # noqa - File ".../venv/lib/python3.13/site-packages/briefcase/commands/build.py", line 5, in - from .base import BaseCommand, full_options - File ".../venv/lib/python3.13/site-packages/briefcase/commands/base.py", line 14, in - import faker - ModuleNotFoundError: No module named 'faker' - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev - Traceback (most recent call last): - File "...\venv\bin\briefcase", line 5, in - from briefcase.__main__ import main - File "...\venv\lib\python3.13\site-packages\briefcase\__main__.py", line 3, in - from .cmdline import parse_cmdline - File "...\venv\lib\python3.13\site-packages\briefcase\cmdline.py", line 6, in - from briefcase.commands import DevCommand, NewCommand, UpgradeCommand - File "...\venv\lib\python3.13\site-packages\briefcase\commands\__init__.py", line 1, in - from .build import BuildCommand # noqa - File "...\venv\lib\python3.13\site-packages\briefcase\commands\build.py", line 5, in - from .base import BaseCommand, full_options - File "...\venv\lib\python3.13\site-packages\briefcase\commands\base.py", line 14, in - import faker - ModuleNotFoundError: No module named 'faker' - - .. group-tab:: Android - - You can't run an Android app in developer mode - use the instructions for - your chosen desktop platform. - - .. group-tab:: iOS - - You can't run an iOS app in developer mode - use the instructions for - your chosen desktop platform. - -What happened? We've added ``faker`` to our *code*, but we haven't added it to -our development virtual environment. We can fix this by installing ``faker`` -with ``pip``, and then re-running ``briefcase dev``: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ python -m pip install faker - (beeware-venv) $ briefcase dev - - When you enter a name and press the button, you should see a dialog that - looks something like: - - .. image:: images/macOS/tutorial-7.png - :align: center - :alt: Hello World Tutorial 7 dialog, on macOS - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ python -m pip install faker - (beeware-venv) $ briefcase dev - - When you enter a name and press the button, you should see a dialog that - looks something like: - - .. image:: images/linux/tutorial-7.png - :align: center - :alt: Hello World Tutorial 7 dialog, on Linux - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>python -m pip install faker - (beeware-venv) C:\...>briefcase dev - - When you enter a name and press the button, you should see a dialog that - looks something like: - - .. image:: images/windows/tutorial-7.png - :align: center - :alt: Hello World Tutorial 7 dialog, on Windows - - .. group-tab:: Android - - You can't run an Android app in developer mode - use the instructions for - your chosen desktop platform. - - .. group-tab:: iOS - - You can't run an iOS app in developer mode - use the instructions for - your chosen desktop platform. - -We've now got a working app, using a third party library, running in development mode! - -Running the updated app -======================= - -Let's get this updated application code packaged as a standalone app. Since -we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `: - -.. tabs:: - - .. group-tab:: macOS - - Update the code in the packaged app: - - .. code-block:: console - - (beeware-venv) $ briefcase update - - [helloworld] Updating application code... - ... - - [helloworld] Application updated. - - Rebuild the app: - - .. code-block:: console - - (beeware-venv) $ briefcase build - - [helloworld] Adhoc signing app... - [helloworld] Built build/helloworld/macos/app/Hello World.app - - And finally, run the app: - - .. code-block:: console - - (beeware-venv) $ briefcase run - - [helloworld] Starting app... - =========================================================================== - - However, when the app runs, you'll see an error in the console, plus a crash - dialog: - - .. image:: images/macOS/tutorial-7-crash.png - :align: center - :alt: Hello World Tutorial 7 app crash, on macOS - - .. group-tab:: Linux - - Update the code in the packaged app: - - .. code-block:: console - - (beeware-venv) $ briefcase update - - [helloworld] Updating application code... - ... - - [helloworld] Application updated. - - Rebuild the app: - - .. code-block:: console - - (beeware-venv) $ briefcase build - - [helloworld] Finalizing application configuration... - ... - - [helloworld] Building application... - ... - - [helloworld] Built build/helloworld/linux/ubuntu/jammy/helloworld-0.0.1/usr/bin/helloworld - - And finally, run the app: - - .. code-block:: console - - (beeware-venv) $ briefcase run - - [helloworld] Starting app... - =========================================================================== - - However, when the app runs, you'll see an error in the console: - - .. code-block:: console - - Traceback (most recent call last): - File "/usr/lib/python3.13/runpy.py", line 194, in _run_module_as_main - return _run_code(code, main_globals, None, - File "/usr/lib/python3.13/runpy.py", line 87, in _run_code - exec(code, run_globals) - File "/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/helloworld-0.0.1/usr/app/hello_world/__main__.py", line 1, in - from helloworld.app import main - File "/home/brutus/beeware-tutorial/helloworld/build/linux/ubuntu/jammy/helloworld-0.0.1/usr/app/hello_world/app.py", line 8, in - import faker - ModuleNotFoundError: No module named 'faker' - - Unable to start app helloworld. - - .. group-tab:: Windows - - Update the code in the packaged app: - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase update - - [helloworld] Updating application code... - ... - - [helloworld] Application updated. - - Rebuild the app: - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase build - ... - - [helloworld] Built build\helloworld\windows\app\src\Toga Test.exe - - And finally, run the app: - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run - - [helloworld] Starting app... - =========================================================================== - - However, when the app runs, you'll see an error in the console, plus a crash - dialog: - - .. image:: images/windows/tutorial-7-crash.png - :align: center - :alt: Hello World Tutorial 7 app crash, on Windows - - .. group-tab:: Android - - Update the code in the packaged app: - - .. code-block:: console - - (beeware-venv) $ briefcase update android - - [helloworld] Updating application code... - ... - - [helloworld] Application updated. - - Rebuild the app: - - .. code-block:: console - - (beeware-venv) $ briefcase build android - - [helloworld] Updating app metadata... - ... - [helloworld] Built build/helloworld/android/gradle/app/build/outputs/apk/debug/app-debug.apk - - And finally, run the app (selecting a simulator when prompted): - - .. code-block:: console - - (beeware-venv) $ briefcase run android - - [helloworld] Following device log output (type CTRL-C to stop log)... - =========================================================================== - - However, when the app runs, you'll see an error in the console: - - .. code-block:: console - - --------- beginning of crash - E/AndroidRuntime: FATAL EXCEPTION: main - E/AndroidRuntime: Process: com.example.helloworld, PID: 8289 - E/AndroidRuntime: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloworld/org.beeware.android.MainActivity}: com.chaquo.python.PyException: ModuleNotFoundError: No module named 'faker' - E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3635) - E/AndroidRuntime: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3792) - E/AndroidRuntime: at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:103) - E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135) - E/AndroidRuntime: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95) - E/AndroidRuntime: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2210) - E/AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:106) - E/AndroidRuntime: at android.os.Looper.loopOnce(Looper.java:201) - E/AndroidRuntime: at android.os.Looper.loop(Looper.java:288) - E/AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:7839) - E/AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method) - E/AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548) - E/AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) - E/AndroidRuntime: Caused by: com.chaquo.python.PyException: ModuleNotFoundError: No module named 'faker' - E/AndroidRuntime: at .helloworld.app.(app.py:8) - E/AndroidRuntime: at .java.chaquopy.import_override(import.pxi:60) - E/AndroidRuntime: at .__main__.(__main__.py:1) - E/AndroidRuntime: at .runpy._run_code(:88) - E/AndroidRuntime: at .runpy._run_module_code(:98) - E/AndroidRuntime: at .runpy.run_module(:226) - E/AndroidRuntime: at .chaquopy_java.call(chaquopy_java.pyx:352) - E/AndroidRuntime: at .chaquopy_java.Java_com_chaquo_python_PyObject_callAttrThrowsNative(chaquopy_java.pyx:324) - E/AndroidRuntime: at com.chaquo.python.PyObject.callAttrThrowsNative(Native Method) - E/AndroidRuntime: at com.chaquo.python.PyObject.callAttrThrows(PyObject.java:232) - E/AndroidRuntime: at com.chaquo.python.PyObject.callAttr(PyObject.java:221) - E/AndroidRuntime: at org.beeware.android.MainActivity.onCreate(MainActivity.java:85) - E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8051) - E/AndroidRuntime: at android.app.Activity.performCreate(Activity.java:8031) - E/AndroidRuntime: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1329) - E/AndroidRuntime: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3608) - E/AndroidRuntime: ... 12 more - I/Process : Sending signal. PID: 8289 SIG: 9 - - .. group-tab:: iOS - - Update the code in the packaged app: - - .. code-block:: console - - (beeware-venv) $ briefcase update iOS - - [helloworld] Updating application code... - ... - - [helloworld] Application updated. - - Rebuild the app: - - .. code-block:: console - - (beeware-venv) $ briefcase build iOS - - [helloworld] Updating app metadata... - ... - [helloworld] Built build/helloworld/ios/xcode/build/Debug-iphonesimulator/Hello World.app - - And finally, run the app (selecting a simulator when prompted): - - .. code-block:: console - - (beeware-venv) $ briefcase run iOS - - ... - [helloworld] Following simulator log output (type CTRL-C to stop log)... - =========================================================================== - - However, when the app runs, you'll see an error in the console - - .. code-block:: console - - Application has crashed! - ======================== - Traceback (most recent call last): - File "/Users/rkm/Library/Developer/CoreSimulator/Devices/FD7EA28A-6D72-4064-9D8A-53CC8308BB6F/data/Containers/Bundle/Application/D9DD590B-DA32-4EE1-8F78-78658379CAB7/Hello World.app/app/helloworld/__main__.py", line 1, in - from helloworld.app import main - File "/Users/rkm/Library/Developer/CoreSimulator/Devices/FD7EA28A-6D72-4064-9D8A-53CC8308BB6F/data/Containers/Bundle/Application/D9DD590B-DA32-4EE1-8F78-78658379CAB7/Hello World.app/app/helloworld/app.py", line 8, in - import faker - ModuleNotFoundError: No module named 'faker' - -Once again, the app has failed to start because ``faker`` has not been installed - -but why? Haven't we already installed ``faker``? - -We have - but only in the development environment. Your development environment -is entirely local to your machine - and is only enabled when you explicitly -activate it. Although Briefcase has a development mode, the main reason you'd -use Briefcase is to package up your code so you can give it to someone else. - -The only way to guarantee that someone else will have a Python environment that -contains everything it needs is to build a completely isolated Python -environment. This means there's a completely isolated Python install, and a -completely isolated set of dependencies. This is what Briefcase is building when -you run ``briefcase build`` - an isolated Python environment. This also explains -why ``faker`` isn't installed - it has been installed in your *development* -environment, but not in the packaged app. - -So - we need to tell Briefcase that our app has an external dependency. - -Updating dependencies -===================== - -In the root directory of your app, there is a file named ``pyproject.toml``. -This file contains all the app configuration details that you provided when -you originally ran ``briefcase new``. - -``pyproject.toml`` is broken up into sections; one of the sections describes -the settings for your app:: - - [tool.briefcase.app.helloworld] - formal_name = "Hello World" - description = "A Tutorial app" - long_description = """More details about the app should go here. - """ - sources = ["src/helloworld"] - requires = [] - -The ``requires`` option describes the dependencies of our application. It is -a list of strings, specifying libraries (and, optionally, versions) of libraries -that you want to be included with your app. - -Modify the ``requires`` setting so that it reads:: - - requires = [ - "faker", - ] - -By adding this setting, we're telling Briefcase "when you build my app, run -``pip install faker`` into the application bundle". Anything that would be legal -input to ``pip install`` can be used here - so, you could specify: - -* A specific library version (e.g., ``"faker==37.3.0"``); -* A range of library versions (e.g., ``"faker>=37"``); -* A path to a git repository (e.g., ``"git+https://github.com/joke2k/faker/"``); - or -* A local file path (However - be warned: if you give your code to someone - else, this path probably won't exist on their machine!) - -Further down in ``pyproject.toml``, you'll notice other sections that are -operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and -``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a -``requires`` setting. These settings allow you to define additional -platform-specific dependencies - so, for example, if you need a -platform-specific library to handle some aspect of your app, you can specify -that library in the platform-specific ``requires`` section, and that setting -will only be used for that platform. You will notice that the ``toga`` libraries -are all specified in the platform-specific ``requires`` section - this is -because the libraries needed to display a user interface are platform specific. - -In our case, we want ``faker`` to be installed on all platforms, so we use the -app-level ``requires`` setting. The app-level dependencies will always be -installed; the platform-specific dependencies are installed *in addition* to the -app-level ones. - -Now that we've told Briefcase about our additional requirements, we can try -packaging our app again. Ensure that you've saved your changes to -``pyproject.toml``, and then update your app again - this time, passing in the -``-r`` flag. This tells Briefcase to update requirements in the packaged app: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase update -r - - [helloworld] Updating application code... - Installing src/hello_world... - - [helloworld] Updating requirements... - Collecting faker - Using cached faker-37.3.0-py3-none-any.whl.metadata (15 kB) - ... - Installing collected packages: tzdata, travertino, std-nslog, rubicon-objc, fonttools, toga-core, faker, toga-cocoa - Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslog-1.0.3 toga-cocoa-0.5.1 toga-core-0.5.1 travertino-0.5.1 tzdata-2025.2 - - [helloworld] Removing unneeded app content... - ... - - [helloworld] Application updated. - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase update -r - - [helloworld] Finalizing application configuration... - Targeting ubuntu:jammy (Vendor base debian) - Determining glibc version... done - Targeting glibc 2.35 - Targeting Python3.13 - - [helloworld] Updating application code... - Installing src/hello_world... - - [helloworld] Updating requirements... - Collecting faker - Using cached faker-37.3.0-py3-none-any.whl.metadata (15 kB) - ... - Installing collected packages: tzdata, travertino, std-nslog, rubicon-objc, fonttools, toga-core, faker, toga-cocoa - Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslog-1.0.3 toga-cocoa-0.5.1 toga-core-0.5.1 travertino-0.5.1 tzdata-2025.2 - - [helloworld] Removing unneeded app content... - ... - - [helloworld] Application updated. - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase update -r - - [helloworld] Updating application code... - Installing src/helloworld... - - [helloworld] Updating requirements... - Collecting faker - Using cached faker-37.3.0-py3-none-any.whl.metadata (15 kB) - ... - Installing collected packages: tzdata, travertino, std-nslog, rubicon-objc, fonttools, toga-core, faker, toga-cocoa - Successfully installed faker-37.3.0 fonttools-4.58.1 rubicon-objc-0.5.1 std-nslog-1.0.3 toga-cocoa-0.5.1 toga-core-0.5.1 travertino-0.5.1 tzdata-2025.2 - - [helloworld] Removing unneeded app content... - ... - - [helloworld] Application updated. - - .. group-tab:: Android - - .. code-block:: console - - (beeware-venv) $ briefcase update android -r - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating requirements... - Writing requirements file... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - - .. group-tab:: iOS - - .. code-block:: console - - (beeware-venv) $ briefcase update iOS -r - - [helloworld] Updating application code... - Installing src/helloworld... done - - [helloworld] Updating requirements... - Looking in indexes: https://pypi.org/simple, https://pypi.anaconda.org/beeware/simple - Collecting faker - Using cached faker-37.4.0-py3-none-any.whl.metadata (15 kB) - ... - - Installing app requirements for iPhone simulator... done - - [helloworld] Removing unneeded app content... - Removing unneeded app bundle content... done - - [helloworld] Application updated. - -Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and -you should see your packaged app, with the new dialog behavior. - -.. note:: - - The ``-r`` option for updating requirements is also honored by the ``build`` and - ``run`` command, so if you want to update, build, and run in one step, you could - use ``briefcase run -u -r``. - -Third-Party Python Packages for Mobile and Web -============================================== - -Faker is just one example of a third-party Python package - a collection of code -that isn't part what Python provides out of the box. These third-party packages -are most commonly distributed using the `Python Package Index (PyPI) -`__, and installed into your local virtual environment. We've -been using ``pip`` in this tutorial, but there are other options. - -On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI -package can be installed into your virtual environment, or added to your app's -requirements. However, when building an app for mobile or web platforms, `your -options are slightly limited -`__. - -In short; any *pure Python* package (i.e. any package created from a project -written *only* in Python) can be used without difficulty. Some packages, though, -are created from projects that contain both Python and other languages (e.g. C, -C++, Rust, etc). Code written in those languages needs to be compiled to -platform-specific binary modules before it can be used, and those pre-compiled -binary modules are only available on specific platforms. Mobile and web -platforms have very different requirements than "standard" desktop platforms. At -this time, most Python packages don't provide pre-compiled binaries for mobile -and web platforms. - -On PyPI, packages are often provided in a pre-built distribution format called -*wheels*. To check whether a package is pure Python, look at the PyPI downloads -page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix -(e.g., `Faker `__), then they are -pure Python wheels. However, if the wheels have version and platform-specific -extensions (e.g., `Pillow `__, -which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and -``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. -That package cannot be installed on mobile or web platforms unless a wheel -compatible with those platforms has been provided. - -At this time, *most* binary packages on PyPI don't provide mobile- or -web-compatible wheels. To fill this gap, BeeWare provides binaries for some -popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). -These wheels are *not* distributed on PyPI, but Briefcase will install those -wheels if they're available. - -It's *usually* possible to compile binary packages for mobile platforms, but -it's not easy to set up -- well outside the scope of an introductory tutorial -like this one. - -Next steps -========== - -We've now got an app that uses a third-party library! In :doc:`Tutorial 8 -` we'll learn how to ensure our app remains responsive as we add -more complex application logic. diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index 10ac3b52..4292b9cb 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -167,7 +167,6 @@ your chosen desktop platform. /// - Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a @@ -314,7 +313,7 @@ improvements: - The button returns to an "unclicked" state, rather than being stuck in a "clicked" state. -- The "beachball"/"spinner" icon won't appear +- The "beachball"/"spinner" icon won't appear. - If you move/resize the app window while waiting for the dialog to appear, the window will redraw. - If you try to open an app menu, the menu will appear immediately. @@ -364,7 +363,6 @@ app's requirements, then re-build the app, then launch the app: /// - You should see you app running, and remaining responsive when you press the button and network content is retrieved. @@ -389,7 +387,7 @@ So - where to from here? detail on specific aspects of application development. - If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's - documentation](https://toga.beeware.org). Toga also has it's own +documentation](https://toga.beeware.org). Toga also has its own tutorial [demonstrating how to use various features of the widget toolkit](https://toga.beeware.org/en/latest/tutorial/index.html). - If you'd like to know more about the capabilities of Briefcase, you diff --git a/docs/en/tutorial/tutorial-8.rst b/docs/en/tutorial/tutorial-8.rst deleted file mode 100644 index 79214f11..00000000 --- a/docs/en/tutorial/tutorial-8.rst +++ /dev/null @@ -1,369 +0,0 @@ -=============================== -Tutorial 8 - Making it Smooooth -=============================== - -So far, our application has been relatively simple - displaying GUI widgets, -calling a simple third-party library, and displaying output in a dialog. All -these operations happen very quickly, and our application remains responsive. - -However, in a real world application, we'll need to perform complex tasks or -calculations that may take a while to complete - and as those tasks are -performed, we want our application to remain responsive. Let's make a change to -our application that might take a little time to complete, and see the changes -that need to be made to accommodate that behavior. - -Accessing an API -================ - -A common time-consuming task an app will need to perform is to make a request on -a web API to retrieve data, and display that data to the user. Web APIs -sometimes take a second or two to respond, so if we're calling an API like that, -we need to ensure our application doesn't become unresponsive while we wait for -the web API to return an answer. - -This is a toy app, so we don't have a *real* API to work with, so we'll use the -`{JSON} Placeholder API `__ as a source of -data. The {JSON} Placeholder API has a number of "fake" API endpoints you can -use as test data. One of those APIs is the ``/posts/`` endpoint, which returns -fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` -in your browser, you'll get a JSON payload describing a single post - some -`Lorum ipsum `__ content for a blog -post with ID 42. - -The Python standard library contains all the tools you'd need to access an API. -However, the built-in APIs are very low level. They are good implementations of -the HTTP protocol - but they require the user to manage lots of low-level details, -like URL redirection, sessions, authentication, and payload encoding. As a "normal -browser user" you're probably used to taking these details for granted, as a -browser manages them for you. - -As a result, people have developed third-party libraries that wrap the built-in -APIs and provide a simpler API that is a closer match for the everyday browser -experience. We're going to use one of those libraries to access the {JSON} -Placeholder API - a library called `httpx `__. -Briefcase uses ``httpx`` internally, so it's already in your local environment - -you don't need to install it separately to use it here. - -Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in -our ``pyproject.toml`` to include the new requirement:: - - requires = [ - "faker", - "httpx", - ] - -Add an import to the top of the ``app.py`` to import ``httpx``:: - - import httpx - -Then modify the ``say_hello()`` callback so it looks like this:: - - async def say_hello(self, widget): - fake = faker.Faker() - with httpx.Client() as client: - response = client.get("https://jsonplaceholder.typicode.com/posts/42") - - payload = response.json() - - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - f"A message from {fake.name()}: {payload['body']}", - ) - ) - -This will change the ``say_hello()`` callback so that when it is invoked, it -will: - -* make a GET request on the JSON placeholder API to obtain post 42; - -* decode the response as JSON; - -* extract the body of the post; and - -* include the body of that post as the text of the "message" dialog, - in place of the text generated by Faker. - -Lets run our updated app in Briefcase developer mode to check that our change -has worked. As we've added a new requirement, we need to tell developer mode to -reinstall requirements, by using the ``-r`` argument: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase dev -r - - [helloworld] Installing requirements... - ... - [helloworld] Starting in dev mode... - =========================================================================== - - When you enter a name and press the button, you should see a dialog that - looks something like: - - .. image:: images/macOS/tutorial-8.png - :align: center - :alt: Hello World Tutorial 8 dialog, on macOS - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase dev -r - - [helloworld] Installing requirements... - ... - [helloworld] Starting in dev mode... - =========================================================================== - - When you enter a name and press the button, you should see a dialog that - looks something like: - - .. image:: images/linux/tutorial-8.png - :align: center - :alt: Hello World Tutorial 8 dialog, on Linux - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase dev -r - - [helloworld] Installing requirements... - ... - [helloworld] Starting in dev mode... - =========================================================================== - - When you enter a name and press the button, you should see a dialog that - looks something like: - - .. image:: images/windows/tutorial-8.png - :align: center - :alt: Hello World Tutorial 8 dialog, on Windows - - .. group-tab:: Android - - You can't run an Android app in developer mode - use the instructions for - your chosen desktop platform. - - .. group-tab:: iOS - - You can't run an iOS app in developer mode - use the instructions for - your chosen desktop platform. - -Unless you've got a *really* fast internet connection, you may notice that when -you press the button, the GUI for your app locks up for a little bit. The operating -system may even manifest this with a "beachball" or "spinner" cursor to indicate -that the app is being unresponsive. - -This is because the web request we have made is *synchronous*. When our -application makes the web request, it waits for the API to return a response -before continuing. While it's waiting, it *isn't* allowing the application to -redraw - and as a result, the application locks up. - -GUI Event Loops -=============== - -To understand why this happens, we need to dig into the details of how a GUI -application works. The specifics vary depending on the platform; but the high -level concepts are the same, no matter the platform or GUI environment you're -using. - -A GUI app is, fundamentally, a single loop that looks something like:: - - while not app.quit_requested(): - app.process_events() - app.redraw() - -This loop is called the *Event Loop*. (These aren't actual method names - it's -an illustration of what is going on using "pseudo-code"). - -When you click on a button, or drag a scroll bar, or type a key, you are -generating an "event". That "event" is put onto a queue, and the app will -process the queue of events when it next has the opportunity to do so. The user -code that is triggered in response to the event is called an *event handler*. -These event handlers are invoked as part of the ``process_events()`` call. - -Once an app has processed all the available events, it will ``redraw()`` the -GUI. This takes into account any changes that the events have caused to the -display of the app, as well as anything else that is going on in the operating -system - for example, the windows of another app may obscure or reveal -part of our app's window, and our app's redraw will need to reflect the portion -of the window that is currently visible. - -The important detail to notice: while an application is processing an event, *it -can't redraw*, and *it can't process other events*. - -This means any user logic contained in an event handler needs to complete -quickly. Any delay in completing the event handler will be observed by the user -as a slowdown (or stop) in GUI updates. If this delay is long enough, your -operating system may report this as a problem - the macOS "beachball" and -Windows "spinner" icons are the operating system telling you that your app is -taking too long in an event handler. - -Simple operations like "update a label", or "recompute the total of the inputs" -are easy to complete quickly. However, there are a lot of operations that can't -be completed quickly. If you're performing a complex mathematical calculation, -or indexing all the files on a file system, or performing a large network -request, you can't "just do it quickly" - the operations are inherently slow. - -So - how do we perform long-lived operations in a GUI application? - -Asynchronous programming -======================== - -What we need is a way to tell an app in the middle of a long-lived event handler -that it is OK to temporarily release control back to the event loop, as long as -we can resume where we left off. It's up to the app to determine when this -release can occur; but if the app releases control to the event loop regularly, -we can have a long-running event handler *and* maintain a responsive UI. - -We can do this by using *asynchronous programming*. Asynchronous programming is -a way to describe a program that allows the interpreter to run multiple -functions at the same time, sharing resources between all the concurrently running -functions. - -Asynchronous functions (known as *coroutines*) need to be explicitly declared -as being asynchronous. They also need to internally declare when an opportunity -exists to change context to another coroutine. - -In Python, asynchronous programming is implemented using the ``async`` and -``await`` keywords, and the `asyncio -`__ module in the standard -library. The ``async`` keyword allows us to declare that a function is an -asynchronous coroutine. The ``await`` keyword provides a way to declare when an -opportunity exists to change context to another coroutine. The `asyncio -`__ module provides some other -useful tools and primitives for asynchronous coding. - -Making the tutorial asynchronous -================================ - -To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this:: - - async def say_hello(self, widget): - fake = faker.Faker() - async with httpx.AsyncClient() as client: - response = await client.get("https://jsonplaceholder.typicode.com/posts/42") - - payload = response.json() - - await self.main_window.dialog( - toga.InfoDialog( - greeting(self.name_input.value), - f"A message from {fake.name()}: {payload['body']}", - ) - ) - -There are only three changes to this callback from the previous version: - -1. The client that is created is an asynchronous ``AsyncClient()``, rather than a - synchronous ``Client()``. This tells ``httpx`` that it should operate in - asynchronous mode, rather than synchronous mode. - -2. The context manager used to create the client is marked as ``async``. This tells - Python that there is an opportunity to release control as the context manager - is entered and exited. - -3. The ``get`` call is made with an ``await`` keyword. This instructs the app - that while we are waiting for the response from the network, the app can - release control to the event loop. We've seen this keyword before - we also - use ``await`` when displaying the dialog box. The reason for that usage is - the same as it is for the HTTP request - we need to tell the app that while - the dialog is displayed, and we're waiting for the user to push a button, - it's OK to release control back to the event loop. - -It's also important to note that the handler itself is defined as ``async def``, -rather than just ``def``. This tells Python that the method is an asynchronous -coroutine. We made this change back in Tutorial 3 when we added the dialog box. -You can only use ``await`` statements inside a method that is declared as -``async def``. - -Toga allows you to use regular methods or asynchronous coroutines as handlers; -Toga manages everything behind the scenes to make sure the handler is invoked -or awaited as required. - -If you save these changes and re-run the app in development mode, there won't be -any obvious changes to the app. However, when you click on the button to trigger -the dialog, you may notice a number of subtle improvements: - -* The button returns to an "unclicked" state, rather than being stuck in a - "clicked" state. - -* The "beachball"/"spinner" icon won't appear - -* If you move/resize the app window while waiting for the dialog to appear, - the window will redraw. - -* If you try to open an app menu, the menu will appear immediately. - -We can now run the full app. However, as we've added an extra requirement -(``httpx``) we also need to update our app's requirements; we can do this by -passing ``-r`` to ``briefcase run``. This will update our app's requirements, -then re-build the app, then launch the app: - -.. tabs:: - - .. group-tab:: macOS - - .. code-block:: console - - (beeware-venv) $ briefcase run -r - - .. group-tab:: Linux - - .. code-block:: console - - (beeware-venv) $ briefcase run -r - - .. group-tab:: Windows - - .. code-block:: doscon - - (beeware-venv) C:\...>briefcase run -r - - .. group-tab:: Android - - .. code-block:: console - - (beeware-venv) $ briefcase run android -r - - .. group-tab:: iOS - - .. code-block:: console - - (beeware-venv) $ briefcase run iOS -r - -You should see you app running, and remaining responsive when you press the -button and network content is retrieved. - -Next steps -========== - -This has been a taste for what you can do with the tools provided by the -BeeWare project. Over the course of this tutorial, you have: - -* Created a new GUI app project; -* Run that app in development mode; -* Built the app as a standalone binary for a desktop operating system; -* Packaged that project for distribution to others; -* Run the app on a mobile simulator and/or device; -* Run the app as a web app; -* Added a third-party dependency to your app; and -* Modified the app so that it remains responsive. - -So - where to from here? - -* If you'd like to go further, there are some additional :doc:`topic tutorials - ` that go into detail on specific aspects of - application development. -* If you'd like to know more about how to build complex user interfaces with - Toga, you can dive into `Toga's documentation - `__. Toga also has it's own tutorial - `demonstrating how to use various features of the widget toolkit - `__. -* If you'd like to know more about the capabilities of Briefcase, you can dive - into `Briefcase's documentation `__. diff --git a/docs/mkdocs.en.yml b/docs/mkdocs.en.yml index 09dd3804..046780be 100644 --- a/docs/mkdocs.en.yml +++ b/docs/mkdocs.en.yml @@ -5,3 +5,12 @@ docs_dir: en extra: original_translation: true + +plugins: + spellcheck: + backends: + - codespell: + dictionaries: [clear] + # Location of spelling_wordlist is relative to docs_dir above. + known_words: ../spelling_wordlist + ignore_code: yes diff --git a/docs/overrides/assets/images/brutus-256.png b/docs/overrides/assets/images/brutus-256.png new file mode 100644 index 0000000000000000000000000000000000000000..39184054eb47edaf5eee5584c5a7fa1e034550a3 GIT binary patch literal 20837 zcmXV&1z1#F`}Jptp}V^Tq#L9=1f;t`1f)y4L%JSBK)O*%x?4h!mQE1_q>;}5p7;Bn z=kfxF;mnzH_P+16e(N4%G}IKa(8+^)g?!2;g+MfHU&=}A_$(df_y*|A-aM_>+pK#l zE%bLC(`H47HL-49I$cyWT^buZ7#mj{UR7vS={Yr4JvPL)H>E9Yc7@Q!$pl;zZH+%e`0xx;mR(%q0ecdO33e_ zvLU@q`t-Os-=LNuQh-uJi{j`6R&sRerGD#i1d?Bh9yxi!d*u~J4;ZW+Zo%vS~Dk)J{;uqokNRd5s z8%Wbq{7_<=D}g^9U23i6HF(3JYx7-R^jNZSRW-~`fd@wppJ{HtY=(q7L;8}{+ducn zEjv&q$5Wn&NH+F|@uQ~o@NA&Ek`7CgM__YZ2q0zzX_{*j{&gU7{W&);wgH)@^(m@h z<>bZ13ZWKm%t2&_{-MhYND0x~8(jQ~FeZhUjOB=UNmn*|B*t+u%o5;jzJtJk__fA1 zg)hu;gUzA_B~bS?B-9#Gn4;cE)Z=auf9Mh#goWh(DS&VR;#l|K9Tz?!XZmx#R(fHc z%Q0}wV_Kgm&1?$tvPYn2JsF#Y;7kEyFdeNmF^H%If3N;U9@2*W2FHe{Qzk7 zf0jINB)&#!B@_vXm(@58d9;A=4_9>@Lz|Z#+b15T?fAhVt*oq+UcF)z5J@Qc|m-1_tbofL0T%%qPf8*c75 zFBrlWA()6kuoVRwv2T8zxm#P-rLVFE3+3Z7#Qg<}6qA_f=%7VYyQdIWB03~fQ`4V6 zf4bgZyLlb2z0%Voj>4uYEG-?Zn6b-IQ&d()*Dg~NpP%P>J@|ZXUfloEWKut_M1A>@ zsE49wba*i&76YjWI*Aw;V$Kk59G{#0jFmMOoNax;jr&Iqmu*(1B{G~?>yJy<1w9Ew~4De&XfleC`dE{#k~$lDTJJ@|NR-G z6!og)3Os~#Aw5Q8vT7m5+>&YbJVAy|d*Ujm?Bukx{xfKGFS%Y`e`Jb{i;MhjjUTG4 zub=*$l@-6H^YYX6Wpg*j=I`H;3Pq>G;S!#^8mEI4F432lUM20@Uu$Z*AN|bl?B(B+ ztiS(ZtFg!Y3^9pLyvG^m{^w5}x8Dguu{e_V8b9ae&?{!YoQogx>Q(511rX!C9;jbw z(yH~0ky7#TDFz=p@NU1C!u~3wl=8k;70tA|l41^CFs< z%}uM4_TLRP;C^qWs!QMrt+<9q$Hbg|L(P^KL5X4sM6B=`=ilI4!E_KHPq6yc7rB|^ zy@s~SoLdGzSpkQ+=*4B%eVC~dx_jP}i2hQ^tbOa*2%GPpOxp}0m$lXdej>6nQTw0I2a{;j zrKO=IB_(Q-3=#R|<*0N>^|ljC{QNq5&OSfq>*{zTaK|M|Znf4SF$@{By;J=l1qs+lrx-Z09`%d7oE|6#)i)&(6q zdpsGRjRiO9hokqS#bsrDPD}itPWFFKWj6g@FiBT3EfV@L>|{fPJju}SZyI}ofq_9F zdH)MX{^iS<>H3NMg0EjSR@_H9=$}3NwjJHu=r9jv`L28a!_|U;Q{>*c>&E8d`#K6bI{LR*A~qBEk8k!g&-%+D67;aL$8 zNT3iYf^uA@p6BHk;O54osj2xRN0g+~tj6=-D!qh6E+}#yo8Qnt(aE8zhQ6owcy*co zk@Fu0TgpCH8L{6~p*%e^v*KQqa<}Ex(W=#4r6K35q$n&3rmpKvjFPMa9{;POcebJp zq@S6EEi~+5-1x2AJ3k}yGBdx=s7sD@`2Hibw|{zlve8>yQc~+M&-v-oCravN(7$A5 z5#xwC=tV?~_Db8w@}+&cS^4AVv1T76g0`fiYyaTx_vR*i z3mY`rr?pKS%kz_C^+(~LSj<LwD zpAGHymN!En;sZG&W{=f|W%lm%-i6;$$3L~8%lbS#>T2|MpR6OuC$PNF&dw-d6B%PR zBO@d5PP4bSr!3T|9w_d<6nxMG9^w8`2{ql>2sb^Ye&bt-s^T$lN~bsx&YMoAmql?{18|ywrQ7D~Xtdf1AO9 zOyaU1ql885hLh>UPQMZSZCl5A#>`AWL7}3j_feKdjSh*3hzKnB7fawDP@O)2^LiTGb06ciTr{i+2OT{TNE0laY*aCY3JnAX+5{)^FZSP5t7=<3?zuTu_!ABR!wb9cO&ub`Q1( zyx;0o8Wdm$A@8cyO%-A%}%KF@VJgh@+& zbDp=qo8QpDuUBJMReHs$q@zP9gW7fbmn}+t5L_F2dis`wy3sJ!H`f8+dr+4hSKDS6 z*=g|&gIzHmxZf<$@P&LI)-uE1tJWBo z(8sDN{m8i0_AYM`%qbw^u0-4mQ_^4=1YEVRGjejO?d|hyynOX)`=hZlouJ^{FE_AV zZGI0Xm~oi>bw$zIFE!+Fy#%p_jAjQ;Fs7UIF{YRAErj;{$EcDa z>`~hP8fZkIIkterQxcGZT%r9#(2TLc91O z+OAq@0*s82DqNj}Io0bodSSWA$+$q3DFD^f{~J^;7FJfRw${KtJAU`YH|fHMY+3^4 z=Ck-GY0ycAdDWCe>`#JDHHg5s zr`Qhd;)S^NAX$@^n8qtGz{`__gxQ`${xk--T|csgXDqF4^z}*B1O8!+jrDTmr+)bG z4P5CQ4#apRMBIRBrOpjD#N^P_o)}PjZN@$kd7|?nqIH^0Y<*A7Q4XaNcK`MkUo*dG zem|42Nvz&Vb{u!tERrs7c#|sd1c>Y zx_KF(*Hs#H_mIG(k}#j%wLH=QQ7Q6(g8;*!KKQ9V^Yf>ivvW0@zzxDD>2O%oF1-EyA#;r*qNNFgS2@e7xsFC2K4$5zzoREvloR2JFP3;n=yj=(n|+?Nt!a zk#n3q9+AkTb#X&ZUo5i5BqY39X>qe(a>31?wI>sDrUY#SJ4w{{%z9E3q0xu~NG0z9 z9BzDJ0#v^MOUQpI`^9F!!dPw%rzl^U4#+DcQ6KW_v{zQf14B@fwPXw2gejT|4dye} zRXvvt4EQCx2sSeM)b@x&k554G@}-;I%v)z?FL@`Sjh9MFu1osX!goP=QdMe<2>vJGj)AK~xes()o^P@X_^!*|JjO^?` z(uy(CAPg)l-}fr3y1FEGu|g^W<^Ld)ra3#9pGHEX-+4+YDWUT4JXoQ;k;0>(h@0BI z4sx-#2NuAlhk$?psN`~352r%*GiB0*!F+Z;@yVFPL@$x&pR%&<1~7Z%5pfgRkak0{ znPXXC;nJ&6R2fjEvOn7I@9y?k)jnVSDM3I@eWYyIhI_BC-*4;Fj%bu^AfKZ~(qMFk zNEY6^!S6BSD2Ng$0Y9;|oiET9R4iVy@+(Asa$V?i)T#XoHE-u1HXf50;Vn!0TY=Q) zupW|a@9-zQ{7pRagg;@SuWJpy8nEx!ARAQ?SLspU;y{289Xdtul3kpI@OPP#}jCTM2 z?XzzzoZm;o!UAJ zcd*)?-u-asBJs2enuD$`-1^nJtV_&Qn~q+e{x1#hBiY6G^z=+lPapa- zmbKX7%O@->{BwT(ZWK=#+lOia8en;Mg()q_b`lA-^YoNbR76QgNZ`y-l_!h9%@+1} z@3h=>`kguNYv7%iy}kYY(JvQgXB!|J50;ygfY(efQAu|P-I&kgk19F_#?4l$`a;87 z0wCIz+1ap^oO)7v8hgw(JS-SABC@ei#MT5MIZ~ZPh$12)xAJoa!6jW?xmXl}Cs*B1 zIjim7{`WtRFU!4at|DTz$p-2c6z#RpCSVLP|*4Q{pwx2fQg?D8|L_|b#MurlgJV06kp~MYtZ((5}Dh>`aJ3D5l znL4+=ba!_*`IG>Zzd{1}Ky%jx z$DfJ3iSxagm!Ni+95j#4fBF15CM*mA0HU#K)AogSZ!U0u#xc{-7SP1v&T){uS>BLj zz_JyLMB8g>Uk}BCosB`XZ3m3|)Af+#H}KjK3PpPt%>dicGcwA$5J+pi`7Dz|S+961_ztT-HrYbnon?`|5L0DA%IBf7GZ{q$en zlL;n`gb82;wufxcAX!N~f_HMTucK1~pbU`E1e}CUxX=^b!Jp5Z>myTKT#RblJyX@Z z#tOGzQR6oRUihV=?yEnb%d0%%AtDr&sq zf81#WY72G(iz~6gYYK*kkIy%#6ea)bwZQFudN__;bky4_B_D><78Giqo?lXMHw#n{ zzQcUAuH(jXQCpi4{HUNf$?jgS6axu%)_p@5OmfoQ2> zJZZ0b@U1qr-!2_7hmo9tLB{l$grb}r5}<9bd&7`P6BJ@&V-IdQmX?+lx`QP_0R?{E ze+*{>709e;JO+aXJ3PQ#N;^6_nh%}Dxv9xyT`9@Lejc|Fm-qLwTbyluFU-%E+KUktS0X9}D@nUXM)_%*rTwaK9cv8?>a5X<6fUx4DxfN_Uo)sn zKJeFc-F{iU4OA#ffisMEcq4JtzvH~g~&sM$H$HH+Wl#Gl{h}&MOs#^d3`T6JU ztfq#>q^wI}V`CaXsGz}aD$ml?;1d&rM#Kk1>J|`rm+@bzZ}J^w$wPw}KDtq<-9vz^ zv;y@(nTz?3!_d&s3fK^@nm`|)mh0J?AjZFc|9)^Toqx{8M&P~XTLzq{*IkF>B5z7w zUX9Z7((>}aC|5T-XubXvI7B^T*Gw;J^aF%x{vvP=NaGCvoC=V6%lWiQxYa6|s*aA% z$uL6_=w_GH$7Bf#M=igxsRK@=@d@tKO_V)7`BRzION)ymK$*NcLHqFG!{qGj0I+16 zSF2cHErQm{L!JPd?|iPBG$A+TLK2NPEZ{9uRFlY zb^xj?E++;$&AfTAIKZer8tQlc450LaH4aop5BS36GhyGTWniGBpa27V;$M4rzXdn9 zWgikap0Mjii1^zM9a@BIa^!nx*9Lh$G0JGj*RR~C_x~m^;P4l-ZvE@)A#5JMbG!C= ze?UwAhj*B6v*D|A-hta;jy)wkz06=)Sy}lT@PvNLU5=2W9(5I{dAnRzh)S|HMLU2a z;8L~%fBf@5OS62?l@)0MKU7v$QXjvuwm$i(tzPT;t1tiT(!Xz`HynNumKrODJlosa z$gA{50Uph^f!&5>WRSuu_2a|cVVVvOGJbM>h+nh%5mT2Sq-xk8gfX$J0vs6-51_w3 z1O>mo{dBeFpR|(~+%@!y1|PrA)O&T{s_Uu~s+l2QHUob{aJbhSj>2_k&vD%rP^UQKyfkWGJCECE&k$S}C4w6-p$`Seqg zg^O#ac8HpRi>qeHAM87ei@&potjMDL{2xHD;&r$ruR9wlB49g_3*>%0&^3M>Ig3<4 z`2tl?($SF({)?mfD6$pKhrx^>8aO}$%SR)-5+gv_|8#rn2T0%#&`wMwYDXdi&b~8u z-2SZ)|HcXczhS4JKpY8|URz8MGYbn^>UTLkJw2Q#I{?c7g|!5zJ+^@ZoCHWinq1b^ zOifn@T!s*5l{lbzF+8{Zkc<>EjdX-g&a?LI3}P;`N#Sqw>mkX~s&MJJSifUsiN~R(!;JA3 zH6W~eline;wns-1B`rNY_2b7u&<%c`SO_gPIZ;eVJ_RIw!T=8G9;6jilYAAsyPz9m z88y>)2!s~?ydz`>RvPIT;2EXe|}^Zc@hxW0f)o+o1t64u3m}a-b#`()=2!GZXNOt5kKl_2QHe}Dlp4DS#TsP{qOZqqNd)Q zhpqsK2?5>*WVz!#ZW!24nK< z_<3wBI(YKl!GUK5k`es0{`{yV!ODuR6x_PtHe_^n<>+Z2X79~%vxoqF-{)pKoeU(1 z>o?=x_h0_tW1`XxfB(Lx>8J}D+Ur3~u#eK5t@3IO*a?Y=>p-;w(y+X;vbeVP)P&{K zvj06ODwv$DTlndPl&Pty0L7pK#oMuQ47?G@NZ?|#c}ZVacVIk66yQ?Hfq?t>t)ZT01JL^(h(Db+-@sCk({!BlVOW9cMK30{;(VE{S3v~N*4|S% z<7Npuxqp5>>@gwE9Ix;?3E?@8*hvU?rYdJ+Reim-<5I)R6|kYuB(3v=&y^{1; zP$*dfU0|54t*ur-!HZYVfKvcgFmihAU&fa&tRNlnKKD^>KT}pyBd+N;MEKa&O+0^f!S56_airv{(&wyW|Cd;NALDSNWGOe=qKVf7+~WKdQUBF|tN;uPJPZ zYk^(!X~Dj;EH}H@f?5vpSk+%PC@|mvyaps@W@f^h&fEdnbLoB%+@GuZXJ=duwh258 z3IK++lNvCYesCrI?>jp>R?M`n{1Df?9@IYHMTQ9j`r`0# zO%5V^=NHJO@D>r`it9t@`Zui6s4C#`W(O|AV^N%u5NyY@YuPTut%sBI1t7p`cRb$i zi*J&z6qJ`ogS1lv%%)sDfFjDv>&ICJlJZ0HpU%Kn!kZ28IkzafPDEO8|a%S}&L^z!n`Th=o$7%s~T zT5>Qv1x0yH&Uo|0UCx4*6q1bI_XIJMhhYfIq4t7p(|X)>w*bPQ5KOY8YW-k0{5Z23 zoTaj0P~k+q4o;M<)ZpKFA2o;$gBAgNwfN=om<`{nSC<&)z|4b~Y;nJ`j|$LX@br8@ zIgaiC{plnNAuay5;(!zjh1kI!5h~@$k;>q3!Tf%cq|&tgBd9a1t3lnsOWHX&?DHT_ z?|BBXyx+qBxd*^Cmm{qJfD9$kG&6SxjzdhuRO$@aJ7GERJUzkWz$tYheXf>?$w~zc zhz=`-0>d;qvioS1V32(LYbsui;S#nSKt_OH80yE7Tq$cb{7M(mW6gWP4e{%g$Y;H6 zlQlKXS%vPi01)I=f#SeV4tAse&%)iV(o1kU9=kNI>4}MnW>kp<1qGdC5JWTT`cNnT=y%cO?kPbh=hDSdBiey51%YHEQOnt2w>9(}|NUzP0)!RN3_E})RBQGKqpH%2 zo3cA_>lgVn2onMI#Vm~@E-tRVof2PW5;WY`5c|d@GosY~{{BM|Y;i_@{)YK~z|mbz zzH6}T8@&w)wTDPKV^qWD=md~+=p$&kxRT7DZs)<3@3sIbn^}$)3?C?plM~nWM0Wp~ zH49qc-M6fdtvl@-jX=O;KcA0E2i)|bCB#$2v`QNI#=@%892X{6_c);KUvfd zyjf#juMxvSKYSnrm|!Q(V_;~g9+c>IbUO@Xc^V~oFa6__fC^wqFAny>U1o--{?1K`{6a!;{zt8ffMGTV z|31=}kqPqw^B)ldR<(CjpxD8uD#Rs(KoTCc-OoWB2mhg5KtRWk)6D+GX0HDc9+(yK z>h8DZjd{B3eyUG5U5KqDdy&sWOF-{M%Tb{C9?l6jrxa<3K>D|L5v4(1G0O^i_W-yn z-+;+`UaFS!*WLXG5QcJwhMCi*CmBG3#}34i`1AJwQ1@+4#QavH;ZcfWZQ{yTj%ESrCh_c%tdBGxiG{Pn(W)e>& zs<+~|U$q%YVulMY79LO+L555KuttxJC7dsd8=2yPU zfnxv}4Zt}FkI#ukl<$>arBl8A_(?zJZSQzoWQ;xu~+8)lUCrQbEUzP7fz}Vyp{RWu-9RI2-Fpjl6IM zpsI!^CYZs<*1P>V066=~HH$J{xX}|Zsak;U46=JX5)wFu0mEojdi(B-uPrggfnEbY zhX9C~qAcL`lxX0H_6b`x_kF4JK0U^P_!fZOsHGin^T{GzZS_Uhm)?7(V*~e;P1> zYGB3-0B|u9b6jd_H7hH6Fl6=nOGPzYMsaT2ZT+x3TGq|r5+lM(3L=_dQJ`o zT7XU0(9-Igt1^a%1WZit0gM90X#~t40C^3#USvzl3m~Io;^XCN=JPN(1hU4!I3GwC z>>M47fguIb1e`Y99|E=rWZ}%p%8GH1VjiwwRnO9r(SWjM9xbLOv$EXEA19#!jJ%{=)09bm>_dF@0ffo=*52Xk@Jy%th6 z^F>p3`oiMCJJK=(g*g+Yh& z8EyAn7#;2~_3xDBP_y}$IK&FY{SVE(qUt>^T_`*$Bwbt)w18f6RJv2&+}r@5(mb>d zWV>O5T}mN6D{v6o0O~XdJqRKCpZ4C;gv~&9Ln}@-OFmfi*oCw^zh7TPoMG+>d&|8x zJ_~1C=D`n*(_>hu@T6SO@vG=Vo&#AUjRcLD&8f*l-I zr0D;#m{Q!2Ki$+Tv+(c^#PQeXGwO%ipBoVJekowbwb@NZ zHwjK3-B40U%HGK_*WDbX6WiGYs?AqWN=-g4^BTj`Gi(uoco|d8h2o@u4wnMWO*0u6 z<0ab3js8im9*qeVG+i}vfX{MO{^4M*Fi$dAg3sp1NpCs|XS>%Sd{%I;_Hy37k=?wj zquG5WsGzRyKhO|Lnj4?!EW{;}p`v*fAl@I2?Q<5FeJ9dl56$REmam%a>oYw0tvmUa z;@qZ!@*3gmQV?sE!jbylh9W7Wk>_V=;v~tqi0kHP?by;c@?rI0yzCb!>l^SA z-Ca(8fDSSmvAcu%Y>{_ghWz1$4h$#iuo|eY)wx2_ss_jBZPQp zY3p4!WRRZ8kLb%p+#9Qs%8~Y#BPKw8Y-o$) zL*vT&U!|+`drN?vD@o!u8Wd}+Xc2S}I)Q%s{#BMAXF-2oU&~?BGGPvu6Bte7YiV7eMZZUdDMYjx^(Iw zASig2-hCelQVR1X88@KA!B*KA6IySmKx=jVCF9(Ap*Jx12nxO!i19jSrCuO*M6Ntt z3HMq-HbWv?42c+75vom4YclH+g${i|PM*+`F&4heqm zKwE%Mtcb7CfEh3l2{o@Sg*@gL7KXtoxoNxCqJKMvAwfTh8GSo=3#6fhP`9{v!VG~> zC<%AvY~L&Wo+|y9G~Wgs*Sm7o@BavST@8fi0B-B{^l-I&aSIyPNowAG#P(>X*_&lX zxQ7DN4Zb=3mQ!x(A}O+COwqVRA&h-NALKhaX;h9}I1sp7i6e z{deMVd;XR>=-Lvlmu!(8`Jmm#Wfswhq!=xSwV5B#WM@b-)Sv!M?r;3rc5T86dScZv z{h(tHqK@t$aiALEF9P3s`kl8@ML-t7*Qeyu&BWH$)R0RyrPmfxSG;Clvu9;%6pVieZ)X*Pz2^ztb}l(yvEDsp0YxIM(&H*ikK zAP|H;*^O$7{86NdPDBALaU3=lmR~7~)W3Q{5#iAhd?u&{afk@i`o-GUC~%hmkj>wV z?;;>r0m^KQqj_bs`5_3HiJ%|}Fv?91qO_7PBUM!aSlnoDQ9s>JTOh1MzA>ajoOuGi zei+e0dGbY##*XrLiOhKJ^YDe)ml0<8|0 z8b73^U3{s{05g|=XDeF48-HlZ1|0SmSckuX_qTa^e8^QWPE?3p`2y=1MD20X9gQhE zKrA;c7WS%K}amjOQkaUy^1Cx!3@y25xCK00OtB=3hZE14+$X zjrl|rO%NCgSF16K2OziAW9O_JxCQt`mqcDCDjmq%Z2|R!lWj0Hmo_*!*p%l z_O^eb+vf3>9*69GJc1`#5tJ$ML#EGP%pPn68LX2WB5o^gu}gHvMYePp$;{MLFMQIW z(_iSg;~zGgezo;LED>lkONEMlB@$5v$$f zZ~`W!HUtKj0m9z`_KQ|rJO@m;^THE;wH&yr1wk@1n1xABPWEWTZ)1D@PG70cs0z3c zU^t`#1I591Iau$`14K9#P#$@CWWdgxy}|VON4OH|X2Kr= z17{$QCIHU{X&n%;nABn!;QTzCfIyM;*oRRM+e$BAI z(EWAKVk4OKxu&M9tLqWrG~tNZ@yc(-sum26iB~6EPxdcZa=#WM%zht!GkNr^O98bP zjQ0rpU$Sp+Z&SWF$;10Rvo}7b0lF=5+`#XqxBSWYT#d|K{zN}=ktRBj&1pPE2?WT5 z|A}wUm5Dt|#*(5;-Wo^gld)cDmrk;Wi1niXQpgZ8{EK!!kIuq%x##t~Iz(;$tBM(fiH2>Bm>g{aYf<%ij;W54Kuqd$o4(e|WQ9*mpJ$b-*dH8B(RB+G zJPv(OENC+uDY(HelE$tyB(Pkh{OrlkOLY!g?7|~ENzE#eUU)|;XwzRE?!LF_s5hzK zU=*G7{*>WYov`Z-Wd=VweLKNKWeD;65?Q&7Wf(1zkayRu3@teX%bjh@Z>uSKG=iK? zZT0C2TTm9)K3Ty+i)rPIV^|p5@a|U+&kIAQ1ZfY4<3w3~G=Y&HV?X6cGwJe*F-pHn z6BE3R`_ptrlfq8dNHU{ceA(Mf+#7?x;D%d=BP-4GL05Lh@Gb5wJ!;YXcYsPNJwK_D zVPTZ1482wEc;!*xzu{dJ+F}=t8E!Asjjhz9erEviolMA^o|@#db>~Jd5qv9{{cR0b z?MOQhosq;T@mO+rR~vQgC|$GEE&BLRskdo5sz>}U>Ga~ZCBxN=(qg~EvaH;d!w8*T zzKYN!(`s|FBY!qHS}vcHh=I~6?)aXSUJm=m%S_j00gZK3#x&Ok)I<{5k}4-6fyp_# zWt%3Y1cgw3CL`nJc$l!yOsb_TI_Aq1CyGqy+n3X{k)%$C_?->vO7goOkX{%b&CSk% zHshC{WHZ~yg+YiPDjG^dhZwTL#5Dc!sb-S`$pRV4QKO`O`JOt~h9}RS!8Tv}3lksMzRBgv{>#zb=ezUMBK1vD z@|EKI&e!cz=VxXv>b}eo?|mu%qYlj*ES&};uLhynXA`AK2#iyBO;iw~CkD>j`6(Xd z#)-u%e?wuTvNSa*oM;(V3tz^r1w3W!bkB{l9;e}F(GmnC9P=5htf3)#4B?ghNjibYBSnda&cey^*%5)P0)MK{g@xQARs0ZS6E8u4f?e2;c*5VT89QtmFxpW>a4b zLs&z@6pq;KR)T+!?JBDE;BIJbX$P}76JL1}B@F(7=wO8?Lkebmts&87?np?t8&Q{ zA%{Y`i1SA zBj4yRXuBT#KxIPEo#g`IiAud9H6&%@q@|u8%oj~~! zk4O|wAi>NNf>0L(NhArFNQdv)AH6IFje#9I$4}l0C>SCYx+Ct5S*W{^sx$JPz8p7A zXZu%n)(9FEw%*r<_YFuI^!{rI2Qr)}k2D&4RRluKQi`I`!1@ac{yGHhj8yBRO+I&W z%5qe;Y*z2;XW1$Aj5Dj5%}vcJPBJ)lvPVeQl#JVa%AxDftBsP3P^K*E9DB&UtkHiz zyuIbzgbC9M4|3)x$nEUYl!p>a_h911WsB~wR)oDVbmshi)+xY3Kt>}!h`EA%k7c(v z`hC1fy58J`nHBQVO>1BtPxqn@$yZ7QL7*;CDmT??WeTruII4XI+{I6@X5%*stT8yK zh>)}I!K7po_b)UK_F_at3aUeUIu>s!WXMBeiYRI3rqKMcWmPDkLVN_n zhomPj({avBAxD;sH+$-IL@2<9i<b4pXg%ujphNk;mJK9?^iIOTh^l2o6&$7yeC%qUr` z*ga6uT@9t1Z<;)HU1N4!yOdYUo~{pChj|P2%mpSU&DdF-Vv?pL`p*O>R3_`_{L%b3 zl6=Y=L0QQ&kQ6h>Xy!Mm9CC91|?@tk}?t^B^#!CcvemF{u{-H zrhfDF$gAcM`Hf(P{K)X3U$y!LU%%b_N>>ffBsd+W3Eo2b*}mP2uqAs;7*vktv&M*K zr$(QS!1;I?T`w;y8sw;xioC}4Ymfv-Qbma=uacNsj(!4B^f-`E==J(@_IYYfxl8<2g1Vo-X za9S1|j~_C$@-Vr_r?nxS1HHycfK?koDmXo|=@woE@vJLgsZ?n}}#Op5KbrkE#$S`h}lNstnPI7xB3J8kh^jD6)&XYwn* zMuYNbo}@m7W&Sq3Q+i7zcFVhR*Wmf%-6z*qHb2OWzS{}Y?aU?C1hmZjTfA@k~qRoJ6g>rXn zHdS(DoB(y~zghsvXBk@_`jIiX&Jelw^O8y;$h1?%Rx5WpY>irl)}b$a#dy3#JCL+7 zwrP=)BfY;?XmS30?%>1wAi2zWH@(+IQA73?a<2@~hs*}QGbtpbBb67yY4F8QDyU>3 zw5w6WIaIt2W>1k5tbi))6m;u!ZNXSbo~f3(_(jZM%XXD^@c$AJf$H zgWyISL7P#eXWo6TSbiBYDhOd?KjAJyWU^E`%{jcDX-OxG1q&3!VklfzY4;wDIbSDNd=V#e@8`r zFY{1D;TP=RQzpBAw-s^k=u~uvE+>++avZ#ImrR(ngM*on{Yc_ZJmifl`5xj;fC7TD9ZyE+JE*`pMtDy)|o-v!Oi|J!aa*8L`(3|QmH8xu) z9nAQ~ds%1Q`r{3SW5Wb%!bQxNMI{9Bjg>#fA6(O2QyMQG~~%( zNb@LQ*EMtnFFH=I?FR5Eo|Kb%V_FgXT%T8i5TCFC)}qS}aS`y5yi13T`StK~!rLaD zpGr6N;)-Ioo&qNc>FqoCp@qG+H(EfrcReJ+DC1bY9NU_b!j zcIm=NT0!3Xe!i;y%;MN`o*whi6$$6etV25Fo>J{CQrF}wdkhxptwX|9 zqMPDfF@YU?kCYwKMa+LLBVtvS7}+fb`B&DvPop%H!^eZ|QZS>exQUfMO7?xXKyc@) zkWCc%3!^O)<9rhP5Jy7R9DH_=&_foYvS9gj*b-0RqbG#826S{rdgw+X7!o(=bAc?) zW7(h2{FJYHy6x!#c9b(j2Ajrq2C6LU4J97L&)oVfkReR-?pM2PvU0G#EQG zenx^IoRi-mbzKp+c%eCtd{nr#=pvjt&;M^6*)F6Ul}w|-lh~xwpp-37W&gs)BwCM^ zCb)LA$SW&lCU~MDyiY z$ZqHFfjS+1<0$s8Q(5Ch3JlFK+4y8!2BO%~gizm9%cEy3rq0|O51}rysKVDdEErdP zWEK=bT9771@B+z<16~`Y&|Q9C!cU(!aVpPZa!A=C<%uUg{OWz9tD%8Tq^qGtm+o%6 zTs+ZZpO!dqqOtdl;u9=f+wz+Q%P%6DHx&jysT2+>lr*X^U)^`+RNReib$b z$wrnytcGrWaE^~9sm0Qx;tgitL}yBPR4;c)H=GM>FxoB|$o zK2j3y4#t{cjMy6iy#reKMalScsyy7N@u+@2mSQ#_3 zB2p%tzr6qLkr}xQElZvW9$+&7`3gk%T9OXJnLpAai+b%T>bQP9HN-JYR%vU9XvSm! z8r(D_8-6N?m{lL{{Ptfbjpphj&>$Y|VBVIBN~>^wB@>uc97yuav^<1e4?2~McpS(O z_hX@ge~qGnZeG)#443FBKP`;rxYFCy=78QlBzUv*XJ=A7;m-rP>N1@vE~53q6zuNw zM`UI(l^f)Ri1>R9(lF2@5Q9;~o?hzcnDnq(Jk0aj_7c6b6xE?Wo>eHhbC&@B^oA7c z=YTK~42@GFqZfW!9|as-yI1su{x28`=k@E6>;HhFKNx^^;BUyH3MwkzMI*&cU;0;{ z9DgT)xA3#(zbo_y0|3&i`W6AQwW890Fk9iDU%)>%y012DqZ2vx->Yv*>4cYZI&-kgM(E1f=0@aulYB8nJq(qJ>*N^Lju@A-Jc8q$N-C%P#uCQeZXvi ze{X_UKIoHH;VIy+1bCoYe=`6eRaRa?fhsF1!H>{Ljlw5im->Vr(gD0m0Ob2Sqdyt| zGjiRv0d*;$;tm=qBmc-6IMKIE{Vhn(f52;2^hW~#veeR_36PXal^{SXD@s57R~hf$ z2aW^JAZu6zJpI)GfRqsbe}Lx`IhBEdMtc1J@Fr~A*C(f6EASdpxHc&0&j!E(yk~o< z!XYa5u_^nm{;PES^`Rz#73uN+J3(~6^=AVBGV$U$ycHm%mKW<^Xra0ee*Y@0{Q^4s zwqpMV_!Cg2bhq5R1pS^o;Bla^uO|}1R-i&P1i_CMDr@1fSKzHr`#ktdfZwCA#=nP` zVLO&`ig zm@U!>{OTDvcuWS4s00ZbS;Ozw&%!@9^!dqeMaG)^Kfp6_@Bm;S832$Dnx~P08XiyA z%obS=`ktp?>t3)3RKGwVqmiRE>mdB>DfnOunELLg-vRs<@T@FofH2Su0KidTHQ<@5 zyA7*=U5DUje}E6SNVQni2m~M+Fj-*ZF8KK$VC%lVmmfz4n5_nKlYy$xDhx`Bt1s(;4^yOq`i>ww~at3~U6Wn$+ zB*&vZrTv8t>KkR@j=#PO1tooo>p!1LWT4MG1nG8PZwzz;0P+X@C(;-^1dQ(M2~U>8 z?_P%e$Kb9TVBQo6F`ya(U!j363+y`#uYLd@ZG|T9sX?3qo zv;dC*6Z(3>vu*INjj-@mFDYF8ugL=_^q20$OPAfL%H8(mL3fEp`07 zNFj1r*l!0vs0QF-EJ$HdGjb*{8!tSw+dE}F`Ta-1Xi&O~L5^1L;~y=Aw?C07yk*s1 zTkCg|gWT%-f*?xm^#s)b^u&TJJKl(#{#^+ey>VhMZAA@Cw6aJ?;VJlRyIfu!Dv*v> zFJeMQiT)m0#;f0ZZBzqbAAwX9`Xw@a_*NiX=|&Amv~o>v~mQ($2^7@>>(;E%QjJ{`q zzR7_G8L9zrP8IM3(kb)+FjnaX^;>LV)a{*c>?C}i1s{JU#X9?#w(E$KNUex>kmcqF z6siGmjTU6ycM0&nzycsd=|=SnG|2V68LDdF&~ezfQ)=@Um3b|S&mLxE4T&d^6?{xe zUkW8q4S?%dfUU?U#*ctIfdoZc6s$1?wkf_<$fBFaPQkXluz9!q@A@XMWb8Sj5gGUK z0&t809I&k#0QV5c$gszeDWSgvCgbNEKp~*L9js>1+6EJXz`c#T+Xz_9a)6&GgPl3> z)qcn=kP=-!eA=J8bjSh!98wsjQRz#gG{O1|2?VsjG~nmJ)j+JjzF4DyDWhTeJeV~B z#*c)wM2L)#nSwnGg1-!d=DdGxZLnBmfKFvCs|G@2=l^%Vtk7wKwoW*E7HXTIqyi2XN*S(WCuQ-CrdFG>vi~q6tM$BrjOVZR z>$e9ussZp0dSD#VFYp~8S&2sIbPyE|F_DlI2dRlLGDE(S6J%y$Y8=GG$cRLP4h(wv zuTFd3a-#dLuo(*>;glYi1OBApSIU866gel!1tp@aZ2sPS_Lli_sLQI4-6tPkA->^`r zU!d1ZLxM*77)-WTd#B8>YiyANySW92TA9kc50mW!ws()WZSZ_4X{Zv&aAH>kI;AmcJVM;7MX2dD|xZlD?f{}BRA0&YNV z8)o9i9fN*`ng0y@eQNK(5c*ZLb!jqwX|PTd%Q{!Kv68jKgcKt7$%f3+Z=+I7gSxdxh($C3HntbYx+4WjbwdWNBu305UK!HZ3qQEif}wGBY|dF*-3bD=;`ZFfddD!6^U$ N002ovPDHLkV1kMl!hrw) literal 0 HcmV?d00001 diff --git a/docs/overrides/assets/stylesheets/beeware_theme.css b/docs/overrides/assets/stylesheets/beeware_theme.css new file mode 100644 index 00000000..efc21748 --- /dev/null +++ b/docs/overrides/assets/stylesheets/beeware_theme.css @@ -0,0 +1,325 @@ +/*---------------------------------------------------- + Build BeeWare header + --------------------------------------------------- */ +.navbar { + font-family: 'Cutive', serif; + position: relative; + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; + padding: 1rem 1rem 0.5rem 1rem; + line-height: 1.5; +} + +.navbar > .container, +.navbar > .container-fluid { + display: -ms-flexbox; + display: flex; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -ms-flex-align: center; + align-items: center; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.navbar-dark .navbar-brand { + color: white; +} + +.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { + color: white; +} + +.navbar-dark .navbar-nav .nav-link { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { + color: rgba(255, 255, 255, 0.75); +} + +.navbar-dark .navbar-nav .nav-link.disabled { + color: rgba(255, 255, 255, 0.25); +} + +.navbar-dark .navbar-nav .show > .nav-link, +.navbar-dark .navbar-nav .active > .nav-link, +.navbar-dark .navbar-nav .nav-link.show, +.navbar-dark .navbar-nav .nav-link.active { + color: white; +} + +.navbar-dark .navbar-toggler { + color: rgba(255, 255, 255, 0.5); + border-color: rgba(255, 255, 255, 0.1); +} + +.navbar-dark .navbar-toggler-icon { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); +} + +.navbar-dark .navbar-text { + color: rgba(255, 255, 255, 0.5); +} + +.navbar-dark .navbar-text a { + color: white; +} + +.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { + color: white; +} + +.bg-dark { + background-color: #343a40 !important; +} + +@media (max-width: 768px) { + .navbar-toggler { + padding: 0.3em !important; + } + + .navbar-collapse li { + border-bottom: 1px solid #666; + padding: 0.5em 1em 0.4em; + } + + .navbar { + padding: 0 !important; + } + + .navbar-brand-block { + position: absolute; + margin-top: -40px; + padding: 0 1em 0.2em; + right: 10px; + } + + .nav-top { + margin: 0.7em 1em; + } + + .navbar-collapse { + background-color: #343a40; + padding-top: 0.75em; + } + + .navbar-collapse .header-button li.nav-item { + border-bottom: 0 + } + + .navbar-collapse .header-button { + border-bottom: 1px solid #666; + } +} + +@media (max-width: 767.98px) { + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + padding-right: 0; + padding-left: 0; + } +} + +@media (min-width: 768px) { + .navbar-expand-md { + -ms-flex-flow: row nowrap; + flex-flow: row nowrap; + -ms-flex-pack: start; + justify-content: flex-start; + } + + .navbar-expand-md .navbar-nav { + -ms-flex-direction: row; + flex-direction: row; + } + + .navbar-expand-md .navbar-nav .dropdown-menu { + position: absolute; + } + + /*!* TODO: originally 0.5rem *!*/ + /*.navbar-expand-md .navbar-nav .nav-link {*/ + /* padding-right: 0.5rem;*/ + /* padding-left: 0.5rem;*/ + /*}*/ + + .navbar-expand-md > .container, + .navbar-expand-md > .container-fluid { + -ms-flex-wrap: nowrap; + flex-wrap: nowrap; + } + + .navbar-expand-md .navbar-collapse { + display: -ms-flexbox !important; + display: flex !important; + -ms-flex-preferred-size: auto; + flex-basis: auto; + } + + .navbar-expand-md .navbar-toggler { + display: none; + } +} + +.fixed-top { + position: relative; + top: 0; + right: 0; + left: 0; + z-index: 1030; +} + +.navbar-toggler { + padding: 0.25rem 0.75rem; + font-size: 1.25rem; + line-height: 1; + background-color: transparent; + border: 1px solid transparent; + border-radius: 0.25rem; +} + +.navbar-toggler:hover, .navbar-toggler:focus { + text-decoration: none; +} + +.navbar-toggler:not(:disabled):not(.disabled) { + cursor: pointer; +} + +.navbar-toggler-icon { + display: inline-block; + width: 1.5em; + height: 1.5em; + vertical-align: middle; + content: ""; + background: no-repeat center center; + background-size: 100% 100%; +} + +.navbar-brand { + display: inline-block; + padding-top: 0.3125rem; + padding-bottom: 0.3125rem; + margin-right: 1rem; + font-size: 1.25rem; + line-height: inherit; + white-space: nowrap; + text-decoration: none !important; +} + +.navbar-brand:hover, .navbar-brand:focus { + text-decoration: none; +} + +.navbar-brand img { + max-width: initial; + margin-right: .5rem !important; + margin-left: .5rem !important; + vertical-align: middle; +} + +.navbar-collapse { + -ms-flex-preferred-size: 100%; + flex-basis: 100%; + -ms-flex-positive: 1; + flex-grow: 1; + -ms-flex-align: center; + align-items: center; +} + +.navbar-nav { + display: -ms-flexbox; + display: flex; + -ms-flex-direction: column; + flex-direction: column; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + list-style: none; +} + +.navbar-nav .nav-link { + padding-right: 0; + padding-left: 0; + text-decoration: none !important; +} + +.navbar-nav .dropdown-menu { + position: static; + float: none; +} + +.mr-auto, +.mx-auto { + margin-right: auto !important; +} + +.collapse:not(.show) { + display: none; +} + +/*---------------------------------------------------- + Material CSS overrides + --------------------------------------------------- */ +h1, h2, h3, h4, h5, h6 { + font-family: 'Cutive', serif; +} + +/* Shows the logo */ +.md-nav__title .md-nav__button { + display: unset; +} + + +/* Adjusts sidebar logo */ +.md-nav__title .md-nav__button.md-logo img { + height: unset; + padding-bottom: 1rem; +} + +/* Handles font-sizing issues with Material */ +body { + font-size: inherit; +} + +/* Compensates for compounding font-size percentage increases on the html tag */ +.navbar-brand { + font-size: 83.4%; + margin-right: 0.68rem; +} +.navbar-nav { + font-size: 66.7%; +} + +.navbar { + padding: 0.37rem 1rem 0 0.36rem; +} + +.navbar-brand img { + padding-bottom: 0.08rem; + padding-left: 0.12rem; + margin-right: 0.35rem !important; +} + +.navbar-expand-md .navbar-nav .nav-link { + padding-right: 0.33rem; + padding-left: 0.33rem; +} + +/* Tabbed content */ +.md-typeset .tabbed-labels > label:first-of-type { + margin-left: 1rem; +} + +.tabbed-content .tabbed-block { + border: 2px solid #777777; + padding: 0.5rem; + border-radius: 8px; +} diff --git a/docs/overrides/main.html b/docs/overrides/main.html new file mode 100644 index 00000000..024e5d0d --- /dev/null +++ b/docs/overrides/main.html @@ -0,0 +1,33 @@ + + +{% extends "base.html" %} + +{% block styles %} + {{ super() }} + +{% endblock %} + +{% block fonts %} + {{ super() }} + +{% endblock %} diff --git a/docs/overrides/partials/header copy.html b/docs/overrides/partials/header copy.html new file mode 100644 index 00000000..d5cb684e --- /dev/null +++ b/docs/overrides/partials/header copy.html @@ -0,0 +1,122 @@ + + + +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--shadow md-header--lifted" %} +{% elif "navigation.tabs" not in features %} + {% set class = class ~ " md-header--shadow" %} +{% endif %} + + +
+ + + + {% if "navigation.tabs.sticky" in features %} + {% if "navigation.tabs" in features %} + {% include "partials/tabs.html" %} + {% endif %} + {% endif %} +
diff --git a/docs/overrides/partials/header.html b/docs/overrides/partials/header.html new file mode 100644 index 00000000..7d0a5923 --- /dev/null +++ b/docs/overrides/partials/header.html @@ -0,0 +1,66 @@ +{% set class = "md-header" %} +{% if "navigation.tabs.sticky" in features %} + {% set class = class ~ " md-header--shadow md-header--lifted" %} +{% elif "navigation.tabs" not in features %} + {% set class = class ~ " md-header--shadow" %} +{% endif %} + + +
+ + +
diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po index fb545a41..79033dd5 100644 --- a/locales/de/LC_MESSAGES/how-to/index.po +++ b/locales/de/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po index 2346e210..ca9c8e76 100644 --- a/locales/de/LC_MESSAGES/index.po +++ b/locales/de/LC_MESSAGES/index.po @@ -31,8 +31,8 @@ msgid "Translations are available" msgstr "Übersetzungen sind verfügbar" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "Wenn Sie mit Englisch nicht vertraut sind, sind Übersetzungen dieses Tutorials in `Deutsch `__ und `Español `__ verfügbar __, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__ und `中文(繁体) `__." +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "Wenn Sie mit Englisch nicht vertraut sind, sind Übersetzungen dieses Tutorials in [Deutsch]{1} und [Español]{2} verfügbar __, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6} und [中文(繁体)]{7}." #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 msgid "This is a machine translation!" @@ -44,8 +44,8 @@ msgstr "Diese Version des Tutorials wurde durch maschinelle Übersetzung erstell #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "Wenn du helfen möchtest, die Übersetzung zu verbessern, melde dich! Wir haben einen ``#translations``-Kanal in `Discord `__. Stellen Sie sich dort vor und wir werden Sie dem Übersetzungsteam hinzufügen." +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Wenn du helfen möchtest, die Übersetzung zu verbessern, melde dich! Wir haben einen `#translations`-Kanal in [Discord]{1}. Stellen Sie sich dort vor und wir werden Sie dem Übersetzungsteam hinzufügen." #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 msgid "This is a translation!" @@ -65,18 +65,18 @@ msgstr "BeeWare ist kein einzelnes Produkt, Werkzeug oder eine Bibliothek - es i #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e #, fuzzy -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__, ein plattformübergreifendes Widget-Toolkit;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, ein plattformübergreifendes Widget-Toolkit;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e #, fuzzy -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__, ein Werkzeug zum Verpacken von Python-Projekten als verteilbare Artefakte, die an Endbenutzer ausgeliefert werden können;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, ein Werkzeug zum Verpacken von Python-Projekten als verteilbare Artefakte, die an Endbenutzer ausgeliefert werden können;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc #, fuzzy -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "Bibliotheken (wie `Rubicon ObjC `__) für den Zugriff auf plattformspezifische Bibliotheken;" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Bibliotheken (wie [Rubicon ObjC]{1}) für den Zugriff auf plattformspezifische Bibliotheken;" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." @@ -96,6 +96,6 @@ msgid "Let's go!" msgstr "Los geht's!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? :doc:`Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? [Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen!][tutorial/tutorial-0]" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po index 5ae3dd14..b232e6e9 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po @@ -52,20 +52,20 @@ msgid "Start a new project" msgstr "Neues Projekt starten" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "Für dieses Tutorial werden wir nicht auf der Anwendung aus dem Kerntutorial aufbauen, sondern ein neues Projekt beginnen. Sie können dieselbe virtuelle Umgebung verwenden, die Sie im ersten Projekt verwendet haben. Wir müssen jedoch den Assistenten „Aktenkoffer neu“ erneut ausführen." #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" -msgstr "Wechseln Sie zurück in das Verzeichnis, das den Projektordner ``helloworld`` enthält, und starten Sie ein neues Projekt mit dem Namen „Hello Camera“:" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "Wechseln Sie zurück in das Verzeichnis, das den Projektordner `helloworld` enthält, und starten Sie ein neues Projekt mit dem Namen „Hello Camera“:" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f msgid "Add code to take a photo" msgstr "Fügen Sie Code hinzu, um ein Foto aufzunehmen" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" -msgstr "Der Assistent hat ein neues leeres Toga-Projekt generiert. Wir können jetzt den Code zum Aufnehmen und Anzeigen eines Fotos hinzufügen. Bearbeiten Sie die Datei ``app.py`` für die neue Anwendung, sodass sie den folgenden Inhalt hat:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "Der Assistent hat ein neues leeres Toga-Projekt generiert. Wir können jetzt den Code zum Aufnehmen und Anzeigen eines Fotos hinzufügen. Bearbeiten Sie die Datei `app.py` für die neue Anwendung, sodass sie den folgenden Inhalt hat:" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd #, fuzzy @@ -73,16 +73,16 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "Dieser Code weist gegenüber der von Briefcase generierten Standard-App zwei Änderungen auf. Diese Ergänzungen sind gelb hervorgehoben:" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." -msgstr "Der erste hervorgehobene Codeblock (in der Methode ``startup()``) fügt die beiden Widgets hinzu, die zur Steuerung der Kamera erforderlich sind: ein ``ImageView`` zum Anzeigen eines Fotos und einen ``Button`` zum Auslösen der Kamera." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "Der erste hervorgehobene Codeblock (in der Methode `startup()`) fügt die beiden Widgets hinzu, die zur Steuerung der Kamera erforderlich sind: ein `ImageView` zum Anzeigen eines Fotos und einen `Button` zum Auslösen der Kamera." #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "Der zweite hervorgehobene Codeblock (die Methode ``take_photo()``) definiert den Ereignishandler, wenn die Schaltfläche gedrückt wird. Dieser Handler bestätigt zunächst, ob die Anwendung die Berechtigung zum Aufnehmen eines Fotos hat. Wenn keine Berechtigung vorliegt, wird sie angefordert. Dann wird ein Foto aufgenommen. Die Anforderung der Berechtigung und die Anforderung zum Aufnehmen eines Fotos sind beide asynchrone Anforderungen, sodass die Verwendung von ``await`` erforderlich ist. Während die App darauf wartet, dass der Benutzer die Berechtigung bestätigt oder das Foto aufnimmt, kann die Ereignisschleife der App im Hintergrund fortgesetzt werden." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "Der zweite hervorgehobene Codeblock (die Methode `take_photo()`) definiert den Ereignishandler, wenn die Schaltfläche gedrückt wird. Dieser Handler bestätigt zunächst, ob die Anwendung die Berechtigung zum Aufnehmen eines Fotos hat. Wenn keine Berechtigung vorliegt, wird sie angefordert. Dann wird ein Foto aufgenommen. Die Anforderung der Berechtigung und die Anforderung zum Aufnehmen eines Fotos sind beide asynchrone Anforderungen, sodass die Verwendung von `await` erforderlich ist. Während die App darauf wartet, dass der Benutzer die Berechtigung bestätigt oder das Foto aufnimmt, kann die Ereignisschleife der App im Hintergrund fortgesetzt werden." #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt zurück, das als Inhalt der ``ImageView`` zugewiesen werden kann. Wenn die Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf ``self.camera.take_photo()`` ``None`` zurück und das Ergebnis kann ignoriert werden. Wenn der Benutzer keine Berechtigung zur Verwendung der Kamera erteilt oder die Kamera auf der aktuellen Plattform nicht implementiert ist, wird ein Fehler ausgelöst und dem Benutzer ein Dialogfeld angezeigt." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt zurück, das als Inhalt der `ImageView` zugewiesen werden kann. Wenn die Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf `self.camera.take_photo()` `None` zurück und das Ergebnis kann ignoriert werden. Wenn der Benutzer keine Berechtigung zur Verwendung der Kamera erteilt oder die Kamera auf der aktuellen Plattform nicht implementiert ist, wird ein Fehler ausgelöst und dem Benutzer ein Dialogfeld angezeigt." #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 msgid "Adding device permissions" @@ -98,8 +98,8 @@ msgstr "Diese Anfrage besteht aus zwei Teilen. Der erste Teil befindet sich im C #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c #, fuzzy -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" -msgstr "Die für jede Plattform erforderlichen Berechtigungen unterscheiden sich geringfügig, aber Briefcase bietet eine plattformübergreifende Darstellung für viele gängige Hardwareberechtigungen. Fügen Sie im Konfigurationsabschnitt ``[tool.briefcase.app.helloworld]`` der Datei ``pyproject.toml`` Ihrer App Folgendes hinzu (direkt über der Deklaration ``Sources``):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "Die für jede Plattform erforderlichen Berechtigungen unterscheiden sich geringfügig, aber Briefcase bietet eine plattformübergreifende Darstellung für viele gängige Hardwareberechtigungen. Fügen Sie im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` der Datei `pyproject.toml` Ihrer App Folgendes hinzu (direkt über der Deklaration `Sources`):" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." @@ -126,6 +126,6 @@ msgid "Adding more permissions" msgstr "Weitere Berechtigungen hinzufügen" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von ``briefcase create`` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie ``briefcase create`` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von `briefcase create` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie `briefcase create` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." diff --git a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po index 892ea09c..9a7275a0 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -31,15 +31,15 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "Jede Plattform verwendet ein anderes Format für Anwendungssymbole – und einige Plattformen benötigen *mehrere* Symbole in unterschiedlichen Größen und Formen. Um dies zu berücksichtigen, bietet Briefcase eine Kurzform, mit der Sie ein Symbol einmal konfigurieren und diese Definition dann auf alle verschiedenen Symbole erweitern können, die für jede einzelne Plattform erforderlich sind." #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" -msgstr "Bearbeiten Sie Ihr ``pyproject.toml`` und fügen Sie ein neues Konfigurationselement ``Symbol`` im Konfigurationsabschnitt ``[tool.briefcase.app.helloworld]`` direkt über der Definition von ``Quellen`` hinzu::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +msgstr "Bearbeiten Sie Ihr `pyproject.toml` und fügen Sie ein neues Konfigurationselement `Symbol` im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` direkt über der Definition von `Quellen` hinzu:" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." msgstr "" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/topics/custom-icons.rst:36 @@ -82,7 +82,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -94,11 +94,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -106,30 +106,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**Kommt bald**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "Wir haben jetzt eine Anwendung mit einem eigenen Symbol auf unserem Desktop und Telefon! Wie können wir diese Anwendung mit allen anderen teilen? Schau dir :doc:`Tutorial 11 ` an, um das herauszufinden..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Wir haben jetzt eine Anwendung mit einem eigenen Symbol auf unserem Desktop und Telefon! Wie können wir diese Anwendung mit allen anderen teilen? Schau dir [Tutorial 11][tutorial-11] an, um das herauszufinden..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "Tutorial 10 - Machen Sie diese Anwendung zu Ihrer eigenen" @@ -137,6 +137,6 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "Nächste Schritte" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/testing.po b/locales/de/LC_MESSAGES/tutorial/topics/testing.po index 109e7d11..217b0524 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/testing.po @@ -32,18 +32,18 @@ msgstr "Ausführen der Testsuite" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der obersten Ebene erzeugt: ``src`` und ``tests``. Der Ordner ``src`` enthält den Code für unsere Anwendung; der Ordner ``tests`` enthält unsere Testsuite. Innerhalb des Ordners ``tests`` befindet sich eine Datei namens ``test_app.py`` mit folgendem Inhalt::" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der obersten Ebene erzeugt: `src` und `tests`. Der Ordner `src` enthält den Code für unsere Anwendung; der Ordner `tests` enthält unsere Testsuite. Innerhalb des Ordners `tests` befindet sich eine Datei namens `test_app.py` mit folgendem Inhalt:" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 #, fuzzy -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Dies ist ein `Pytest `__ *Testfall* - ein Codeblock, der ausgeführt werden kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - aber es ist ein Test, den wir durchführen können." +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Dies ist ein [Pytest]{1} *Testfall* - ein Codeblock, der ausgeführt werden kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - aber es ist ein Test, den wir durchführen können." #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 #, fuzzy -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "Wir können diese Testsuite mit der Option ``--test`` für ``briefcase dev`` ausführen. Da dies das erste Mal ist, dass wir Tests ausführen, müssen wir auch die Option ``-r`` übergeben, um sicherzustellen, dass die Testanforderungen auch installiert werden:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Wir können diese Testsuite mit der Option `--test` für `briefcase dev` ausführen. Da dies das erste Mal ist, dass wir Tests ausführen, müssen wir auch die Option `-r` übergeben, um sicherzustellen, dass die Testanforderungen auch installiert werden:" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 #: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 @@ -76,8 +76,8 @@ msgstr "Erfolgreich! Wir haben soeben einen einzigen Test durchgeführt, der bes #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "Lassen Sie uns diesen Platzhaltertest durch einen Test ersetzen, der überprüft, ob sich unsere Methode ``Gruß()`` so verhält, wie wir es erwarten. Ersetzen Sie den Inhalt von ``test_app.py`` durch den folgenden::" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Lassen Sie uns diesen Platzhaltertest durch einen Test ersetzen, der überprüft, ob sich unsere Methode `Gruß()` so verhält, wie wir es erwarten. Ersetzen Sie den Inhalt von `test_app.py` durch den folgenden:" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe #, fuzzy @@ -86,13 +86,13 @@ msgstr "Dies definiert zwei neue Tests, die beiden erwarteten Verhaltensweisen #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "Wir können nun die Testsuite erneut ausführen. Diesmal brauchen wir die Option ``-r`` nicht, da die Testanforderungen bereits installiert wurden; wir müssen nur die Option ``--test`` verwenden:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Wir können nun die Testsuite erneut ausführen. Diesmal brauchen wir die Option `-r` nicht, da die Testanforderungen bereits installiert wurden; wir müssen nur die Option `--test` verwenden:" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 #, fuzzy -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "Ausgezeichnet! Unsere Utility-Methode ``Gruß()`` funktioniert wie erwartet." +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Ausgezeichnet! Unsere Utility-Methode `Gruß()` funktioniert wie erwartet." #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 #, fuzzy @@ -101,8 +101,8 @@ msgstr "Testgetriebene Entwicklung" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "Jetzt, da wir eine Test-Suite haben, können wir sie nutzen, um die Entwicklung neuer Funktionen voranzutreiben. Ändern wir unsere Anwendung, um eine spezielle Begrüßung für einen bestimmten Benutzer zu erhalten. Wir können damit beginnen, indem wir einen Testfall für das neue Verhalten, das wir gerne sehen möchten, am Ende von ``test_app.py`` hinzufügen::" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Jetzt, da wir eine Test-Suite haben, können wir sie nutzen, um die Entwicklung neuer Funktionen voranzutreiben. Ändern wir unsere Anwendung, um eine spezielle Begrüßung für einen bestimmten Benutzer zu erhalten. Wir können damit beginnen, indem wir einen Testfall für das neue Verhalten, das wir gerne sehen möchten, am Ende von `test_app.py` hinzufügen:" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 #, fuzzy @@ -111,8 +111,8 @@ msgstr "Führen Sie dann die Testsuite mit diesem neuen Test aus:" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "Dieses Mal sehen wir einen Testfehler - und die Ausgabe erklärt die Quelle des Fehlers: der Test erwartet die Ausgabe \"BeeWare the IDEs of Python!\", aber unsere Implementierung von ``Gruß()`` gibt \"Hallo, Brutus\" zurück. Ändern wir die Implementierung von ``Gruß()`` in ``src/helloworld/app.py``, um das neue Verhalten zu erhalten::" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Dieses Mal sehen wir einen Testfehler - und die Ausgabe erklärt die Quelle des Fehlers: der Test erwartet die Ausgabe \"BeeWare the IDEs of Python!\", aber unsere Implementierung von `Gruß()` gibt \"Hallo, Brutus\" zurück. Ändern wir die Implementierung von `Gruß()` in `src/helloworld/app.py`, um das neue Verhalten zu erhalten:" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 #, fuzzy @@ -130,18 +130,18 @@ msgstr "Bislang haben wir die Tests im Entwicklungsmodus ausgeführt. Dies ist b #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 #, fuzzy -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Die Optionen ``--test`` und ``-r`` können auch an den Befehl ``run`` übergeben werden. Wenn Sie ``briefcase run --test -r`` verwenden, wird die gleiche Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in Ihrer Entwicklungsumgebung:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Die Optionen `--test` und `-r` können auch an den Befehl `run` übergeben werden. Wenn Sie `briefcase run --test -r` verwenden, wird die gleiche Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in Ihrer Entwicklungsumgebung:" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 #, fuzzy -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Wie bei ``briefcase dev --test`` wird die Option ``-r`` nur bei der ersten Ausführung der Testsuite benötigt, um sicherzustellen, dass die Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese Option weglassen." +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Wie bei `briefcase dev --test` wird die Option `-r` nur bei der ersten Ausführung der Testsuite benötigt, um sicherzustellen, dass die Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese Option weglassen." #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c #, fuzzy -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "Sie können auch die Option ``--test`` auf mobilen Backends verwenden: - so funktionieren ``briefcase run iOS --test`` und ``briefcase run android --test``, die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Sie können auch die Option `--test` auf mobilen Backends verwenden: - so funktionieren `briefcase run iOS --test` und `briefcase run android --test`, die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." #~ msgid "Next steps" #~ msgstr "Nächste Schritte" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po index 2afc8638..e60cd64f 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -38,13 +38,13 @@ msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der `Python-Website `_ herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 #, fuzzy -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." -msgstr "Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können Python über `homebrew `__ installieren. Sie können `pyenv `__ verwenden, um mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-Benutzer können Python aus dem Windows App Store installieren. Für Benutzer mit einem datenwissenschaftlichen Hintergrund könnten auch `Anaconda `__ oder `Miniconda `__ interessant sein." +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können Python über [homebrew]{1} installieren. Sie können [pyenv]{2} verwenden, um mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-Benutzer können Python aus dem Windows App Store installieren. Für Benutzer mit einem datenwissenschaftlichen Hintergrund könnten auch [Anaconda]{3} oder [Miniconda]{4} interessant sein." #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -65,8 +65,8 @@ msgid "Linux" msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "Unter Linux installieren Sie Python mit dem Paketmanager des Systems (``apt`` unter Debian/Ubuntu/Mint, ``dnf`` unter Fedora, oder ``pacman`` unter Arch)." +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Unter Linux installieren Sie Python mit dem Paketmanager des Systems (`apt` unter Debian/Ubuntu/Mint, `dnf` unter Fedora, oder `pacman` unter Arch)." #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -89,8 +89,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der `Python-Website `_ herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -99,8 +99,8 @@ msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "Unter macOS oder Windows ist es egal, *wie* Sie Python installiert haben - wichtig ist nur, dass Sie ``python3`` über die Eingabeaufforderung/Terminalanwendung Ihres Betriebssystems ausführen können und einen funktionierenden Python-Interpreter erhalten." +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Unter macOS oder Windows ist es egal, *wie* Sie Python installiert haben - wichtig ist nur, dass Sie `python3` über die Eingabeaufforderung/Terminalanwendung Ihres Betriebssystems ausführen können und einen funktionierenden Python-Interpreter erhalten." #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 msgid "Install dependencies" @@ -143,8 +143,8 @@ msgid "Building BeeWare apps on Windows requires:" msgstr "Die Erstellung von BeeWare-Anwendungen unter Windows erfordert:" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git**, ein Versionskontrollsystem. Sie können Git von `git-scm.com `__ herunterladen." +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, ein Versionskontrollsystem. Sie können Git von [git-scm.com]{1} herunterladen." #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." @@ -159,7 +159,7 @@ msgid "We're now going to create a virtual environment - a \"sandbox\" that we c msgstr "Wir werden nun eine virtuelle Umgebung erstellen - eine \"Sandbox\", die wir verwenden können, um unsere Arbeit an diesem Tutorial von unserer Haupt-Python-Installation zu isolieren. Wenn wir Pakete in die virtuelle Umgebung installieren, wird unsere Haupt-Python-Installation (und alle anderen Python-Projekte auf unserem Computer) davon nicht betroffen sein. Wenn wir unsere virtuelle Umgebung komplett durcheinander bringen, können wir sie einfach löschen und neu beginnen, ohne dass andere Python-Projekte auf unserem Computer betroffen sind und ohne dass wir Python neu installieren müssen." #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." msgstr "" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 @@ -167,48 +167,48 @@ msgid "Errors running PowerShell Scripts" msgstr "Fehler bei der Ausführung von PowerShell-Skripten" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error::" -msgstr "Wenn Sie PowerShell verwenden und die folgende Fehlermeldung erhalten::" +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Wenn Sie PowerShell verwenden und die folgende Fehlermeldung erhalten:" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "Ihr Windows-Konto hat keine Berechtigung zum Ausführen von Skripten. So beheben Sie dies:" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." -msgstr "Führen Sie `Windows Powershell als Administrator aus `_." +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "Führen Sie [Windows Powershell als Administrator aus]{1}." #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "Führen Sie ``set-executionpolicy RemoteSigned`` aus" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Führen Sie `set-executionpolicy RemoteSigned` aus" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select ``Y`` to change the execution policy." -msgstr "Wählen Sie ``Y``, um die Ausführungspolitik zu ändern." +msgid "Select `Y` to change the execution policy." +msgstr "Wählen Sie `Y`, um die Ausführungspolitik zu ändern." #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "Danach können Sie ``beeware-venv\\Scripts\\activate.ps1`` in Ihrer ursprünglichen PowerShell-Sitzung (oder in einer neuen Sitzung im selben Verzeichnis) erneut ausführen." +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Danach können Sie `beeware-venv\\Scripts\\activate.ps1` in Ihrer ursprünglichen PowerShell-Sitzung (oder in einer neuen Sitzung im selben Verzeichnis) erneut ausführen." #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "Wenn dies geklappt hat, sollte Ihre Eingabeaufforderung nun geändert sein - sie sollte ein ``(beeware-venv)``-Präfix haben. Dies zeigt Ihnen, dass Sie sich gerade in Ihrer virtuellen BeeWare-Umgebung befinden. Wann immer Sie an diesem Tutorial arbeiten, sollten Sie sicherstellen, dass Ihre virtuelle Umgebung aktiviert ist. Ist dies nicht der Fall, führen Sie den letzten Befehl (den Befehl ``activate``) erneut aus, um Ihre Umgebung wieder zu aktivieren." +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Wenn dies geklappt hat, sollte Ihre Eingabeaufforderung nun geändert sein - sie sollte ein `(beeware-venv)`-Präfix haben. Dies zeigt Ihnen, dass Sie sich gerade in Ihrer virtuellen BeeWare-Umgebung befinden. Wann immer Sie an diesem Tutorial arbeiten, sollten Sie sicherstellen, dass Ihre virtuelle Umgebung aktiviert ist. Ist dies nicht der Fall, führen Sie den letzten Befehl (den Befehl `activate`) erneut aus, um Ihre Umgebung wieder zu aktivieren." #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd msgid "Alternative virtual environments" msgstr "Alternative virtuelle Umgebungen" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "Wenn Sie Anaconda oder miniconda benutzen, sind Sie vielleicht mehr mit der Verwendung von conda-Umgebungen vertraut. Vielleicht haben Sie auch schon von ``virtualenv`` gehört, einem Vorgänger von Pythons eingebautem ``venv`` Modul. Wie bei Python-Installationen ist es unter macOS oder Windows egal, *wie* Sie Ihre virtuelle Umgebung erstellen, solange Sie eine haben. Wenn Sie unter Linux arbeiten, sollten Sie sich an ``venv`` und das System-Python halten." +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Wenn Sie Anaconda oder miniconda benutzen, sind Sie vielleicht mehr mit der Verwendung von conda-Umgebungen vertraut. Vielleicht haben Sie auch schon von `virtualenv` gehört, einem Vorgänger von Pythons eingebautem `venv` Modul. Wie bei Python-Installationen ist es unter macOS oder Windows egal, *wie* Sie Ihre virtuelle Umgebung erstellen, solange Sie eine haben. Wenn Sie unter Linux arbeiten, sollten Sie sich an `venv` und das System-Python halten." #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" msgstr "Nächste Schritte" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, :doc:`unsere erste BeeWare-Anwendung zu erstellen `." +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, [unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "Öffnen Sie Windows PowerShell als Administrator." @@ -228,6 +228,6 @@ msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, :doc:`uns #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "Wenn Python installiert ist, wird die Versionsnummer angezeigt. Andernfalls werden Sie aufgefordert, die Entwicklerwerkzeuge für die Kommandozeile zu installieren." -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von `der Python-Website `_ herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von [der Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po index f3f9f476..13911352 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -28,8 +28,8 @@ msgid "Install the BeeWare tools" msgstr "Installieren Sie die BeeWare-Tools" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" -msgstr "Zunächst müssen wir **Briefcase** installieren. Briefcase ist ein BeeWare-Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis ``beeware-tutorial`` befinden, das Sie in :doc:`Tutorial 0 ` erstellt haben, und dass die virtuelle Umgebung ``beeware-venv`` aktiviert ist, und starten Sie:" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Zunächst müssen wir **Briefcase** installieren. Briefcase ist ein BeeWare-Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis `beeware-tutorial` befinden, das Sie in [Tutorial 0][tutorial-0] erstellt haben, und dass die virtuelle Umgebung `beeware-venv` aktiviert ist, und starten Sie:" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -51,8 +51,8 @@ msgid "Possible errors during installation" msgstr "Mögliche Fehler bei der Installation" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." -msgstr "Wenn Sie während der Installation Fehler sehen, liegt das höchstwahrscheinlich daran, dass einige der Systemvoraussetzungen nicht installiert wurden. Stellen Sie sicher, dass Sie :ref:`alle Plattformvoraussetzungen ` installiert haben." +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Wenn Sie während der Installation Fehler sehen, liegt das höchstwahrscheinlich daran, dass einige der Systemvoraussetzungen nicht installiert wurden. Stellen Sie sicher, dass Sie [alle Plattformvoraussetzungen ][install-dependencies] installiert haben." #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -62,37 +62,37 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "Es ist wichtig, dass Sie ``python -m pip`` und nicht ``pip`` verwenden. Briefcase muss sicherstellen, dass es eine aktuelle Version von ``pip`` und ``setuptools`` hat, und ein bloßer Aufruf von ``pip`` kann sich nicht selbst aktualisieren. Wenn Sie mehr darüber wissen wollen, hat `Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem `__." +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "Es ist wichtig, dass Sie `python -m pip` und nicht `pip` verwenden. Briefcase muss sicherstellen, dass es eine aktuelle Version von `pip` und `setuptools` hat, und ein bloßer Aufruf von `pip` kann sich nicht selbst aktualisieren. Wenn Sie mehr darüber wissen wollen, hat [Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem]{1}." #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd msgid "Bootstrap a new project" msgstr "Erstellen Sie ein neues Projekt" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Beginnen wir mit unserem ersten BeeWare-Projekt! Wir werden den Briefcase-Befehl ``new`` verwenden, um eine Anwendung namens **Hello World** zu erstellen. Führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus:" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Beginnen wir mit unserem ersten BeeWare-Projekt! Wir werden den Briefcase-Befehl `new` verwenden, um eine Anwendung namens **Hello World** zu erstellen. Führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus:" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" msgstr "Briefcase wird uns nach einigen Details zu unserer neuen Anwendung fragen. Verwenden Sie für dieses Tutorial die folgenden Angaben:" #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**Formaler Name** - Akzeptieren Sie den Standardwert: ``Hello World``." +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formaler Name** - Akzeptieren Sie den Standardwert: `Hello World`." #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**App Name** - Akzeptieren Sie den Standardwert: ``helloworld``." +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** - Akzeptieren Sie den Standardwert: `helloworld`." #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." -msgstr "**Bundle** - Wenn Sie eine eigene Domain besitzen, geben Sie diese in umgekehrter Reihenfolge an. (Wenn Sie zum Beispiel die Domain \"cupcakes.com\" besitzen, geben Sie ``com.cupcakes`` als Bundle ein). Wenn Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle (``com.example``)." +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Wenn Sie eine eigene Domain besitzen, geben Sie diese in umgekehrter Reihenfolge an. (Wenn Sie zum Beispiel die Domain \"cupcakes.com\" besitzen, geben Sie `com.cupcakes` als Bundle ein). Wenn Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle (`com.example`)." #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**Projektname** - Übernehmen Sie den Standardwert: ``Hello World``." +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Projektname** - Übernehmen Sie den Standardwert: `Hello World`." #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" @@ -109,8 +109,8 @@ msgstr "**Author's email** - Geben Sie Ihre eigene E-Mail-Adresse ein. Diese wir #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - Die URL der Landing Page für Ihre Anwendung. Auch hier gilt: Wenn Sie Ihre eigene Domain besitzen, geben Sie eine URL auf dieser Domain ein (einschließlich ``https://``). Ansonsten akzeptieren Sie einfach die Standard-URL (``https://example.com/helloworld``). Diese URL muss (vorerst) nicht tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in einem App Store veröffentlichen." +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - Die URL der Landing Page für Ihre Anwendung. Auch hier gilt: Wenn Sie Ihre eigene Domain besitzen, geben Sie eine URL auf dieser Domain ein (einschließlich `https://`). Ansonsten akzeptieren Sie einfach die Standard-URL (`https://example.com/helloworld`). Diese URL muss (vorerst) nicht tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in einem App Store veröffentlichen." #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 #, fuzzy @@ -122,12 +122,12 @@ msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI to msgstr "**GUI-Framework** - Akzeptieren Sie die Standardoption Toga (BeeWare's eigenes GUI-Toolkit)." #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" -msgstr "Briefcase generiert dann ein Projektgerüst, das Sie verwenden können. Wenn Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase generiert dann ein Projektgerüst, das Sie verwenden können. Wenn Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen:" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Dieses Gerüst ist bereits eine voll funktionsfähige Anwendung, ohne etwas anderes hinzufügen zu müssen. Der Ordner ``rc`` enthält den gesamten Code für die Anwendung, der Ordner ``tests`` enthält eine erste Testreihe und die Datei ``pyproject.toml`` beschreibt, wie die Anwendung für die Verteilung verpackt werden soll. Wenn Sie die Datei ``pyproject.toml`` in einem Editor öffnen, sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt haben." +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Dieses Gerüst ist bereits eine voll funktionsfähige Anwendung, ohne etwas anderes hinzufügen zu müssen. Der Ordner `rc` enthält den gesamten Code für die Anwendung, der Ordner `tests` enthält eine erste Testreihe und die Datei `pyproject.toml` beschreibt, wie die Anwendung für die Verteilung verpackt werden soll. Wenn Sie die Datei `pyproject.toml` in einem Editor öffnen, sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt haben." #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a msgid "Now that we have a stub application, we can use Briefcase to run the application." @@ -139,8 +139,8 @@ msgstr "Führen Sie die Anwendung im Entwicklermodus aus" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c #, fuzzy -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "Wechseln Sie in das ``helloworld`` Projektverzeichnis und sagen Sie briefcase, daß es das Projekt im Developer (oder ``dev``) Modus starten soll:" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Wechseln Sie in das `helloworld` Projektverzeichnis und sagen Sie briefcase, daß es das Projekt im Developer (oder `dev`) Modus starten soll:" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 msgid "This should open a GUI window:" @@ -167,7 +167,7 @@ msgid "If you encounter the error:" msgstr "" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." msgstr "" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f @@ -176,7 +176,7 @@ msgstr "" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" msgstr "Drücken Sie die Schaltfläche \"Schließen\" (oder wählen Sie \"Beenden\" aus dem Menü der Anwendung), und Sie sind fertig! Herzlichen Glückwunsch - Sie haben gerade eine eigenständige, native Anwendung in Python geschrieben!" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b @@ -184,8 +184,8 @@ msgid "Next steps" msgstr "Nächste Schritte" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." -msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere Anwendung etwas Interessanteres tut. In :doc:`Tutorial 2 ` werden wir unserer Anwendung eine nützlichere Benutzeroberfläche geben." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir unserer Anwendung eine nützlichere Benutzeroberfläche geben." #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Eines der BeeWare-Tools ist **Briefcase**. Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - es kann aber auch zur Erstellung eines neuen Projekts verwendet werden." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index 84cd1a6a..dfc5d55e 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -19,66 +19,66 @@ msgid "Tutorial 2 - Making it interesting" msgstr "Tutorial 2 - Es wird interessant" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "In :doc:`Tutorial 1 ` haben wir ein lauffähiges Rumpfprojekt erstellt, aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für uns generiert wurde." +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "In [Tutorial 1][tutorial-1] haben wir ein lauffähiges Rumpfprojekt erstellt, aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für uns generiert wurde." #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 msgid "What was generated" msgstr "Was generiert wurde" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." -msgstr "In dem Verzeichnis ``src/helloworld`` sollten 3 Dateien zu sehen sein: ``__init__.py``, ``__main__.py`` und ``app.py``." +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "In dem Verzeichnis `src/helloworld` sollten 3 Dateien zu sehen sein: `__init__.py`, `__main__.py` und `app.py`." #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` markiert das ``helloworld``-Verzeichnis als importierbares Python-Modul. Es ist eine leere Datei; allein die Tatsache, dass sie existiert, sagt dem Python-Interpreter, dass das ``helloworld``-Verzeichnis ein Modul definiert." +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` markiert das `helloworld`-Verzeichnis als importierbares Python-Modul. Es ist eine leere Datei; allein die Tatsache, dass sie existiert, sagt dem Python-Interpreter, dass das `helloworld`-Verzeichnis ein Modul definiert." #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "``__main__.py`` markiert das ``helloworld`` Modul als eine besondere Art von Modul - ein ausführbares Modul. Wenn Sie versuchen, das Modul ``helloworld`` mit ``python -m helloworld`` zu starten, ist die Datei ``__main__.py`` der Ort, an dem Python mit der Ausführung beginnt. Der Inhalt von ``__main__.py`` ist relativ einfach::" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` markiert das `helloworld` Modul als eine besondere Art von Modul - ein ausführbares Modul. Wenn Sie versuchen, das Modul `helloworld` mit `python -m helloworld` zu starten, ist die Datei `__main__.py` der Ort, an dem Python mit der Ausführung beginnt. Der Inhalt von `__main__.py` ist relativ einfach:" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." +msgid "It imports the `main` method from from the `helloworld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc #, fuzzy msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Das heißt, es importiert die Methode ``main`` aus der Anwendung ``helloworld``; und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks und Tastatureingaben) wartet." +msgstr "Das heißt, es importiert die Methode `main` aus der Anwendung `helloworld`; und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks und Tastatureingaben) wartet." #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 #, fuzzy -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "Die interessantere Datei ist ``app.py`` - diese enthält die Logik, die unser Anwendungsfenster erstellt::" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "Die interessantere Datei ist `app.py` - diese enthält die Logik, die unser Anwendungsfenster erstellt:" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 #, fuzzy -msgid "Let's go through this line by line::" -msgstr "Gehen wir diese Zeile für Zeile durch::" +msgid "Let's go through this line by line:" +msgstr "Gehen wir diese Zeile für Zeile durch:" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d #, fuzzy -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Als erstes importieren wir das ``toga``-Widget-Toolkit, sowie einige stilbezogene Utility-Klassen und Konstanten. Unser Code verwendet diese noch nicht - aber wir werden sie in Kürze nutzen." +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Als erstes importieren wir das `toga`-Widget-Toolkit, sowie einige stilbezogene Utility-Klassen und Konstanten. Unser Code verwendet diese noch nicht - aber wir werden sie in Kürze nutzen." #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class::" -msgstr "Definieren wir eine Klasse::" +msgid "Then, we define a class:" +msgstr "Definieren wir eine Klasse:" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a #, fuzzy -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Jede Toga-Anwendung hat eine einzige ``toga.App``-Instanz, die laufende Entität, die Anwendung, darstellt. Die Anwendung kann mehrere Fenster verwalten, aber für einfache Anwendungen gibt es ein einziges Hauptfenster." +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Jede Toga-Anwendung hat eine einzige `toga.App`-Instanz, die laufende Entität, die Anwendung, darstellt. Die Anwendung kann mehrere Fenster verwalten, aber für einfache Anwendungen gibt es ein einziges Hauptfenster." #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 #, fuzzy -msgid "Next, we define a ``startup()`` method::" -msgstr "Als nächstes definieren wir eine ``Startup()`` Methode::" +msgid "Next, we define a `startup()` method:" +msgstr "Als nächstes definieren wir eine `Startup()` Methode:" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 #, fuzzy @@ -92,13 +92,13 @@ msgstr "In dieser Anwendung definieren wir ein einzelnes Feld, in das wir jedoch #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 #, fuzzy -msgid "Next, we define a window into which we can put this empty box::" -msgstr "Als Nächstes definieren wir ein Fenster, in das wir dieses leere Feld einfügen können::" +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Als Nächstes definieren wir ein Fenster, in das wir dieses leere Feld einfügen können:" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 #, fuzzy -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Dies erzeugt eine Instanz eines ``toga.MainWindow``, das einen Titel hat, der dem Namen der Anwendung entspricht. Ein Hauptfenster ist eine besondere Art von Fenster in Toga - es ist ein Fenster, das eng an den Lebenszyklus der Anwendung gebunden ist. Wenn das Hauptfenster geschlossen wird, wird die Anwendung beendet. Das Hauptfenster ist auch das Fenster, in dem sich das Menü der Anwendung befindet (wenn Sie auf einer Plattform wie Windows arbeiten, wo die Menüleisten Teil des Fensters sind)" +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Dies erzeugt eine Instanz eines `toga.MainWindow`, das einen Titel hat, der dem Namen der Anwendung entspricht. Ein Hauptfenster ist eine besondere Art von Fenster in Toga - es ist ein Fenster, das eng an den Lebenszyklus der Anwendung gebunden ist. Wenn das Hauptfenster geschlossen wird, wird die Anwendung beendet. Das Hauptfenster ist auch das Fenster, in dem sich das Menü der Anwendung befindet (wenn Sie auf einer Plattform wie Windows arbeiten, wo die Menüleisten Teil des Fensters sind)" #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -110,18 +110,18 @@ msgstr "" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" -msgstr "Dann fügen wir unsere leere Box als Inhalt des Hauptfensters hinzu und weisen die Anwendung an, unser Fenster anzuzeigen::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Dann fügen wir unsere leere Box als Inhalt des Hauptfensters hinzu und weisen die Anwendung an, unser Fenster anzuzeigen:" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 #, fuzzy -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "Als letztes definieren wir eine ``main()`` Methode. Diese erzeugt die Instanz unserer Anwendung::" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Als letztes definieren wir eine `main()` Methode. Diese erzeugt die Instanz unserer Anwendung:" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa #, fuzzy -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "Diese ``main()`` Methode ist diejenige, die von ``__main__.py`` importiert und aufgerufen wird. Sie erzeugt eine Instanz unserer ``HelloWorld``-Anwendung und gibt diese zurück." +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Diese `main()` Methode ist diejenige, die von `__main__.py` importiert und aufgerufen wird. Sie erzeugt eine Instanz unserer `HelloWorld`-Anwendung und gibt diese zurück." #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c #, fuzzy @@ -134,18 +134,18 @@ msgid "Adding some content of our own" msgstr "Hinzufügen von eigenen Inhalten" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." +msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "Entfernen Sie nicht die Importe am Anfang der Datei oder ``main()`` am Ende. Sie müssen nur die Klasse ``HelloWorld`` aktualisieren." +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Entfernen Sie nicht die Importe am Anfang der Datei oder `main()` am Ende. Sie müssen nur die Klasse `HelloWorld` aktualisieren." #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 #, fuzzy -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "Ändern Sie Ihre ``HelloWorld`` Klasse in ``src/helloworld/app.py`` so, dass sie wie folgt aussieht::" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Ändern Sie Ihre `HelloWorld` Klasse in `src/helloworld/app.py` so, dass sie wie folgt aussieht:" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 #, fuzzy @@ -154,22 +154,22 @@ msgstr "Schauen wir uns im Detail an, was sich geändert hat." #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 #, fuzzy -msgid "We're still creating a main box; however, we are now applying a style::" -msgstr "Wir erstellen immer noch ein Hauptfeld, aber wir wenden jetzt einen Stil an::" +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Wir erstellen immer noch ein Hauptfeld, aber wir wenden jetzt einen Stil an:" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Das in Toga eingebaute Layoutsystem heißt \"Pack\". Es verhält sich sehr ähnlich wie CSS. Sie definieren Objekte in einer Hierarchie - in HTML sind die Objekte ``
``, ```` und andere DOM-Elemente; in Toga sind es Widgets und Boxen. Sie können dann den einzelnen Elementen Stile zuweisen. In diesem Fall geben wir an, dass es sich um einen ``COLUMN``-Kasten handelt - das heißt, es handelt sich um einen Kasten, der die gesamte verfügbare Breite beansprucht und sich in der Höhe vergrößert, wenn Inhalt hinzugefügt wird, aber er versucht, so kurz wie möglich zu sein." +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Das in Toga eingebaute Layoutsystem heißt \"Pack\". Es verhält sich sehr ähnlich wie CSS. Sie definieren Objekte in einer Hierarchie - in HTML sind die Objekte `
`, `` und andere DOM-Elemente; in Toga sind es Widgets und Boxen. Sie können dann den einzelnen Elementen Stile zuweisen. In diesem Fall geben wir an, dass es sich um einen `COLUMN`-Kasten handelt - das heißt, es handelt sich um einen Kasten, der die gesamte verfügbare Breite beansprucht und sich in der Höhe vergrößert, wenn Inhalt hinzugefügt wird, aber er versucht, so kurz wie möglich zu sein." #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" msgstr "" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 #, fuzzy -msgid "Next, we define a couple of widgets::" -msgstr "Als nächstes definieren wir ein paar Widgets::" +msgid "Next, we define a couple of widgets:" +msgstr "Als nächstes definieren wir ein paar Widgets:" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 #, fuzzy @@ -183,18 +183,18 @@ msgstr "Der TextInput wird als Instanzvariable der Klasse zugewiesen. Dies ermö #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c #, fuzzy -msgid "Next, we define a box to hold these two widgets::" -msgstr "Als nächstes definieren wir eine Box, die diese beiden Widgets enthält::" +msgid "Next, we define a box to hold these two widgets:" +msgstr "Als nächstes definieren wir eine Box, die diese beiden Widgets enthält:" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 #, fuzzy -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "Die ``name_box`` ist eine Box genau wie die Hauptbox, aber dieses Mal ist es eine ``ROW``-Box. Das bedeutet, daß der Inhalt horizontal eingefügt wird, und daß versucht wird, die Breite so schmal wie möglich zu machen. Die Box hat auch etwas Padding - 5px auf allen Seiten." +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "Die `name_box` ist eine Box genau wie die Hauptbox, aber dieses Mal ist es eine `ROW`-Box. Das bedeutet, daß der Inhalt horizontal eingefügt wird, und daß versucht wird, die Breite so schmal wie möglich zu machen. Die Box hat auch etwas Padding - 5px auf allen Seiten." #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 #, fuzzy -msgid "Now we define a button::" -msgstr "Jetzt definieren wir eine Schaltfläche::" +msgid "Now we define a button:" +msgstr "Jetzt definieren wir eine Schaltfläche:" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 #, fuzzy @@ -203,18 +203,18 @@ msgstr "Die Schaltfläche hat auch 5px Polsterung auf allen Seiten. Wir definier #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 #, fuzzy -msgid "Then, we add the name box and the button to the main box::" -msgstr "Dann fügen wir das Namensfeld und die Schaltfläche zum Hauptfeld hinzu::" +msgid "Then, we add the name box and the button to the main box:" +msgstr "Dann fügen wir das Namensfeld und die Schaltfläche zum Hauptfeld hinzu:" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" -msgstr "Damit ist unser Layout fertiggestellt; der Rest der Startup-Methode ist wie zuvor - Definition eines MainWindow und Zuweisung des Hauptfeldes als Inhalt des Fensters::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Damit ist unser Layout fertiggestellt; der Rest der Startup-Methode ist wie zuvor - Definition eines MainWindow und Zuweisung des Hauptfeldes als Inhalt des Fensters:" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" -msgstr "Als Letztes müssen wir den Handler für die Schaltfläche definieren. Ein Handler kann eine beliebige Methode, ein Generator oder eine asynchrone Co-Routine sein; er akzeptiert das Widget, das Ereignis erzeugt hat, als Argument und wird immer dann aufgerufen, wenn die Schaltfläche gedrückt wird::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "Als Letztes müssen wir den Handler für die Schaltfläche definieren. Ein Handler kann eine beliebige Methode, ein Generator oder eine asynchrone Co-Routine sein; er akzeptiert das Widget, das Ereignis erzeugt hat, als Argument und wird immer dann aufgerufen, wenn die Schaltfläche gedrückt wird:" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba #, fuzzy @@ -243,8 +243,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." -msgstr "Sie werden feststellen, dass dieses Mal *keine* Abhängigkeiten installiert werden. Briefcase kann erkennen, dass die Anwendung schon einmal ausgeführt wurde, und um Zeit zu sparen, wird nur die Anwendung ausgeführt. Wenn Sie neue Abhängigkeiten zu Ihrer Anwendung hinzufügen, können Sie sicherstellen, dass diese installiert werden, indem Sie die Option ``-r`` beim Aufruf von ``briefcase dev`` mitgeben." +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Sie werden feststellen, dass dieses Mal *keine* Abhängigkeiten installiert werden. Briefcase kann erkennen, dass die Anwendung schon einmal ausgeführt wurde, und um Zeit zu sparen, wird nur die Anwendung ausgeführt. Wenn Sie neue Abhängigkeiten zu Ihrer Anwendung hinzufügen, können Sie sicherstellen, dass diese installiert werden, indem Sie die Option `-r` beim Aufruf von `briefcase dev` mitgeben." #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de msgid "This should open a GUI window:" @@ -271,7 +271,7 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "Wenn Sie einen Namen in das Textfeld eingeben und die Schaltfläche GUI drücken, sollte die Ausgabe in der Konsole erscheinen, in der Sie die Anwendung gestartet haben." #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc @@ -280,9 +280,9 @@ msgstr "Nächste Schritte" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für die Verteilung verpacken. In :doc:`Tutorial 3 ` werden wir unsere Anwendung als eigenständiges Installationsprogramm verpacken, das wir an einen Freund oder Kunden schicken oder in einen App Store hochladen können." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere Anwendung als eigenständiges Installationsprogramm verpacken, das wir an einen Freund oder Kunden schicken oder in einen App Store hochladen können." -#~ msgid "Lets do something more interesting with our ``HelloWorld`` app." +#~ msgid "Lets do something more interesting with our `HelloWorld` app." #~ msgstr "" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po index 39583df3..3065fbcf 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po @@ -41,8 +41,8 @@ msgstr "Erstellen Ihres Anwendungsgerüsts" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "Da dies das erste Mal ist, dass wir unsere Anwendung paketieren, müssen wir einige Konfigurationsdateien und andere Gerüste erstellen, um den Paketierungsprozess zu unterstützen. Starten Sie im Verzeichnis ``helloworld``:" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Da dies das erste Mal ist, dass wir unsere Anwendung paketieren, müssen wir einige Konfigurationsdateien und andere Gerüste erstellen, um den Paketierungsprozess zu unterstützen. Starten Sie im Verzeichnis `helloworld`:" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -71,7 +71,7 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." msgstr "" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 @@ -117,8 +117,8 @@ msgstr "" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "Es **installiert Anwendungsanforderungen**. Ihre Anwendung kann alle Module von Drittanbietern angeben, die zur Laufzeit benötigt werden. Diese werden mittels ``pip`` in das Installationsprogramm Ihrer Anwendung installiert." +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Es **installiert Anwendungsanforderungen**. Ihre Anwendung kann alle Module von Drittanbietern angeben, die zur Laufzeit benötigt werden. Diese werden mittels `pip` in das Installationsprogramm Ihrer Anwendung installiert." #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f #, fuzzy @@ -132,8 +132,8 @@ msgstr "Er **installiert die von Ihrer Anwendung benötigten Ressourcen**. Schli #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Sobald dies abgeschlossen ist, sollten Sie im Projektverzeichnis ein Verzeichnis sehen, das Ihrer Plattform entspricht (``macOS``, ``linux`` oder ``windows``) und zusätzliche Dateien enthält. Dies ist die plattformspezifische Paketierungskonfiguration für Ihre Anwendung." +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Sobald dies abgeschlossen ist, sollten Sie im Projektverzeichnis ein Verzeichnis sehen, das Ihrer Plattform entspricht (`macOS`, `linux` oder `windows`) und zusätzliche Dateien enthält. Dies ist die plattformspezifische Paketierungskonfiguration für Ihre Anwendung." #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece #, fuzzy @@ -147,18 +147,18 @@ msgstr "Sie können nun Ihre Anwendung kompilieren. In diesem Schritt wird die B #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d #, fuzzy -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Unter macOS muss der Befehl ``build`` nichts *kompilieren*, aber er muss den Inhalt der Binärdatei signieren, damit sie ausgeführt werden kann. Diese Signatur ist eine *ad hoc* Signatur - sie funktioniert nur auf *Ihrem* Rechner; wenn Sie die Anwendung an andere weitergeben wollen, müssen Sie eine vollständige Signatur bereitstellen." +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "Unter macOS muss der Befehl `build` nichts *kompilieren*, aber er muss den Inhalt der Binärdatei signieren, damit sie ausgeführt werden kann. Diese Signatur ist eine *ad hoc* Signatur - sie funktioniert nur auf *Ihrem* Rechner; wenn Sie die Anwendung an andere weitergeben wollen, müssen Sie eine vollständige Signatur bereitstellen." #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 #, fuzzy -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "Sobald dieser Schritt abgeschlossen ist, wird der ``build``-Ordner einen ``helloworld-0.0.1``-Ordner enthalten, der einen Spiegel des Linux ``/usr``-Dateisystems enthält. Dieser Spiegel des Dateisystems enthält einen ``bin``-Ordner mit einer ``helloworld``-Binärdatei, sowie die ``lib``- und ``share``-Ordner, die zur Unterstützung der Binärdatei benötigt werden." +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Sobald dieser Schritt abgeschlossen ist, wird der `build`-Ordner einen `helloworld-0.0.1`-Ordner enthalten, der einen Spiegel des Linux `/usr`-Dateisystems enthält. Dieser Spiegel des Dateisystems enthält einen `bin`-Ordner mit einer `helloworld`-Binärdatei, sowie die `lib`- und `share`-Ordner, die zur Unterstützung der Binärdatei benötigt werden." #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 #, fuzzy -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Unter Windows muss der ``build``-Befehl nichts *kompilieren*, aber er muss einige Metadaten schreiben, damit die Anwendung ihren Namen, ihre Version und so weiter kennt." +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "Unter Windows muss der `build`-Befehl nichts *kompilieren*, aber er muss einige Metadaten schreiben, damit die Anwendung ihren Namen, ihre Version und so weiter kennt." #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa #, fuzzy @@ -167,8 +167,8 @@ msgstr "Auslösen von Antivirus" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "Da diese Metadaten direkt in die vorkompilierte Binärdatei geschrieben werden, die während des ``create``-Befehls aus der Vorlage ausgerollt wird, kann dies Antivirensoftware auf Ihrem Rechner auslösen und verhindern, dass die Metadaten geschrieben werden. In diesem Fall weisen Sie das Antivirusprogramm an, die Ausführung des Tools (mit dem Namen ``rcedit-x64.exe``) zu erlauben und führen Sie den obigen Befehl erneut aus." +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Da diese Metadaten direkt in die vorkompilierte Binärdatei geschrieben werden, die während des `create`-Befehls aus der Vorlage ausgerollt wird, kann dies Antivirensoftware auf Ihrem Rechner auslösen und verhindern, dass die Metadaten geschrieben werden. In diesem Fall weisen Sie das Antivirusprogramm an, die Ausführung des Tools (mit dem Namen `rcedit-x64.exe`) zu erlauben und führen Sie den obigen Befehl erneut aus." #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 #, fuzzy @@ -182,8 +182,8 @@ msgstr "Sie können nun Briefcase verwenden, um Ihre Anwendung auszuführen:" #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "Dies startet Ihre native Anwendung unter Verwendung der Ausgabe des ``build`` Befehls." +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Dies startet Ihre native Anwendung unter Verwendung der Ausgabe des `build` Befehls." #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 #, fuzzy @@ -191,7 +191,7 @@ msgid "You might notice some small differences in the way your application looks msgstr "Möglicherweise bemerken Sie einige kleine Unterschiede im Aussehen Ihrer Anwendung, wenn sie ausgeführt wird. Beispielsweise können die vom Betriebssystem angezeigten Symbole und der Name etwas anders aussehen als bei der Ausführung im Entwicklermodus. Das liegt auch daran, dass Sie die gepackte Anwendung verwenden und nicht nur den Python-Code ausführen. Aus der Sicht des Betriebssystems führen Sie nun \"eine Anwendung\" und nicht \"ein Python-Programm\" aus, was sich in der Darstellung der Anwendung widerspiegelt." #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -201,23 +201,23 @@ msgstr "Erstellung Ihres Installationsprogramms" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc #, fuzzy -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Sie können nun Ihre Anwendung mit dem Befehl ``package`` zur Verteilung verpacken. Der Befehl ``package`` führt alle Kompilierungen durch, die notwendig sind, um das gerüstete Projekt in ein endgültiges, verteilbares Produkt zu verwandeln. Abhängig von der Plattform kann dies die Kompilierung eines Installationsprogramms, die Durchführung einer Codesignierung oder andere Aufgaben vor der Verteilung beinhalten." +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Sie können nun Ihre Anwendung mit dem Befehl `package` zur Verteilung verpacken. Der Befehl `package` führt alle Kompilierungen durch, die notwendig sind, um das gerüstete Projekt in ein endgültiges, verteilbares Produkt zu verwandeln. Abhängig von der Plattform kann dies die Kompilierung eines Installationsprogramms, die Durchführung einer Codesignierung oder andere Aufgaben vor der Verteilung beinhalten." #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 #, fuzzy -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "Der Ordner ``dist`` enthält eine Datei namens ``Hello World-0.0.1.dmg``. Wenn Sie diese Datei im Finder finden und auf das Symbol doppelklicken, wird die DMG-Datei gemountet und Sie erhalten eine Kopie der Hello World-Anwendung und einen Link zu Ihrem Programme-Ordner für eine einfache Installation. Ziehen Sie die Anwendungsdatei in den Ordner Programme, und schon ist Ihre Anwendung installiert. Schicken Sie die DMG-Datei an einen Freund oder eine Freundin, der/die das Gleiche tun kann." +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "Der Ordner `dist` enthält eine Datei namens `Hello World-0.0.1.dmg`. Wenn Sie diese Datei im Finder finden und auf das Symbol doppelklicken, wird die DMG-Datei gemountet und Sie erhalten eine Kopie der Hello World-Anwendung und einen Link zu Ihrem Programme-Ordner für eine einfache Installation. Ziehen Sie die Anwendungsdatei in den Ordner Programme, und schon ist Ihre Anwendung installiert. Schicken Sie die DMG-Datei an einen Freund oder eine Freundin, der/die das Gleiche tun kann." #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 #, fuzzy -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "In diesem Beispiel haben wir die Option ``--adhoc-sign`` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema \"Einrichten einer macOS Code Signing Identity \" an" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 #, fuzzy @@ -226,8 +226,8 @@ msgstr "Die Ausgabe des Paketschritts wird je nach Linux-Distribution leicht unt #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c #, fuzzy -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "Der ``dist``-Ordner enthält die ``.deb``-Datei, die erzeugt wurde." +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "Der `dist`-Ordner enthält die `.deb`-Datei, die erzeugt wurde." #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee #, fuzzy @@ -236,8 +236,8 @@ msgstr "Wenn Sie mit einer RHEL-basierten Distribution arbeiten, werden Sie es s #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 #, fuzzy -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "Der Ordner ``dist`` enthält die erzeugte ``.rpm``-Datei." +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "Der Ordner `dist` enthält die erzeugte `.rpm`-Datei." #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 #, fuzzy @@ -246,8 +246,8 @@ msgstr "Wenn Sie mit einer Arch-basierten Distribution arbeiten, werden Sie es s #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 #, fuzzy -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "Der Ordner ``dist`` enthält die Datei ``.pkg.tar.zst``, die erzeugt wurde." +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "Der Ordner `dist` enthält die Datei `.pkg.tar.zst`, die erzeugt wurde." #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae #, fuzzy @@ -261,8 +261,8 @@ msgstr "Wenn Sie ein Paket für eine andere Linux-Distribution als die, die Sie #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 #, fuzzy -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Offizielle Installationsprogramme für die `Docker Engine `__ sind für eine Reihe von Unix-Distributionen verfügbar. Folgen Sie den Anweisungen für Ihre Plattform; stellen Sie jedoch sicher, dass Sie Docker nicht im \"Rootless\"-Modus installieren." +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Offizielle Installationsprogramme für die [Docker Engine]{1} sind für eine Reihe von Unix-Distributionen verfügbar. Folgen Sie den Anweisungen für Ihre Plattform; stellen Sie jedoch sicher, dass Sie Docker nicht im \"Rootless\"-Modus installieren." #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe #, fuzzy @@ -271,8 +271,8 @@ msgstr "Sobald Sie Docker installiert haben, sollten Sie in der Lage sein, einen #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 #, fuzzy -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "zeigt Ihnen eine Unix-Eingabeaufforderung (etwa ``root@84444e31cff9:/#``) innerhalb eines Ubuntu 22.04 Docker-Containers. Geben Sie Strg-D ein, um Docker zu beenden und zu Ihrer lokalen Shell zurückzukehren." +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "zeigt Ihnen eine Unix-Eingabeaufforderung (etwa `root@84444e31cff9:/#`) innerhalb eines Ubuntu 22.04 Docker-Containers. Geben Sie Strg-D ein, um Docker zu beenden und zu Ihrer lokalen Shell zurückzukehren." #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 #, fuzzy @@ -281,23 +281,23 @@ msgstr "Sobald Sie Docker installiert haben, können Sie Briefcase verwenden, um #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "Dadurch wird das Docker-Image für das von Ihnen ausgewählte Betriebssystem heruntergeladen, ein Container erstellt, der Briefcase-Builds ausführen kann, und das Anwendungspaket innerhalb des Images erstellt. Sobald dies abgeschlossen ist, enthält der Ordner ``dist`` das Paket für die Linux-Zieldistribution." +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Dadurch wird das Docker-Image für das von Ihnen ausgewählte Betriebssystem heruntergeladen, ein Container erstellt, der Briefcase-Builds ausführen kann, und das Anwendungspaket innerhalb des Images erstellt. Sobald dies abgeschlossen ist, enthält der Ordner `dist` das Paket für die Linux-Zieldistribution." #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 #, fuzzy msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "In diesem Beispiel haben wir die Option ``--adhoc-sign`` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." +msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema \"Einrichten einer macOS Code Signing Identity \" an" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c #, fuzzy -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Sobald dieser Schritt abgeschlossen ist, enthält der Ordner ``dist`` eine Datei mit dem Namen ``Hello_World-0.0.1.msi``. Wenn Sie auf dieses Installationsprogramm doppelklicken, um es zu starten, sollten Sie den bekannten Windows-Installationsprozess durchlaufen. Sobald die Installation abgeschlossen ist, finden Sie einen \"Hello World\"-Eintrag in Ihrem Startmenü." +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Sobald dieser Schritt abgeschlossen ist, enthält der Ordner `dist` eine Datei mit dem Namen `Hello_World-0.0.1.msi`. Wenn Sie auf dieses Installationsprogramm doppelklicken, um es zu starten, sollten Sie den bekannten Windows-Installationsprozess durchlaufen. Sobald die Installation abgeschlossen ist, finden Sie einen \"Hello World\"-Eintrag in Ihrem Startmenü." #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" @@ -305,9 +305,9 @@ msgstr "Nächste Schritte" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattformen verpackt. Aber was passiert, wenn wir den Code in unserer Anwendung aktualisieren müssen? Wie bekommen wir diese Aktualisierungen in unsere paketierte Anwendung? Schauen Sie sich :doc:`Tutorial 4 <./tutorial-4>` an, um das herauszufinden..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattformen verpackt. Aber was passiert, wenn wir den Code in unserer Anwendung aktualisieren müssen? Wie bekommen wir diese Aktualisierungen in unsere paketierte Anwendung? Schauen Sie sich [Tutorial 4][./tutorial-4] an, um das herauszufinden..." -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." #~ msgstr "" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po index 7b1ed0ae..8397eed7 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -40,11 +40,11 @@ msgstr "Unsere Anwendung gibt derzeit auf der Konsole aus, wenn Sie die Schaltfl #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "Fügen wir ein Dialogfeld hinzu, um Hallo zu sagen, anstatt in die Konsole zu schreiben. Ändern Sie den ``say_hello`` Callback so, dass er wie folgt aussieht::" +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Fügen wir ein Dialogfeld hinzu, um Hallo zu sagen, anstatt in die Konsole zu schreiben. Ändern Sie den `say_hello` Callback so, dass er wie folgt aussieht:" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -54,8 +54,8 @@ msgstr "Damit wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 #, fuzzy -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Wenn Sie ``briefcase dev`` ausführen, einen Namen eingeben und die Taste drücken, sehen Sie das neue Dialogfenster:" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und die Taste drücken, sehen Sie das neue Dialogfenster:" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -92,13 +92,13 @@ msgstr "Hello World Tutorial 4 Dialog, unter Windows" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 #, fuzzy -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "Wenn Sie jedoch ``briefcase run`` ausführen, wird das Dialogfeld nicht angezeigt." +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Wenn Sie jedoch `briefcase run` ausführen, wird das Dialogfeld nicht angezeigt." #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a #, fuzzy -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Warum ist das so? Nun, ``briefcase dev`` arbeitet damit, dass es Ihren Code an Ort und Stelle ausführt - es versucht, eine möglichst realistische Laufzeitumgebung für Ihren Code zu erzeugen, aber es stellt keine der Plattforminfrastrukturen zur Verfügung, um Ihren Code als Anwendung zu verpacken. Ein Teil des Prozesses der Paketierung Ihrer Anwendung beinhaltet das Kopieren Ihres Codes *in* das Anwendungsbündel - und im Moment hat Ihre Anwendung noch den alten Code in sich." +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Warum ist das so? Nun, `briefcase dev` arbeitet damit, dass es Ihren Code an Ort und Stelle ausführt - es versucht, eine möglichst realistische Laufzeitumgebung für Ihren Code zu erzeugen, aber es stellt keine der Plattforminfrastrukturen zur Verfügung, um Ihren Code als Anwendung zu verpacken. Ein Teil des Prozesses der Paketierung Ihrer Anwendung beinhaltet das Kopieren Ihres Codes *in* das Anwendungsbündel - und im Moment hat Ihre Anwendung noch den alten Code in sich." #: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 #, fuzzy @@ -107,18 +107,18 @@ msgstr "Wir müssen also briefcase anweisen, Ihre Anwendung zu aktualisieren, in #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch ``create`` auf, um ein neues Gerüst zu erzeugen." +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch `create` auf, um ein neues Gerüst zu erzeugen." #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 #, fuzzy -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." -msgstr "Nun, da wir den Installationscode aktualisiert haben, können wir ``briefcase build`` ausführen, um die Anwendung neu zu kompilieren, ``briefcase run``, um die aktualisierte Anwendung zu starten, und ``briefcase package``, um die Anwendung für die Verteilung neu zu verpacken." +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Nun, da wir den Installationscode aktualisiert haben, können wir `briefcase build` ausführen, um die Anwendung neu zu kompilieren, `briefcase run`, um die aktualisierte Anwendung zu starten, und `briefcase package`, um die Anwendung für die Verteilung neu zu verpacken." #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 #, fuzzy -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(macOS-Benutzer sollten bedenken, dass wir, wie in :doc:`Tutorial 3 ` erwähnt, für das Tutorial empfehlen, ``briefcase package`` mit dem ``--adhoc-sign``-Flag auszuführen, um die Komplexität der Einrichtung einer Code-Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu halten)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3][tutorial-3] erwähnt, für das Tutorial empfehlen, `briefcase package` mit dem `--adhoc-sign`-Flag auszuführen, um die Komplexität der Einrichtung einer Code-Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu halten)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 #, fuzzy @@ -127,33 +127,33 @@ msgstr "Aktualisierung und Ausführung in einem Schritt" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." -msgstr "Wenn Sie Code-Änderungen schnell iterieren, werden Sie wahrscheinlich eine Code-Änderung vornehmen, die Anwendung aktualisieren und sie sofort wieder ausführen wollen. Für die meisten Zwecke ist der Entwicklermodus (``briefcase dev``) der einfachste Weg, diese Art der schnellen Iteration durchzuführen. Wenn Sie jedoch etwas darüber testen, wie Ihre Anwendung als native Binärdatei läuft, oder einen Fehler suchen, der nur auftritt, wenn Ihre Anwendung in gepackter Form vorliegt, müssen Sie möglicherweise wiederholte Aufrufe von ``briefcase run`` verwenden. Um den Prozess des Aktualisierens und Ausführens der gebündelten Anwendung zu vereinfachen, hat Briefcase eine Abkürzung, die dieses Verwendungsmuster unterstützt - die ``-u`` (oder ``--update``) Option auf dem ``run`` Befehl." +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Wenn Sie Code-Änderungen schnell iterieren, werden Sie wahrscheinlich eine Code-Änderung vornehmen, die Anwendung aktualisieren und sie sofort wieder ausführen wollen. Für die meisten Zwecke ist der Entwicklermodus (`briefcase dev`) der einfachste Weg, diese Art der schnellen Iteration durchzuführen. Wenn Sie jedoch etwas darüber testen, wie Ihre Anwendung als native Binärdatei läuft, oder einen Fehler suchen, der nur auftritt, wenn Ihre Anwendung in gepackter Form vorliegt, müssen Sie möglicherweise wiederholte Aufrufe von `briefcase run` verwenden. Um den Prozess des Aktualisierens und Ausführens der gebündelten Anwendung zu vereinfachen, hat Briefcase eine Abkürzung, die dieses Verwendungsmuster unterstützt - die `-u` (oder `--update`) Option auf dem `run` Befehl." #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." msgstr "Versuchen wir, eine weitere Änderung vorzunehmen. Sie haben vielleicht bemerkt, dass das Dialogfeld \"Hallo\" sagt, wenn Sie keinen Namen in das Texteingabefeld eingeben. Ändern wir die Funktion \"say_hello\" erneut, um diesen Sonderfall zu behandeln." #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db #, fuzzy -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "Am Anfang der Datei, zwischen den Importen und der ``class HelloWorld``-Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen::" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "Am Anfang der Datei, zwischen den Importen und der `class HelloWorld`-Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen:" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e #, fuzzy -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-Methode zu verwenden::" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-Methode zu verwenden:" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 #, fuzzy -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Führen Sie Ihre Anwendung im Entwicklungsmodus aus (mit ``briefcase dev``), um zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen und starten Sie die Anwendung mit einem Befehl:" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Führen Sie Ihre Anwendung im Entwicklungsmodus aus (mit `briefcase dev`), um zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen und starten Sie die Anwendung mit einem Befehl:" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 #, fuzzy -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." -msgstr "Der Befehl package akzeptiert auch das Argument ``-u``. Wenn Sie also eine Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, können Sie ``briefcase package -u`` ausführen." +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "Der Befehl package akzeptiert auch das Argument `-u`. Wenn Sie also eine Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, können Sie `briefcase package -u` ausführen." #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -166,6 +166,6 @@ msgstr "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattfo #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 #, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Aber was ist mit mobilen Geräten? In :doc:`Tutorial 5 ` werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Aber was ist mit mobilen Geräten? In [Tutorial 5][tutorial-5/index] werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po index 47da3151..8b2aa983 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -31,8 +31,8 @@ msgid "Create an Android app and compile it" msgstr "Eine Android-App erstellen und kompilieren" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "Zuerst führen Sie den Befehl ``create`` aus. Dies lädt eine Android-App-Vorlage herunter und fügt Ihren Python-Code hinzu." +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Zuerst führen Sie den Befehl `create` aus. Dies lädt eine Android-App-Vorlage herunter und fügt Ihren Python-Code hinzu." #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -63,44 +63,44 @@ msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f #, fuzzy -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Wenn Sie ``briefcase create android`` zum ersten Mal ausführen, lädt Briefcase ein Java JDK und das Android SDK herunter. Die Dateigrößen und Downloadzeiten können beträchtlich sein; dies kann eine Weile dauern (10 Minuten oder länger, abhängig von der Geschwindigkeit Ihrer Internetverbindung). Wenn der Download abgeschlossen ist, werden Sie aufgefordert, die Android-SDK-Lizenz von Google zu akzeptieren." +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Wenn Sie `briefcase create android` zum ersten Mal ausführen, lädt Briefcase ein Java JDK und das Android SDK herunter. Die Dateigrößen und Downloadzeiten können beträchtlich sein; dies kann eine Weile dauern (10 Minuten oder länger, abhängig von der Geschwindigkeit Ihrer Internetverbindung). Wenn der Download abgeschlossen ist, werden Sie aufgefordert, die Android-SDK-Lizenz von Google zu akzeptieren." #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Sobald dies abgeschlossen ist, haben wir in unserem Projekt ein Verzeichnis ``build\\helloworld\\android\\gradle``, das ein Android-Projekt mit einer Gradle-Build-Konfiguration enthält. Dieses Projekt enthält Ihren Anwendungscode und ein Support-Paket, das den Python-Interpreter enthält." +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Sobald dies abgeschlossen ist, haben wir in unserem Projekt ein Verzeichnis `build\\helloworld\\android\\gradle`, das ein Android-Projekt mit einer Gradle-Build-Konfiguration enthält. Dieses Projekt enthält Ihren Anwendungscode und ein Support-Paket, das den Python-Interpreter enthält." #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "Wir können dann den Befehl ``build`` von Briefcase verwenden, um diese in eine Android APK App-Datei zu kompilieren." +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Wir können dann den Befehl `build` von Briefcase verwenden, um diese in eine Android APK App-Datei zu kompilieren." #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 msgid "Gradle may look stuck" msgstr "Gradle kann aussehen, als würde es stecken bleiben" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Während des Schrittes ``briefcase build android`` gibt Gradle (das Werkzeug zur Erstellung der Android-Plattform) ``CONFIGURING: 100%`` aus und scheint nichts zu tun. Keine Sorge, es steckt nicht fest - es lädt weitere Android SDK Komponenten herunter. Je nach der Geschwindigkeit Ihrer Internetverbindung kann dies weitere 10 Minuten (oder länger) dauern. Diese Verzögerung sollte nur beim allerersten Mal auftreten, wenn Sie ``build`` ausführen; die Tools werden zwischengespeichert und beim nächsten Build werden die zwischengespeicherten Versionen verwendet." +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Während des Schrittes `briefcase build android` gibt Gradle (das Werkzeug zur Erstellung der Android-Plattform) `CONFIGURING: 100%` aus und scheint nichts zu tun. Keine Sorge, es steckt nicht fest - es lädt weitere Android SDK Komponenten herunter. Je nach der Geschwindigkeit Ihrer Internetverbindung kann dies weitere 10 Minuten (oder länger) dauern. Diese Verzögerung sollte nur beim allerersten Mal auftreten, wenn Sie `build` ausführen; die Tools werden zwischengespeichert und beim nächsten Build werden die zwischengespeicherten Versionen verwendet." #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 msgid "Run the app on a virtual device" msgstr "Ausführen der Anwendung auf einem virtuellen Gerät" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Wir sind nun bereit, unsere Anwendung zu starten. Sie können den Befehl ``run`` von Briefcase verwenden, um die Anwendung auf einem Android-Gerät auszuführen. Beginnen wir mit der Ausführung auf einem Android-Emulator." +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Wir sind nun bereit, unsere Anwendung zu starten. Sie können den Befehl `run` von Briefcase verwenden, um die Anwendung auf einem Android-Gerät auszuführen. Beginnen wir mit der Ausführung auf einem Android-Emulator." #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Um Ihre Anwendung auszuführen, starten Sie ``briefcase run android``. Daraufhin erhalten Sie eine Liste von Geräten, auf denen Sie die Anwendung ausführen können. Der letzte Punkt ist immer eine Option zum Erstellen eines neuen Android-Emulators." +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Um Ihre Anwendung auszuführen, starten Sie `briefcase run android`. Daraufhin erhalten Sie eine Liste von Geräten, auf denen Sie die Anwendung ausführen können. Der letzte Punkt ist immer eine Option zum Erstellen eines neuen Android-Emulators." #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." -msgstr "Nun können wir unser gewünschtes Gerät auswählen. Wählen Sie die Option \"Einen neuen Android-Emulator erstellen\" und akzeptieren Sie die Standardauswahl für den Gerätenamen (``beePhone``)." +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Nun können wir unser gewünschtes Gerät auswählen. Wählen Sie die Option \"Einen neuen Android-Emulator erstellen\" und akzeptieren Sie die Standardauswahl für den Gerätenamen (`beePhone`)." #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase ``run`` wird das virtuelle Gerät automatisch starten. Wenn das Gerät hochfährt, sehen Sie das Android-Logo:" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` wird das virtuelle Gerät automatisch starten. Wenn das Gerät hochfährt, sehen Sie das Android-Logo:" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -133,8 +133,8 @@ msgid "The emulator didn't start!" msgstr "Der Emulator ist nicht gestartet!" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." -msgstr "Der Android-Emulator ist eine komplexe Software, die auf eine Reihe von Hardware- und Betriebssystemfunktionen angewiesen ist - Funktionen, die auf älteren Rechnern möglicherweise nicht verfügbar oder aktiviert sind. Wenn Sie Schwierigkeiten beim Starten des Android-Emulators haben, lesen Sie den Abschnitt \"Anforderungen und Empfehlungen \" in der Android-Entwicklerdokumentation." +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "Der Android-Emulator ist eine komplexe Software, die auf eine Reihe von Hardware- und Betriebssystemfunktionen angewiesen ist - Funktionen, die auf älteren Rechnern möglicherweise nicht verfügbar oder aktiviert sind. Wenn Sie Schwierigkeiten beim Starten des Android-Emulators haben, lesen Sie den Abschnitt [Anforderungen und Empfehlungen]{1} in der Android-Entwicklerdokumentation." #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" @@ -149,16 +149,16 @@ msgid "Demo app fully launched" msgstr "Demo-App vollständig gestartet" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "Wenn Sie nicht sehen, dass Ihre Anwendung startet, sollten Sie Ihr Terminal überprüfen, in dem Sie ``briefcase run`` ausgeführt haben, und nach Fehlermeldungen suchen." +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Wenn Sie nicht sehen, dass Ihre Anwendung startet, sollten Sie Ihr Terminal überprüfen, in dem Sie `briefcase run` ausgeführt haben, und nach Fehlermeldungen suchen." #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "Wenn Sie in Zukunft auf diesem Gerät arbeiten wollen, ohne das Menü zu benutzen, können Sie Briefcase den Namen des Emulators mitteilen, indem Sie ``briefcase run android -d @beePhone`` verwenden, um direkt auf dem virtuellen Gerät zu arbeiten." +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "Wenn Sie in Zukunft auf diesem Gerät arbeiten wollen, ohne das Menü zu benutzen, können Sie Briefcase den Namen des Emulators mitteilen, indem Sie `briefcase run android -d @beePhone` verwenden, um direkt auf dem virtuellen Gerät zu arbeiten." #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 msgid "Run the app on a physical device" @@ -181,16 +181,16 @@ msgid "Enable USB debugging" msgstr "USB-Debugging einschalten" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "Details zur Durchführung dieser Änderungen können in der Android-Entwicklerdokumentation `__ nachgelesen werden." +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Details zur Durchführung dieser Änderungen können [in der Android-Entwicklerdokumentation]{1} nachgelesen werden." #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der verfügbaren Geräte erscheinen, wenn Sie ``briefcase run android`` ausführen." +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der verfügbaren Geräte erscheinen, wenn Sie `briefcase run android` ausführen." #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "Hier sehen wir ein neues physisches Gerät mit seiner Seriennummer in der Einsatzliste - in diesem Fall ein Pixel 3a. Wenn Sie in Zukunft auf diesem Gerät arbeiten möchten, ohne das Menü zu verwenden, können Sie die Seriennummer des Telefons an Briefcase übergeben (in diesem Fall ``briefcase run android -d 94ZZY0LNE8``). Dies wird direkt auf dem Gerät ausgeführt, ohne dass Sie gefragt werden." +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Hier sehen wir ein neues physisches Gerät mit seiner Seriennummer in der Einsatzliste - in diesem Fall ein Pixel 3a. Wenn Sie in Zukunft auf diesem Gerät arbeiten möchten, ohne das Menü zu verwenden, können Sie die Seriennummer des Telefons an Briefcase übergeben (in diesem Fall `briefcase run android -d 94ZZY0LNE8`). Dies wird direkt auf dem Gerät ausgeführt, ohne dass Sie gefragt werden." #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd msgid "My device doesn't appear!" @@ -201,14 +201,14 @@ msgid "If your device doesn't appear on this list at all, either you haven't ena msgstr "Wenn Ihr Gerät in dieser Liste nicht erscheint, haben Sie entweder das USB-Debugging nicht aktiviert (oder das Gerät ist nicht eingesteckt!)." #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "Wenn Ihr Gerät zwar angezeigt wird, aber als \"Unbekanntes Gerät (nicht für die Entwicklung autorisiert)\" aufgeführt ist, wurde der Entwicklermodus nicht korrekt aktiviert. Führen Sie die \"Schritte zum Aktivieren der Entwickleroptionen \" erneut aus, und führen Sie \"Briefcase run android\" erneut aus." +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Wenn Ihr Gerät zwar angezeigt wird, aber als \"Unbekanntes Gerät (nicht für die Entwicklung autorisiert)\" aufgeführt ist, wurde der Entwicklermodus nicht korrekt aktiviert. Führen Sie die [Schritte zum Aktivieren der Entwickleroptionen]{1} erneut aus, und führen Sie \"Briefcase run android\" erneut aus." #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" msgstr "Nächste Schritte" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich :doc:`Tutorial 6 <../tutorial-6>` an, um das herauszufinden..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 2f9dad67..f99174c4 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -19,7 +19,7 @@ msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "Tutorial 5 – Mobil nutzen: iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae @@ -28,20 +28,20 @@ msgid "Once we've got Xcode and the iOS simulator installed, we can take our app msgstr "Sobald wir Xcode installiert haben, können wir unsere Anwendung als iOS-App bereitstellen." #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "Der Prozess der Bereitstellung einer Anwendung für iOS ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Zuerst führen Sie den Befehl ``create`` aus - aber dieses Mal geben wir an, dass wir eine iOS-Anwendung erstellen wollen:" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "Der Prozess der Bereitstellung einer Anwendung für iOS ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Zuerst führen Sie den Befehl `create` aus - aber dieses Mal geben wir an, dass wir eine iOS-Anwendung erstellen wollen:" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Sobald dies abgeschlossen ist, haben wir ein ``build/helloworld/ios/xcode`` Verzeichnis, das ein Xcode Projekt enthält, sowie die unterstützenden Bibliotheken und den Anwendungscode, der für die Anwendung benötigt wird." +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Sobald dies abgeschlossen ist, haben wir ein `build/helloworld/ios/xcode` Verzeichnis, das ein Xcode Projekt enthält, sowie die unterstützenden Bibliotheken und den Anwendungscode, der für die Anwendung benötigt wird." #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "Sie können dann Briefcase verwenden, um Ihre Anwendung mit ``briefcase build iOS`` zu kompilieren:" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Sie können dann Briefcase verwenden, um Ihre Anwendung mit `briefcase build iOS` zu kompilieren:" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Wir sind nun bereit, unsere Anwendung mit ``briefcase run iOS`` zu starten. Sie werden aufgefordert, ein Gerät auszuwählen, für das kompiliert werden soll. Wenn Sie Simulatoren für mehrere iOS SDK-Versionen installiert haben, werden Sie möglicherweise auch gefragt, welche iOS-Version Sie verwenden möchten. Die Optionen, die Ihnen angezeigt werden, können sich von den in dieser Ausgabe gezeigten Optionen unterscheiden - zumindest wird die Liste der Geräte wahrscheinlich anders aussehen. Für unsere Zwecke spielt es keine Rolle, welchen Simulator Sie wählen." +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Wir sind nun bereit, unsere Anwendung mit `briefcase run iOS` zu starten. Sie werden aufgefordert, ein Gerät auszuwählen, für das kompiliert werden soll. Wenn Sie Simulatoren für mehrere iOS SDK-Versionen installiert haben, werden Sie möglicherweise auch gefragt, welche iOS-Version Sie verwenden möchten. Die Optionen, die Ihnen angezeigt werden, können sich von den in dieser Ausgabe gezeigten Optionen unterscheiden - zumindest wird die Liste der Geräte wahrscheinlich anders aussehen. Für unsere Zwecke spielt es keine Rolle, welchen Simulator Sie wählen." #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" @@ -56,8 +56,8 @@ msgid "While the app is running, you'll see a series of Simulator log output mes msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "Wenn Sie bereits im Voraus wissen, welchen iOS-Simulator Sie verwenden möchten, können Sie Briefcase mit der Option ``-d`` (oder ``--device``) anweisen, diesen Simulator zu verwenden. Verwenden Sie den Namen des Geräts, das Sie beim Erstellen Ihrer Anwendung ausgewählt haben, und führen Sie es aus:" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Wenn Sie bereits im Voraus wissen, welchen iOS-Simulator Sie verwenden möchten, können Sie Briefcase mit der Option `-d` (oder `--device`) anweisen, diesen Simulator zu verwenden. Verwenden Sie den Namen des Geräts, das Sie beim Erstellen Ihrer Anwendung ausgewählt haben, und führen Sie es aus:" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" @@ -72,12 +72,12 @@ msgid "Next steps" msgstr "Nächste Schritte" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich :doc:`Tutorial 6 <../tutorial-6>` an, um das herauszufinden..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." -#~ msgstr "Um iOS-Anwendungen zu kompilieren, benötigen wir Xcode, das kostenlos im macOS App Store erhältlich ist." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Um iOS-Anwendungen zu kompilieren, benötigen wir Xcode, das kostenlos [im macOS App Store]{1} erhältlich ist." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po index d6988189..bdca87fe 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -43,8 +43,8 @@ msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "" "Android-Anwendungen können unter macOS, Windows oder Linux kompiliert werden." -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`Lasst uns unsere App für iOS bauen! `" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Lasst uns unsere App für iOS bauen!][iOS]" -#~ msgid ":doc:`Let's build our app for Android! `" -#~ msgstr ":doc:`Lassen Sie uns unsere App für Android erstellen! `" +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Lassen Sie uns unsere App für Android erstellen!][android]" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po index f2ca1190..37759b54 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po @@ -63,8 +63,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 #, fuzzy -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "Dadurch wird ein Webbrowser geöffnet, der auf `http://127.0.0.1:8080 `__ verweist:" +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Dadurch wird ein Webbrowser geöffnet, der auf [http://127.0.0.1:8080](http://127.0.0.1:8080) verweist:" #: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 #, fuzzy @@ -83,13 +83,13 @@ msgstr "Wie funktioniert das?" #: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." -msgstr "Diese Webanwendung ist eine statische Website - eine einzelne HTML-Quellseite mit einigen CSS- und anderen Ressourcen. Briefcase hat einen lokalen Webserver gestartet, um diese Seite bereitzustellen, damit Ihr Browser die Seite anzeigen kann. Wenn Sie diese Webseite in Produktion geben möchten, können Sie den Inhalt des Ordners ``www`` auf einen beliebigen Webserver kopieren, der statische Inhalte bereitstellen kann." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Diese Webanwendung ist eine statische Website - eine einzelne HTML-Quellseite mit einigen CSS- und anderen Ressourcen. Briefcase hat einen lokalen Webserver gestartet, um diese Seite bereitzustellen, damit Ihr Browser die Seite anzeigen kann. Wenn Sie diese Webseite in Produktion geben möchten, können Sie den Inhalt des Ordners `www` auf einen beliebigen Webserver kopieren, der statische Inhalte bereitstellen kann." #: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Aber wenn Sie die Taste drücken, führen Sie Python-Code aus... wie funktioniert das? Toga verwendet `PyScript `__, um einen Python-Interpreter im Browser bereitzustellen. Briefcase verpackt den Code Ihrer Anwendung als Rädchen, die PyScript im Browser laden kann. Wenn die Seite geladen wird, läuft der Anwendungscode im Browser und baut die Benutzeroberfläche mit Hilfe des Browser-DOMs auf. Wenn Sie auf eine Schaltfläche klicken, führt diese Schaltfläche den Code zur Ereignisbehandlung im Browser aus." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Aber wenn Sie die Taste drücken, führen Sie Python-Code aus... wie funktioniert das? Toga verwendet [PyScript]{1}, um einen Python-Interpreter im Browser bereitzustellen. Briefcase verpackt den Code Ihrer Anwendung als Rädchen, die PyScript im Browser laden kann. Wenn die Seite geladen wird, läuft der Anwendungscode im Browser und baut die Benutzeroberfläche mit Hilfe des Browser-DOMs auf. Wenn Sie auf eine Schaltfläche klicken, führt diese Schaltfläche den Code zur Ereignisbehandlung im Browser aus." #: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 msgid "Next steps" @@ -97,5 +97,5 @@ msgstr "Nächste Schritte" #: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." -msgstr "Obwohl wir diese App jetzt auf dem Desktop, auf dem Handy und im Web bereitgestellt haben, ist die App recht einfach und enthält keine Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python Package Index (PyPI) in unsere App einbinden? Schauen Sie sich :doc:`Tutorial 7 ` an, um das herauszufinden..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Obwohl wir diese App jetzt auf dem Desktop, auf dem Handy und im Web bereitgestellt haben, ist die App recht einfach und enthält keine Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7][tutorial-7] an, um das herauszufinden..." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po index c6fa4355..653353a1 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -38,18 +38,18 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e #, fuzzy -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "Fügen wir einen ``httpx``-API-Aufruf zu unserer Anwendung hinzu. Fügen Sie einen Import am Anfang der ``app.py`` hinzu, um ``httpx`` zu importieren::" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Fügen wir einen `httpx`-API-Aufruf zu unserer Anwendung hinzu. Fügen Sie einen Import am Anfang der `app.py` hinzu, um `httpx` zu importieren:" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Dann modifizieren Sie den ``say_hello()`` Callback so, dass er wie folgt aussieht::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Dann modifizieren Sie den `say_hello()` Callback so, dass er wie folgt aussieht:" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 #, fuzzy @@ -104,8 +104,8 @@ msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f #, fuzzy -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" -msgstr "Was ist passiert? Wir haben ``httpx`` zu unserem *Code* hinzugefügt, aber wir haben es nicht zu unserer virtuellen Entwicklungsumgebung hinzugefügt. Wir können dies beheben, indem wir ``httpx`` mit ``pip`` installieren und dann ``briefcase dev`` erneut ausführen:" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "Was ist passiert? Wir haben `httpx` zu unserem *Code* hinzugefügt, aber wir haben es nicht zu unserer virtuellen Entwicklungsumgebung hinzugefügt. Wir können dies beheben, indem wir `httpx` mit `pip` installieren und dann `briefcase dev` erneut ausführen:" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -141,8 +141,8 @@ msgstr "Ausführen der aktualisierten Anwendung" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir die gleichen Schritte wie in :doc:`Tutorial 4 ` ausführen:" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir die gleichen Schritte wie in [Tutorial 4][tutorial-4] ausführen:" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -203,8 +203,8 @@ msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehl #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "Wieder einmal ist der Start der Anwendung fehlgeschlagen, weil ``httpx`` installiert wurde - aber warum? Haben wir ``httpx`` nicht schon installiert?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Wieder einmal ist der Start der Anwendung fehlgeschlagen, weil `httpx` installiert wurde - aber warum? Haben wir `httpx` nicht schon installiert?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -213,8 +213,8 @@ msgstr "Das haben wir - aber nur in der Entwicklungsumgebung. Ihre Entwicklungsu #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "Der einzige Weg, um zu garantieren, dass jemand anderes eine Python-Umgebung hat, die alles enthält, was er braucht, ist, eine vollständig isolierte Python-Umgebung zu erstellen. Das bedeutet, dass es eine komplett isolierte Python-Installation und einen komplett isolierten Satz von Abhängigkeiten gibt. Das ist es, was Briefcase baut, wenn Sie ``briefcase build`` ausführen - eine isolierte Python Umgebung. Das erklärt auch, warum ``httpx`` nicht installiert ist - es wurde in Ihrer *Entwicklungsumgebung* installiert, aber nicht in der gepackten Anwendung." +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "Der einzige Weg, um zu garantieren, dass jemand anderes eine Python-Umgebung hat, die alles enthält, was er braucht, ist, eine vollständig isolierte Python-Umgebung zu erstellen. Das bedeutet, dass es eine komplett isolierte Python-Installation und einen komplett isolierten Satz von Abhängigkeiten gibt. Das ist es, was Briefcase baut, wenn Sie `briefcase build` ausführen - eine isolierte Python Umgebung. Das erklärt auch, warum `httpx` nicht installiert ist - es wurde in Ihrer *Entwicklungsumgebung* installiert, aber nicht in der gepackten Anwendung." #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -228,43 +228,43 @@ msgstr "Aktualisieren von Abhängigkeiten" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "Im Hauptverzeichnis Ihrer Anwendung befindet sich eine Datei namens ``pyproject.toml``. Diese Datei enthält alle Konfigurationsdetails der Anwendung, die Sie beim Ausführen von ``briefcase new`` angegeben haben." +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "Im Hauptverzeichnis Ihrer Anwendung befindet sich eine Datei namens `pyproject.toml`. Diese Datei enthält alle Konfigurationsdetails der Anwendung, die Sie beim Ausführen von `briefcase new` angegeben haben." #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" -msgstr "``pyproject.toml`` ist in Abschnitte unterteilt; einer der Abschnitte beschreibt die Einstellungen für Ihre Anwendung::" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` ist in Abschnitte unterteilt; einer der Abschnitte beschreibt die Einstellungen für Ihre Anwendung:" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "Die Option ``requires`` beschreibt die Abhängigkeiten unserer Anwendung. Es handelt sich um eine Liste von Strings, die Bibliotheken (und optional die Versionen) der Bibliotheken angeben, die Sie in Ihre Anwendung aufnehmen möchten." +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "Die Option `requires` beschreibt die Abhängigkeiten unserer Anwendung. Es handelt sich um eine Liste von Strings, die Bibliotheken (und optional die Versionen) der Bibliotheken angeben, die Sie in Ihre Anwendung aufnehmen möchten." #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "Ändern Sie die Einstellung ``requires`` so, dass sie lautet::" +msgid "Modify the `requires` setting so that it reads:" +msgstr "Ändern Sie die Einstellung `requires` so, dass sie lautet:" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "Durch Hinzufügen dieser Einstellung teilen wir Briefcase mit: \"Wenn du meine Anwendung baust, führe ``pip install httpx`` in das Anwendungsbündel ein\". Alles, was eine legale Eingabe für ``pip install`` wäre, kann hier verwendet werden - Sie könnten also angeben:" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Durch Hinzufügen dieser Einstellung teilen wir Briefcase mit: \"Wenn du meine Anwendung baust, führe `pip install httpx` in das Anwendungsbündel ein\". Alles, was eine legale Eingabe für `pip install` wäre, kann hier verwendet werden - Sie könnten also angeben:" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "Eine bestimmte Bibliotheksversion (z.B. ``\"httpx==0.19.0\"``);" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Eine bestimmte Bibliotheksversion (z.B. `\"httpx==0.19.0\"`);" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "Eine Reihe von Bibliotheksversionen (z.B. ``\"httpx>=0.19\"``);" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Eine Reihe von Bibliotheksversionen (z.B. `\"httpx>=0.19\"`);" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "Ein Pfad zu einem Git-Repository (z. B. ``\"git+https://github.com/encode/httpx\"``); oder" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Ein Pfad zu einem Git-Repository (z. B. `\"git+https://github.com/encode/httpx\"`); oder" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 #, fuzzy @@ -273,84 +273,84 @@ msgstr "Ein lokaler Dateipfad (Aber Achtung: Wenn Sie Ihren Code an jemand ander #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Weiter unten in ``pyproject.toml`` werden Sie andere Abschnitte bemerken, die vom Betriebssystem abhängig sind, wie ``[tool.briefcase.app.helloworld.macOS]`` und ``[tool.briefcase.app.helloworld.windows]``. Diese Abschnitte haben *auch* eine ``requires`` Einstellung. Diese Einstellungen erlauben es Ihnen, zusätzliche plattformspezifische Abhängigkeiten zu definieren - wenn Sie also zum Beispiel eine plattformspezifische Bibliothek benötigen, um einen Aspekt Ihrer Anwendung zu behandeln, können Sie diese Bibliothek im plattformspezifischen ``requires``-Abschnitt angeben, und diese Einstellung wird nur für diese Plattform verwendet. Sie werden feststellen, dass die ``toga``-Bibliotheken alle im plattformspezifischen ``requires``-Abschnitt angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Weiter unten in `pyproject.toml` werden Sie andere Abschnitte bemerken, die vom Betriebssystem abhängig sind, wie `[tool.briefcase.app.helloworld.macOS]` und `[tool.briefcase.app.helloworld.windows]`. Diese Abschnitte haben *auch* eine `requires` Einstellung. Diese Einstellungen erlauben es Ihnen, zusätzliche plattformspezifische Abhängigkeiten zu definieren - wenn Sie also zum Beispiel eine plattformspezifische Bibliothek benötigen, um einen Aspekt Ihrer Anwendung zu behandeln, können Sie diese Bibliothek im plattformspezifischen `requires`-Abschnitt angeben, und diese Einstellung wird nur für diese Plattform verwendet. Sie werden feststellen, dass die `toga`-Bibliotheken alle im plattformspezifischen `requires`-Abschnitt angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "In unserem Fall wollen wir, dass ``httpx`` auf allen Plattformen installiert wird, also verwenden wir die Einstellung ``requires`` auf Anwendungsebene. Die Abhängigkeiten auf Anwendungsebene werden immer installiert; die plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den Abhängigkeiten auf Anwendungsebene installiert." +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "In unserem Fall wollen wir, dass `httpx` auf allen Plattformen installiert wird, also verwenden wir die Einstellung `requires` auf Anwendungsebene. Die Abhängigkeiten auf Anwendungsebene werden immer installiert; die plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den Abhängigkeiten auf Anwendungsebene installiert." #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Nun, da wir Briefcase über unsere zusätzlichen Anforderungen informiert haben, können wir versuchen, unsere Anwendung erneut zu paketieren. Vergewissern Sie sich, dass Sie Ihre Änderungen in ``pyproject.toml`` gespeichert haben, und aktualisieren Sie Ihre Anwendung erneut - dieses Mal mit dem Flag ``-r``. Dadurch wird Briefcase angewiesen, die Anforderungen in der gepackten Anwendung zu aktualisieren:" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Nun, da wir Briefcase über unsere zusätzlichen Anforderungen informiert haben, können wir versuchen, unsere Anwendung erneut zu paketieren. Vergewissern Sie sich, dass Sie Ihre Änderungen in `pyproject.toml` gespeichert haben, und aktualisieren Sie Ihre Anwendung erneut - dieses Mal mit dem Flag `-r`. Dadurch wird Briefcase angewiesen, die Anforderungen in der gepackten Anwendung zu aktualisieren:" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "Sobald Sie das Update durchgeführt haben, können Sie ``briefcase build`` und ``briefcase run`` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem neuen Dialogverhalten sehen." +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Sobald Sie das Update durchgeführt haben, können Sie `briefcase build` und `briefcase run` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem neuen Dialogverhalten sehen." #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "Die Option ``-r`` zum Aktualisieren der Anforderungen wird auch von den Befehlen ``build`` und ``run`` beachtet. Wenn Sie also in einem Schritt aktualisieren, bauen und ausführen wollen, können Sie ``briefcase run -u -r`` verwenden." +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "Die Option `-r` zum Aktualisieren der Anforderungen wird auch von den Befehlen `build` und `run` beachtet. Wenn Sie also in einem Schritt aktualisieren, bauen und ausführen wollen, können Sie `briefcase run -u -r` verwenden." #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "Auf Desktop-Plattformen (macOS, Windows, Linux) kann jede ``pip``-Installation zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen sind Ihre Möglichkeiten etwas eingeschränkt `__." +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Auf Desktop-Plattformen (macOS, Windows, Linux) kann jede `pip`-Installation zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen [sind Ihre Möglichkeiten etwas eingeschränkt]{1}." #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 #, fuzzy msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare kann Binärdateien für einige beliebte Binärmodule (einschließlich ``numpy``, ``pandas`` und ``cryptography``) bereitstellen. Es ist *normalerweise* möglich, Pakete für mobile Plattformen zu kompilieren, aber es ist nicht einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie diesem sprengen." +msgstr "BeeWare kann Binärdateien für einige beliebte Binärmodule (einschließlich `numpy`, `pandas` und `cryptography`) bereitstellen. Es ist *normalerweise* möglich, Pakete für mobile Plattformen zu kompilieren, aber es ist nicht einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie diesem sprengen." #: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 msgid "Next steps" msgstr "Nächste Schritte" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "Zugriff auf eine API" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "Eine häufige Aufgabe, die eine Anwendung erfüllen muss, besteht darin, eine Anfrage an eine Web-API zu stellen, um Daten abzurufen und diese Daten dem Benutzer anzuzeigen. Da es sich hier um eine Spielzeuganwendung handelt, haben wir keine *echte* API, mit der wir arbeiten können, also verwenden wir die `{JSON} Placeholder API `__ als Datenquelle." +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Eine häufige Aufgabe, die eine Anwendung erfüllen muss, besteht darin, eine Anfrage an eine Web-API zu stellen, um Daten abzurufen und diese Daten dem Benutzer anzuzeigen. Da es sich hier um eine Spielzeuganwendung handelt, haben wir keine *echte* API, mit der wir arbeiten können, also verwenden wir die [{JSON} Placeholder API]{1} als Datenquelle." -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "Die {JSON} Platzhalter-API verfügt über eine Reihe von \"gefälschten\" API-Endpunkten, die Sie als Testdaten verwenden können. Einer dieser APIs ist der Endpunkt ``/posts/``, der gefälschte Blog-Posts zurückgibt. Wenn Sie ``https://jsonplaceholder.typicode.com/posts/42`` in Ihrem Browser öffnen, erhalten Sie einen JSON-Payload, der einen einzelnen Beitrag beschreibt - etwas `Lorum ipsum `__ Inhalt für einen Blogbeitrag mit der ID 42." +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "Die {JSON} Platzhalter-API verfügt über eine Reihe von \"gefälschten\" API-Endpunkten, die Sie als Testdaten verwenden können. Einer dieser APIs ist der Endpunkt `/posts/`, der gefälschte Blog-Posts zurückgibt. Wenn Sie `https://jsonplaceholder.typicode.com/posts/42` in Ihrem Browser öffnen, erhalten Sie einen JSON-Payload, der einen einzelnen Beitrag beschreibt - etwas [Lorum ipsum]{1} Inhalt für einen Blogbeitrag mit der ID 42." #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." #~ msgstr "Die Python-Standardbibliothek enthält alle Werkzeuge, die Sie für den Zugriff auf eine API benötigen. Die eingebauten APIs sind jedoch sehr einfach. Sie sind gute Implementierungen des HTTP-Protokolls - aber sie erfordern, dass der Benutzer viele Details auf niedriger Ebene verwaltet, wie URL-Umleitung, Sitzungen, Authentifizierung und Nutzdatenkodierung. Als \"normaler Browser-Benutzer\" sind Sie wahrscheinlich daran gewöhnt, diese Details als selbstverständlich anzusehen, da ein Browser diese Details für Sie verwaltet." -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "Infolgedessen haben Leute Bibliotheken von Drittanbietern entwickelt, die eingebauten APIs umhüllen und eine einfachere API bereitstellen, die der alltäglichen Browsererfahrung besser entspricht. Wir werden eine dieser Bibliotheken verwenden, um auf die {JSON} Platzhalter-API zuzugreifen - eine Bibliothek namens `httpx `__." +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Infolgedessen haben Leute Bibliotheken von Drittanbietern entwickelt, die eingebauten APIs umhüllen und eine einfachere API bereitstellen, die der alltäglichen Browsererfahrung besser entspricht. Wir werden eine dieser Bibliotheken verwenden, um auf die {JSON} Platzhalter-API zuzugreifen - eine Bibliothek namens [httpx]{1}." -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "Dies ändert den ``say_hello()`` Callback so, dass er, wenn er aufgerufen wird, dies tut:" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Dies ändert den `say_hello()` Callback so, dass er, wenn er aufgerufen wird, dies tut:" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "eine GET-Anfrage an die JSON-Platzhalter-API stellen, um Beitrag 42 zu erhalten;" @@ -370,6 +370,6 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "Kurz gesagt: Jedes *reine Python*-Paket (d.h. Pakete, die *kein* binäres Modul enthalten) kann ohne Probleme verwendet werden. Wenn Ihre Abhängigkeit jedoch eine Binärkomponente enthält, muss diese kompiliert werden; derzeit bieten die meisten Python-Pakete keine Kompilierungsunterstützung für Nicht-Desktop-Plattformen." -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." -#~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir :doc:`Tutorial 8 ` an, um das herauszufinden..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir [Tutorial 8][tutorial-8] an, um das herauszufinden..." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po index 6313c0e6..32fc5ebf 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -37,7 +37,7 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 @@ -46,24 +46,24 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -83,7 +83,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -158,8 +158,8 @@ msgstr "Um zu verstehen, warum das so ist, müssen wir uns mit den Details der F #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 #, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like::" -msgstr "Eine GUI-Anwendung besteht im Grunde aus einer einzigen Schleife, die etwa so aussieht::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Eine GUI-Anwendung besteht im Grunde aus einer einzigen Schleife, die etwa so aussieht:" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 #, fuzzy @@ -168,13 +168,13 @@ msgstr "Diese Schleife wird *Ereignisschleife* genannt. (Dies sind keine tatsäc #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "Wenn Sie auf eine Schaltfläche klicken, eine Bildlaufleiste ziehen oder eine Taste drücken, erzeugen Sie ein \"Ereignis\". Dieses \"Ereignis\" wird in eine Warteschlange gestellt, und die Anwendung wird die Warteschlange von Ereignissen verarbeiten, wenn sie das nächste Mal die Gelegenheit dazu hat. Der Benutzercode, der als Reaktion auf das Ereignis ausgelöst wird, wird *Ereignishandler* genannt. Diese Event-Handler werden als Teil des ``process_events()`` Aufrufs aufgerufen." +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Wenn Sie auf eine Schaltfläche klicken, eine Bildlaufleiste ziehen oder eine Taste drücken, erzeugen Sie ein \"Ereignis\". Dieses \"Ereignis\" wird in eine Warteschlange gestellt, und die Anwendung wird die Warteschlange von Ereignissen verarbeiten, wenn sie das nächste Mal die Gelegenheit dazu hat. Der Benutzercode, der als Reaktion auf das Ereignis ausgelöst wird, wird *Ereignishandler* genannt. Diese Event-Handler werden als Teil des `process_events()` Aufrufs aufgerufen." #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 #, fuzzy -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Sobald eine Anwendung alle verfügbaren Ereignisse verarbeitet hat, wird sie die grafische Benutzeroberfläche ``neu zeichnen()``. Dabei werden alle Änderungen berücksichtigt, die Ereignisse an der Anzeige der Anwendung verursacht haben, sowie alles andere, was im Betriebssystem vor sich geht - zum Beispiel können die Fenster einer anderen Anwendung einen Teil des Fensters unserer Anwendung verdecken oder sichtbar machen, und die Neuzeichnung unserer Anwendung muss den Teil des Fensters widerspiegeln, der gerade sichtbar ist." +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Sobald eine Anwendung alle verfügbaren Ereignisse verarbeitet hat, wird sie die grafische Benutzeroberfläche `neu zeichnen()`. Dabei werden alle Änderungen berücksichtigt, die Ereignisse an der Anzeige der Anwendung verursacht haben, sowie alles andere, was im Betriebssystem vor sich geht - zum Beispiel können die Fenster einer anderen Anwendung einen Teil des Fensters unserer Anwendung verdecken oder sichtbar machen, und die Neuzeichnung unserer Anwendung muss den Teil des Fensters widerspiegeln, der gerade sichtbar ist." #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 #, fuzzy @@ -218,8 +218,8 @@ msgstr "Asynchrone Funktionen (so genannte *Co-Routinen*) müssen ausdrücklich #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "In Python wird die asynchrone Programmierung mit den Schlüsselwörtern ``async`` und ``await``, und dem Modul `asyncio `__ in der Standardbibliothek implementiert. Mit dem Schlüsselwort ``async`` können wir eine Funktion als asynchrone Co-Routine deklarieren. Mit dem Schlüsselwort ``await`` kann man angeben, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln. Das Modul `asyncio `__ bietet einige andere nützliche Werkzeuge und Primitive für asynchrone Programmierung." +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "In Python wird die asynchrone Programmierung mit den Schlüsselwörtern `async` und `await`, und dem Modul [asyncio]{1} in der Standardbibliothek implementiert. Mit dem Schlüsselwort `async` können wir eine Funktion als asynchrone Co-Routine deklarieren. Mit dem Schlüsselwort `await` kann man angeben, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln. Das Modul [asyncio]{2} bietet einige andere nützliche Werkzeuge und Primitive für asynchrone Programmierung." #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -228,8 +228,8 @@ msgstr "Asynchronität des Tutorials" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 #, fuzzy -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" -msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht::" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 #, fuzzy @@ -238,20 +238,20 @@ msgstr "In diesem Code gibt es nur 4 Änderungen gegenüber der vorherigen Versi #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d #, fuzzy -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Der Client, der erzeugt wird, ist ein asynchroner ``AsyncClient()``, anstatt eines synchronen ``Client()``. Dies teilt ``httpx`` mit, dass es im asynchronen Modus und nicht im synchronen Modus arbeiten soll." +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "Der Client, der erzeugt wird, ist ein asynchroner `AsyncClient()`, anstatt eines synchronen `Client()`. Dies teilt `httpx` mit, dass es im asynchronen Modus und nicht im synchronen Modus arbeiten soll." #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d #, fuzzy -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Der zur Erstellung des Clients verwendete Kontextmanager ist als ``async`` markiert. Dies sagt Python, dass es eine Möglichkeit gibt, die Kontrolle abzugeben, wenn der Kontextmanager betreten und verlassen wird." +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "Der zur Erstellung des Clients verwendete Kontextmanager ist als `async` markiert. Dies sagt Python, dass es eine Möglichkeit gibt, die Kontrolle abzugeben, wenn der Kontextmanager betreten und verlassen wird." #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -262,7 +262,7 @@ msgstr "Toga erlaubt es Ihnen, reguläre Methoden oder asynchrone Co-Routinen al #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Wenn Sie diese Änderungen speichern und die Anwendung erneut ausführen (entweder mit ``briefcase dev`` im Entwicklungsmodus oder indem Sie die gepackte Anwendung aktualisieren und erneut ausführen), wird es keine offensichtlichen Änderungen an der Anwendung geben. Wenn Sie jedoch auf die Schaltfläche klicken, um den Dialog auszulösen, können Sie eine Reihe von subtilen Verbesserungen feststellen:" +msgstr "Wenn Sie diese Änderungen speichern und die Anwendung erneut ausführen (entweder mit `briefcase dev` im Entwicklungsmodus oder indem Sie die gepackte Anwendung aktualisieren und erneut ausführen), wird es keine offensichtlichen Änderungen an der Anwendung geben. Wenn Sie jedoch auf die Schaltfläche klicken, um den Dialog auszulösen, können Sie eine Reihe von subtilen Verbesserungen feststellen:" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 #, fuzzy @@ -285,7 +285,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "Wenn Sie versuchen, ein Anwendungsmenü zu öffnen, wird das Menü sofort angezeigt." #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -337,35 +337,35 @@ msgid "So - where to from here?" msgstr "" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." msgstr "" #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." msgstr "" #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "Wir haben jetzt eine Anwendung, die glatt und reaktionsschnell ist, auch wenn sie auf eine langsame API wartet. Aber wie können wir sicherstellen, dass die Anwendung auch weiterhin funktioniert, wenn wir sie weiter entwickeln? Wie können wir unsere Anwendung testen? Schauen Sie sich :doc:`Tutorial 9 ` an, um das herauszufinden..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Wir haben jetzt eine Anwendung, die glatt und reaktionsschnell ist, auch wenn sie auf eine langsame API wartet. Aber wie können wir sicherstellen, dass die Anwendung auch weiterhin funktioniert, wenn wir sie weiter entwickeln? Wie können wir unsere Anwendung testen? Schauen Sie sich [Tutorial 9][tutorial-9] an, um das herauszufinden..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "Die Methode ist als ``async def`` definiert, anstatt nur als ``def``. Dies sagt Python, dass die Methode eine asynchrone Co-Routine ist." +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "Die Methode ist als `async def` definiert, anstatt nur als `def`. Dies sagt Python, dass die Methode eine asynchrone Co-Routine ist." -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "Der ``get``-Aufruf wird mit einem ``await``-Schlüsselwort versehen. Dies weist die Anwendung an, dass sie die Kontrolle an die Ereignisschleife abgeben kann, während wir auf die Antwort des Netzwerks warten." +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "Der `get`-Aufruf wird mit einem `await`-Schlüsselwort versehen. Dies weist die Anwendung an, dass sie die Kontrolle an die Ereignisschleife abgeben kann, während wir auf die Antwort des Netzwerks warten." -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." #~ msgstr "" -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." #~ msgstr "" diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po index 80001c2b..70cf2d89 100644 --- a/locales/es/LC_MESSAGES/how-to/index.po +++ b/locales/es/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po index 5a14617c..b16af819 100644 --- a/locales/es/LC_MESSAGES/index.po +++ b/locales/es/LC_MESSAGES/index.po @@ -31,8 +31,8 @@ msgid "Translations are available" msgstr "Las traducciones están disponibles" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "Si no se siente cómodo con el inglés, las traducciones de este tutorial están disponibles en `Alemán `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__ y `中文(繁體) `__." +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "Si no se siente cómodo con el inglés, las traducciones de este tutorial están disponibles en [Alemán]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6} y [中文(繁體)]{7}." #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 msgid "This is a machine translation!" @@ -44,8 +44,8 @@ msgstr "Esta versión del tutorial se ha generado mediante traducción automáti #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "Si quieres ayudarnos a mejorar la traducción, ¡ponte en contacto con nosotros! Tenemos un canal ``#translations`` en `Discord `__; preséntate allí y te añadiremos al equipo de traducción." +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Si quieres ayudarnos a mejorar la traducción, ¡ponte en contacto con nosotros! Tenemos un canal `#translations` en [Discord]{1}; preséntate allí y te añadiremos al equipo de traducción." #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 msgid "This is a translation!" @@ -65,18 +65,18 @@ msgstr "BeeWare no es un único producto, o herramienta, o librería - es una co #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e #, fuzzy -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__, un conjunto de herramientas de widgets multiplataforma;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, un conjunto de herramientas de widgets multiplataforma;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e #, fuzzy -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__, una herramienta para empaquetar proyectos de Python como artefactos distribuibles que se pueden enviar a los usuarios finales;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, una herramienta para empaquetar proyectos de Python como artefactos distribuibles que se pueden enviar a los usuarios finales;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc #, fuzzy -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "Bibliotecas (como `Rubicon ObjC `__) para acceder a bibliotecas nativas de la plataforma;" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acceder a bibliotecas nativas de la plataforma;" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." @@ -96,6 +96,6 @@ msgid "Let's go!" msgstr "¡Vamos!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "¿Listo para probar BeeWare por ti mismo? :doc:`¡Construyamos una aplicación multiplataforma en Python! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "¿Listo para probar BeeWare por ti mismo? [¡Construyamos una aplicación multiplataforma en Python!][tutorial/tutorial-0]" diff --git a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po index 627f7ab7..bea634e9 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po @@ -52,20 +52,20 @@ msgid "Start a new project" msgstr "Iniciar un nuevo proyecto" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "Para este tutorial, no desarrollaremos la aplicación del tutorial principal, sino que comenzaremos un nuevo proyecto. Puede utilizar el mismo entorno virtual que utilizó en el primer proyecto. Sin embargo, debemos ejecutar nuevamente el asistente Nuevo maletín." #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" -msgstr "Regrese al directorio que contiene la carpeta del proyecto ``helloworld`` e inicie un nuevo proyecto llamado “Hello Camera”:" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +msgstr "Regrese al directorio que contiene la carpeta del proyecto `helloworld` e inicie un nuevo proyecto llamado “Hello Camera”:" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f msgid "Add code to take a photo" msgstr "Añade código para tomar una foto" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" -msgstr "El asistente ha generado un nuevo proyecto Toga vacío. Ahora podemos agregar el código para tomar y mostrar una fotografía. Edite el archivo ``app.py`` de la nueva aplicación para que tenga el siguiente contenido:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +msgstr "El asistente ha generado un nuevo proyecto Toga vacío. Ahora podemos agregar el código para tomar y mostrar una fotografía. Edite el archivo `app.py` de la nueva aplicación para que tenga el siguiente contenido:" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd #, fuzzy @@ -73,16 +73,16 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "Este código tiene dos cambios con respecto a la aplicación predeterminada que genera Briefcase. Estas novedades están resaltadas en amarillo:" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." -msgstr "El primer bloque de código resaltado (en el método ``startup()``) agrega los dos widgets necesarios para controlar la cámara: un ``ImageView`` para mostrar una foto; y un ``Button`` para activar la cámara." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +msgstr "El primer bloque de código resaltado (en el método `startup()`) agrega los dos widgets necesarios para controlar la cámara: un `ImageView` para mostrar una foto; y un `Button` para activar la cámara." #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "El segundo bloque de código resaltado (el método ``take_photo()``) define el controlador de eventos cuando se presiona el botón. Este controlador primero confirma si la aplicación tiene permiso para tomar una foto; si no existe permiso, se solicita. Luego, se toma una foto. La solicitud de permiso y la solicitud para tomar una foto son ambas solicitudes asincrónicas, por lo que requieren el uso de ``await``; mientras la aplicación espera que el usuario confirme los permisos o tome la foto, el bucle de eventos de la aplicación puede continuar en segundo plano." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgstr "El segundo bloque de código resaltado (el método `take_photo()`) define el controlador de eventos cuando se presiona el botón. Este controlador primero confirma si la aplicación tiene permiso para tomar una foto; si no existe permiso, se solicita. Luego, se toma una foto. La solicitud de permiso y la solicitud para tomar una foto son ambas solicitudes asincrónicas, por lo que requieren el uso de `await`; mientras la aplicación espera que el usuario confirme los permisos o tome la foto, el bucle de eventos de la aplicación puede continuar en segundo plano." #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "Si la cámara toma una foto correctamente, devolverá un objeto ``Image`` que se puede asignar como contenido de ``ImageView``. Si el usuario canceló la solicitud de la foto, la llamada ``self.camera.take_photo()`` devolverá ``None`` y el resultado se puede ignorar. Si el usuario no otorga permiso para usar la cámara, o la cámara no está implementada en la plataforma actual, se generará un error y se mostrará un cuadro de diálogo al usuario." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgstr "Si la cámara toma una foto correctamente, devolverá un objeto `Image` que se puede asignar como contenido de `ImageView`. Si el usuario canceló la solicitud de la foto, la llamada `self.camera.take_photo()` devolverá `None` y el resultado se puede ignorar. Si el usuario no otorga permiso para usar la cámara, o la cámara no está implementada en la plataforma actual, se generará un error y se mostrará un cuadro de diálogo al usuario." #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 msgid "Adding device permissions" @@ -98,8 +98,8 @@ msgstr "Sin embargo, esta solicitud se presenta en dos partes. La primera se enc #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c #, fuzzy -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" -msgstr "Los permisos que requiere cada plataforma son ligeramente diferentes, pero Briefcase tiene una representación multiplataforma para muchos permisos de hardware comunes. En la sección de configuración ``[tool.briefcase.app.helloworld]`` del archivo ``pyproject.toml`` de su aplicación, agregue lo siguiente (justo encima de la declaración ``sources``):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +msgstr "Los permisos que requiere cada plataforma son ligeramente diferentes, pero Briefcase tiene una representación multiplataforma para muchos permisos de hardware comunes. En la sección de configuración `[tool.briefcase.app.helloworld]` del archivo `pyproject.toml` de su aplicación, agregue lo siguiente (justo encima de la declaración `sources`):" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." @@ -126,6 +126,6 @@ msgid "Adding more permissions" msgstr "Agregar más permisos" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a ``briefcase create``. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar ``briefcase create``; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a `briefcase create`. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar `briefcase create`; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." diff --git a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po index fb4a7e63..671be68d 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -32,7 +32,7 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "" #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 @@ -40,7 +40,7 @@ msgid "This icon definition doesn't specify any file extension. The value will b msgstr "" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/topics/custom-icons.rst:36 @@ -83,7 +83,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -95,11 +95,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -107,30 +107,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**Próximamente**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "¡Ya tenemos una aplicación con un icono personalizado en nuestro escritorio y teléfono! ¿Cómo compartimos esta aplicación con los demás? Visita :doc:`Tutorial 11 ` para descubrirlo..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "¡Ya tenemos una aplicación con un icono personalizado en nuestro escritorio y teléfono! ¿Cómo compartimos esta aplicación con los demás? Visita [Tutorial 11][tutorial-11] para descubrirlo..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "Tutorial 10 – Crea tu propia aplicación" @@ -138,6 +138,6 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "Siguientes pasos" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/es/LC_MESSAGES/tutorial/topics/testing.po b/locales/es/LC_MESSAGES/tutorial/topics/testing.po index 67c8465b..1dfac1bc 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/testing.po @@ -29,16 +29,16 @@ msgstr "Ejecución del conjunto de pruebas" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "Resulta que nuestro proyecto ya tiene un conjunto de pruebas! Cuando originalmente generamos nuestro proyecto, se generaron dos directorios de nivel superior: ``src`` y ``tests``. La carpeta ``src`` contiene el código de nuestra aplicación; la carpeta ``tests`` contiene nuestro conjunto de pruebas. Dentro de la carpeta ``tests`` hay un archivo llamado ``test_app.py`` con el siguiente contenido::" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Resulta que nuestro proyecto ya tiene un conjunto de pruebas! Cuando originalmente generamos nuestro proyecto, se generaron dos directorios de nivel superior: `src` y `tests`. La carpeta `src` contiene el código de nuestra aplicación; la carpeta `tests` contiene nuestro conjunto de pruebas. Dentro de la carpeta `tests` hay un archivo llamado `test_app.py` con el siguiente contenido:" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Esto es un `Pytest `__ *caso de prueba* - un bloque de código que puede ser ejecutado para verificar algún comportamiento de tu aplicación. En este caso, la prueba es un marcador de posición, y no verifica nada específico sobre nuestra aplicación, pero es una prueba que podemos realizar." +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Esto es un [Pytest]{1} *caso de prueba* - un bloque de código que puede ser ejecutado para verificar algún comportamiento de tu aplicación. En este caso, la prueba es un marcador de posición, y no verifica nada específico sobre nuestra aplicación, pero es una prueba que podemos realizar." #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "Podemos ejecutar este conjunto de pruebas utilizando la opción ``--test`` de ``briefcase dev``. Como es la primera vez que ejecutamos pruebas, también necesitamos pasar la opción ``-r`` para asegurarnos de que también se instalan los requisitos de las pruebas:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Podemos ejecutar este conjunto de pruebas utilizando la opción `--test` de `briefcase dev`. Como es la primera vez que ejecutamos pruebas, también necesitamos pasar la opción `-r` para asegurarnos de que también se instalan los requisitos de las pruebas:" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 #: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 @@ -70,21 +70,21 @@ msgstr "¡Un éxito! Acabamos de ejecutar una única prueba que verifica que las #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "Vamos a reemplazar esta prueba de marcador de posición con una prueba para verificar que nuestro método ``greeting()`` se comporta como esperamos. Sustituye el contenido de ``test_app.py`` por el siguiente::" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Vamos a reemplazar esta prueba de marcador de posición con una prueba para verificar que nuestro método `greeting()` se comporta como esperamos. Sustituye el contenido de `test_app.py` por el siguiente:" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." msgstr "Esto define dos nuevos casos de pruebas, verificando los dos comportamientos que esperamos ver: la salida cuando se proporciona un nombre, y la salida cuando el nombre está vacío." #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "Ahora podemos volver a ejecutar el conjunto de pruebas. Esta vez, no necesitamos proporcionar la opción ``-r``, ya que los requisitos de la prueba ya se han instalado; sólo tenemos que utilizar la opción ``--test``:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Ahora podemos volver a ejecutar el conjunto de pruebas. Esta vez, no necesitamos proporcionar la opción `-r`, ya que los requisitos de la prueba ya se han instalado; sólo tenemos que utilizar la opción `--test`:" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 #, fuzzy -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "Excelente Nuestro método de utilidad ``greeting()`` está funcionando como se esperaba." +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Excelente Nuestro método de utilidad `greeting()` está funcionando como se esperaba." #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 #, fuzzy @@ -93,8 +93,8 @@ msgstr "Desarrollo basado en pruebas" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "Ahora que tenemos un conjunto de pruebas, podemos utilizarlo para impulsar el desarrollo de nuevas funciones. Vamos a modificar nuestra aplicación para que tenga un saludo especial para un usuario en particular. Podemos empezar por añadir un caso de prueba para el nuevo comportamiento que nos gustaría ver en la parte inferior de ``test_app.py``::" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Ahora que tenemos un conjunto de pruebas, podemos utilizarlo para impulsar el desarrollo de nuevas funciones. Vamos a modificar nuestra aplicación para que tenga un saludo especial para un usuario en particular. Podemos empezar por añadir un caso de prueba para el nuevo comportamiento que nos gustaría ver en la parte inferior de `test_app.py`:" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 #, fuzzy @@ -103,8 +103,8 @@ msgstr "A continuación, ejecute el conjunto de pruebas con esta nueva prueba:" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "Esta vez, vemos un fallo en el test - y la salida explica el origen del fallo: el test está esperando la salida \"¡BeeWare los IDEs de Python!\", pero nuestra implementación de ``greeting()`` está devolviendo \"Hola, Brutus\". Modifiquemos la implementación de ``greeting()`` en ``src/helloworld/app.py`` para que tenga el nuevo comportamiento::" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Esta vez, vemos un fallo en el test - y la salida explica el origen del fallo: el test está esperando la salida \"¡BeeWare los IDEs de Python!\", pero nuestra implementación de `greeting()` está devolviendo \"Hola, Brutus\". Modifiquemos la implementación de `greeting()` en `src/helloworld/app.py` para que tenga el nuevo comportamiento:" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 #, fuzzy @@ -123,18 +123,18 @@ msgstr "Hasta ahora, hemos estado ejecutando las pruebas en modo de desarrollo. #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 #, fuzzy -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Las opciones ``--test`` y ``-r`` también se pueden pasar al comando ``run``. Si utilizas ``briefcase run --test -r``, se ejecutará el mismo conjunto de pruebas, pero se ejecutará dentro del paquete de aplicaciones empaquetado en lugar de en tu entorno de desarrollo:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Las opciones `--test` y `-r` también se pueden pasar al comando `run`. Si utilizas `briefcase run --test -r`, se ejecutará el mismo conjunto de pruebas, pero se ejecutará dentro del paquete de aplicaciones empaquetado en lugar de en tu entorno de desarrollo:" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 #, fuzzy -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Al igual que con ``briefcase dev --test``, la opción ``-r`` sólo es necesaria la primera vez que se ejecuta el conjunto de pruebas para asegurarse de que las dependencias de prueba están presentes. En las siguientes ejecuciones, puede omitir esta opción." +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Al igual que con `briefcase dev --test`, la opción `-r` sólo es necesaria la primera vez que se ejecuta el conjunto de pruebas para asegurarse de que las dependencias de prueba están presentes. En las siguientes ejecuciones, puede omitir esta opción." #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c #, fuzzy -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "También puedes utilizar la opción ``--test`` en backends móviles: - así ``briefcase run iOS --test`` y ``briefcase run android --test`` funcionarán, ejecutando el conjunto de pruebas en el dispositivo móvil que selecciones." +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "También puedes utilizar la opción `--test` en backends móviles: - así `briefcase run iOS --test` y `briefcase run android --test` funcionarán, ejecutando el conjunto de pruebas en el dispositivo móvil que selecciones." #~ msgid "Next steps" #~ msgstr "Siguientes pasos" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po index af4feb60..6f8526ab 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po @@ -38,13 +38,13 @@ msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Si usas Windows, puedes obtener el instalador oficial desde `La página web de Python `_. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - `Python 3.13 no es compatible por el momento `__. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 #, fuzzy -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." -msgstr "Hay muchas formas diferentes de instalar Python. Puedes instalar Python a través de `homebrew `__. Puedes usar `pyenv `__ para gestionar múltiples instalaciones de Python en la misma máquina. Los usuarios de Windows pueden instalar Python desde la Windows App Store. Los usuarios con experiencia en ciencia de datos pueden utilizar `Anaconda `__ o `Miniconda `__." +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Hay muchas formas diferentes de instalar Python. Puedes instalar Python a través de [homebrew]{1}. Puedes usar [pyenv]{2} para gestionar múltiples instalaciones de Python en la misma máquina. Los usuarios de Windows pueden instalar Python desde la Windows App Store. Los usuarios con experiencia en ciencia de datos pueden utilizar [Anaconda]{3} o [Miniconda]{4}." #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -65,8 +65,8 @@ msgid "Linux" msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "Si estás en Linux, instalarás Python utilizando el gestor de paquetes del sistema (``apt`` en Debian/Ubuntu/Mint, ``dnf`` en Fedora, o ``pacman`` en Arch)." +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Si estás en Linux, instalarás Python utilizando el gestor de paquetes del sistema (`apt` en Debian/Ubuntu/Mint, `dnf` en Fedora, o `pacman` en Arch)." #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -89,8 +89,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Si usas Windows, puedes obtener el instalador oficial desde `La página web de Python `_. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - `Python 3.13 no es compatible por el momento `__. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -99,8 +99,8 @@ msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "Si usas macOS o Windows, no importa *cómo* has instalado Python - sólo importa que puedas ejecutar ``python3`` desde el símbolo del sistema/terminal de tu sistema operativo, y obtener un intérprete de Python que funcione." +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Si usas macOS o Windows, no importa *cómo* has instalado Python - sólo importa que puedas ejecutar `python3` desde el símbolo del sistema/terminal de tu sistema operativo, y obtener un intérprete de Python que funcione." #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 msgid "Install dependencies" @@ -143,8 +143,8 @@ msgid "Building BeeWare apps on Windows requires:" msgstr "Construir aplicaciones BeeWare en Windows requiere:" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git**, un sistema de control de versiones. Puede descargar Git desde `git-scm.com `__." +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, un sistema de control de versiones. Puede descargar Git desde [git-scm.com]{1}." #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." @@ -159,7 +159,7 @@ msgid "We're now going to create a virtual environment - a \"sandbox\" that we c msgstr "Ahora vamos a crear un entorno virtual - una \"caja de arena\" que podemos utilizar para aislar nuestro trabajo en este tutorial de nuestra instalación principal de Python. Si instalamos paquetes en el entorno virtual, nuestra instalación principal de Python (y cualquier otro proyecto Python en nuestro ordenador) no se verá afectado. Si hacemos un completo desastre de nuestro entorno virtual, podremos simplemente borrarlo y empezar de nuevo, sin afectar a ningún otro proyecto Python en nuestro ordenador, y sin necesidad de reinstalar Python." #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." msgstr "" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 @@ -167,48 +167,48 @@ msgid "Errors running PowerShell Scripts" msgstr "Errores al ejecutar scripts PowerShell" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error::" -msgstr "Si está utilizando PowerShell y recibe el error::" +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Si está utilizando PowerShell y recibe el error:" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "Tu cuenta de Windows no tiene permisos para ejecutar scripts. Para solucionarlo:" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." -msgstr "Ejecute `Windows PowerShell como administrador `_." +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "Ejecute [Windows PowerShell como administrador]{1}." #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "Ejecuta ``set-executionpolicy RemoteSigned``" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Ejecuta `set-executionpolicy RemoteSigned`" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select ``Y`` to change the execution policy." -msgstr "Seleccione ``Y`` para cambiar la política de ejecución." +msgid "Select `Y` to change the execution policy." +msgstr "Seleccione `Y` para cambiar la política de ejecución." #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "Una vez hecho esto, puede volver a ejecutar ``beeware-venv\\Scripts\\activate.ps1`` en su sesión PowerShell original (o en una nueva sesión en el mismo directorio)." +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Una vez hecho esto, puede volver a ejecutar `beeware-venv\\Scripts\\activate.ps1` en su sesión PowerShell original (o en una nueva sesión en el mismo directorio)." #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "Si esto ha funcionado, tu prompt debería haber cambiado - debería tener un prefijo ``(beeware-venv)``. Esto te permite saber que estás actualmente en tu entorno virtual BeeWare. Siempre que estés trabajando en este tutorial, debes asegurarte de que tu entorno virtual está activado. Si no lo está, vuelve a ejecutar el último comando (el comando ``activate``) para reactivar tu entorno." +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Si esto ha funcionado, tu prompt debería haber cambiado - debería tener un prefijo `(beeware-venv)`. Esto te permite saber que estás actualmente en tu entorno virtual BeeWare. Siempre que estés trabajando en este tutorial, debes asegurarte de que tu entorno virtual está activado. Si no lo está, vuelve a ejecutar el último comando (el comando `activate`) para reactivar tu entorno." #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd msgid "Alternative virtual environments" msgstr "Entornos virtuales alternativos" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "Si estás usando Anaconda o miniconda, puede que estés más familiarizado con el uso de entornos conda. También puedes haber oído hablar de ``virtualenv``, un predecesor del módulo ``venv`` de Python. Al igual que con las instalaciones de Python - si estás en macOS o Windows, no importa *cómo* creas tu entorno virtual, siempre y cuando tengas uno. Si estás en Linux, deberías usar ``venv`` y el sistema Python." +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Si estás usando Anaconda o miniconda, puede que estés más familiarizado con el uso de entornos conda. También puedes haber oído hablar de `virtualenv`, un predecesor del módulo `venv` de Python. Al igual que con las instalaciones de Python - si estás en macOS o Windows, no importa *cómo* creas tu entorno virtual, siempre y cuando tengas uno. Si estás en Linux, deberías usar `venv` y el sistema Python." #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" msgstr "Siguientes pasos" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "Ya hemos configurado nuestro entorno. Estamos listos para :doc:`crear nuestra primera aplicación BeeWare `." +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Ya hemos configurado nuestro entorno. Estamos listos para [crear nuestra primera aplicación BeeWare][tutorial-1]." #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "Ejecute Windows PowerShell como Administrador." @@ -228,6 +228,6 @@ msgstr "Ya hemos configurado nuestro entorno. Estamos listos para :doc:`crear nu #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "Si Python está instalado, verás su número de versión. Si no, se te pedirá que instales las herramientas de desarrollo de la línea de comandos." -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde `La página web de Python `_. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po index 28c1a75c..77b8c843 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po @@ -27,8 +27,8 @@ msgid "Install the BeeWare tools" msgstr "Instalar las herramientas BeeWare" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" -msgstr "En primer lugar, tenemos que instalar **Briefcase**. Briefcase es una herramienta de BeeWare que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio ``beeware-tutorial`` que creaste en :doc:`Tutorial 0 `, con el entorno virtual ``beeware-venv`` activado, y ejecuta:" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "En primer lugar, tenemos que instalar **Briefcase**. Briefcase es una herramienta de BeeWare que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio `beeware-tutorial` que creaste en [Tutorial 0][tutorial-0], con el entorno virtual `beeware-venv` activado, y ejecuta:" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -50,8 +50,8 @@ msgid "Possible errors during installation" msgstr "Posibles errores durante la instalación" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." -msgstr "Si aparecen errores durante la instalación, es casi seguro que se deba a que no se han instalado algunos de los requisitos del sistema. Asegúrese de haber :ref:`instalado todos los requisitos previos de la plataforma `." +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Si aparecen errores durante la instalación, es casi seguro que se deba a que no se han instalado algunos de los requisitos del sistema. Asegúrese de haber [instalado todos los requisitos previos de la plataforma ][install-dependencies]." #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -61,8 +61,8 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "Es importante que utilices ``python -m pip``, en lugar de ``pip``. Briefcase necesita asegurarse de que tiene una versión actualizada de ``pip`` y ``setuptools``, y una invocación de ``pip`` no puede auto-actualizarse. Si quieres saber más, `Brett Cannon tiene una entrada de blog detallada sobre el problema `__." +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "Es importante que utilices `python -m pip`, en lugar de `pip`. Briefcase necesita asegurarse de que tiene una versión actualizada de `pip` y `setuptools`, y una invocación de `pip` no puede auto-actualizarse. Si quieres saber más, [Brett Cannon tiene una entrada de blog detallada sobre el problema]{1}." #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd #, fuzzy @@ -71,8 +71,8 @@ msgstr "Crear un nuevo proyecto" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c #, fuzzy -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "¡Empecemos nuestro primer proyecto BeeWare! Vamos a utilizar el comando ``new`` de Briefcase para crear una aplicación llamada **Hello World**. Ejecute lo siguiente desde su símbolo del sistema:" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "¡Empecemos nuestro primer proyecto BeeWare! Vamos a utilizar el comando `new` de Briefcase para crear una aplicación llamada **Hello World**. Ejecute lo siguiente desde su símbolo del sistema:" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed #, fuzzy @@ -81,23 +81,23 @@ msgstr "Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Par #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 #, fuzzy -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**Nombre Formal** - Acepta el valor por defecto: ``Hola Mundo``." +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Nombre Formal** - Acepta el valor por defecto: `Hola Mundo`." #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 #, fuzzy -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**Nombre de la aplicación** - Acepta el valor por defecto: ``helloworld``." +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**Nombre de la aplicación** - Acepta el valor por defecto: `helloworld`." #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." -msgstr "**Paquete** - Si tiene su propio dominio, introdúzcalo en orden inverso. (Por ejemplo, si posee el dominio \"cupcakes.com\", introduzca ``com.cupcakes`` como paquete). Si no posee su propio dominio, acepte el paquete predeterminado (``com.ejemplo``)." +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Paquete** - Si tiene su propio dominio, introdúzcalo en orden inverso. (Por ejemplo, si posee el dominio \"cupcakes.com\", introduzca `com.cupcakes` como paquete). Si no posee su propio dominio, acepte el paquete predeterminado (`com.ejemplo`)." #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 #, fuzzy -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**Nombre del proyecto** - Acepte el valor por defecto: ``Hola Mundo``." +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Nombre del proyecto** - Acepte el valor por defecto: `Hola Mundo`." #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d #, fuzzy @@ -116,8 +116,8 @@ msgstr "**Correo electrónico del autor** - Introduzca su propia dirección de c #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - La URL de la página de destino de su aplicación. De nuevo, si es dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el ``https://``). Si no, acepta la URL por defecto (``https://example.com/helloworld``). No es necesario que esta URL exista realmente (por ahora); sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - La URL de la página de destino de su aplicación. De nuevo, si es dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el `https://`). Si no, acepta la URL por defecto (`https://example.com/helloworld`). No es necesario que esta URL exista realmente (por ahora); sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 #, fuzzy @@ -131,13 +131,13 @@ msgstr "**GUI framework** - Acepte la opción por defecto, Toga (el propio conju #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb #, fuzzy -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" -msgstr "Briefcase generará entonces un esqueleto de proyecto para que lo utilices. Si has seguido este tutorial hasta ahora, y has aceptado los valores por defecto tal y como se describen, tu sistema de archivos debería parecerse a::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase generará entonces un esqueleto de proyecto para que lo utilices. Si has seguido este tutorial hasta ahora, y has aceptado los valores por defecto tal y como se describen, tu sistema de archivos debería parecerse a:" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab #, fuzzy -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Este esqueleto es en realidad una aplicación en pleno funcionamiento sin añadir nada más. La carpeta ``src`` contiene todo el código de la aplicación, la carpeta ``tests`` contiene un conjunto de pruebas iniciales, y el archivo ``pyproject.toml`` describe cómo empaquetar la aplicación para su distribución. Si abres ``pyproject.toml`` en un editor, verás los detalles de configuración que acabas de proporcionar a Briefcase." +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Este esqueleto es en realidad una aplicación en pleno funcionamiento sin añadir nada más. La carpeta `src` contiene todo el código de la aplicación, la carpeta `tests` contiene un conjunto de pruebas iniciales, y el archivo `pyproject.toml` describe cómo empaquetar la aplicación para su distribución. Si abres `pyproject.toml` en un editor, verás los detalles de configuración que acabas de proporcionar a Briefcase." #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a #, fuzzy @@ -151,8 +151,8 @@ msgstr "Ejecutar la aplicación en modo desarrollador" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c #, fuzzy -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "Entra en el directorio del proyecto ``helloworld`` y dile a briefcase que inicie el proyecto en modo desarrollador (o ``dev``):" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Entra en el directorio del proyecto `helloworld` y dile a briefcase que inicie el proyecto en modo desarrollador (o `dev`):" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 #, fuzzy @@ -183,7 +183,7 @@ msgid "If you encounter the error:" msgstr "" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." msgstr "" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f @@ -192,7 +192,7 @@ msgstr "" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" msgstr "Pulsa el botón de cerrar (o selecciona Salir en el menú de la aplicación), ¡y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e independiente en Python!" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b @@ -201,8 +201,8 @@ msgstr "Siguientes pasos" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 #, fuzzy -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." -msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarrollador. Ahora podemos añadir algo de lógica propia para hacer que nuestra aplicación haga algo un poco más interesante. En :doc:`Tutorial 2 `, pondremos una interfaz de usuario más útil en nuestra aplicación." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarrollador. Ahora podemos añadir algo de lógica propia para hacer que nuestra aplicación haga algo un poco más interesante. En [Tutorial 2][tutorial-2], pondremos una interfaz de usuario más útil en nuestra aplicación." #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Una de las herramientas de BeeWare es **Briefcase**. Briefcase se puede utilizar para empaquetar su aplicación para su distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po index 19e25b9e..8e7fddb3 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -20,67 +20,67 @@ msgid "Tutorial 2 - Making it interesting" msgstr "Tutorial 2 - Hacerlo interesante" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "En :doc:`Tutorial 1 `, generamos un proyecto stub que era capaz de ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un vistazo a lo que se generó para nosotros." +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "En [Tutorial 1][tutorial-1], generamos un proyecto stub que era capaz de ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un vistazo a lo que se generó para nosotros." #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 msgid "What was generated" msgstr "Qué se generó" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." -msgstr "En el directorio ``src/helloworld``, deberías ver 3 archivos: ``__init__.py``, ``__main__.py`` y ``app.py``." +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "En el directorio `src/helloworld`, deberías ver 3 archivos: `__init__.py`, `__main__.py` y `app.py`." #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` marca el directorio ``helloworld`` como un módulo importable de Python. Es un archivo vacío; el mero hecho de que exista le dice al intérprete de Python que el directorio ``helloworld`` define un módulo." +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` marca el directorio `helloworld` como un módulo importable de Python. Es un archivo vacío; el mero hecho de que exista le dice al intérprete de Python que el directorio `helloworld` define un módulo." #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "``__main__.py`` marca el módulo ``helloworld`` como un tipo especial de módulo - un módulo ejecutable. Si intentas ejecutar el módulo ``helloworld`` usando ``python -m helloworld``, el archivo ``__main__.py`` es donde Python empezará a ejecutarse. El contenido de ``__main__.py`` es relativamente simple::" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` marca el módulo `helloworld` como un tipo especial de módulo - un módulo ejecutable. Si intentas ejecutar el módulo `helloworld` usando `python -m helloworld`, el archivo `__main__.py` es donde Python empezará a ejecutarse. El contenido de `__main__.py` es relativamente simple:" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." +msgid "It imports the `main` method from from the `helloworld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc #, fuzzy msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Es decir, importa el método ``main`` de la aplicación ``helloworld``; y si se está ejecutando como punto de entrada, llama al método main(), e inicia el bucle principal de la aplicación. El bucle principal es la forma en que una aplicación GUI escucha la entrada del usuario (como clics de ratón y pulsaciones de teclado)." +msgstr "Es decir, importa el método `main` de la aplicación `helloworld`; y si se está ejecutando como punto de entrada, llama al método main(), e inicia el bucle principal de la aplicación. El bucle principal es la forma en que una aplicación GUI escucha la entrada del usuario (como clics de ratón y pulsaciones de teclado)." #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 #, fuzzy -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "El archivo más interesante es ``app.py`` - contiene la lógica que crea la ventana de nuestra aplicación::" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "El archivo más interesante es `app.py` - contiene la lógica que crea la ventana de nuestra aplicación:" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 #, fuzzy -msgid "Let's go through this line by line::" -msgstr "Vamos a ir a través de esta línea por línea::" +msgid "Let's go through this line by line:" +msgstr "Vamos a ir a través de esta línea por línea:" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d #, fuzzy -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "En primer lugar, importamos el conjunto de herramientas de widgets ``toga``, así como algunas clases de utilidades y constantes relacionadas con el estilo. Nuestro código aún no las utiliza, pero lo haremos en breve." +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "En primer lugar, importamos el conjunto de herramientas de widgets `toga`, así como algunas clases de utilidades y constantes relacionadas con el estilo. Nuestro código aún no las utiliza, pero lo haremos en breve." #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 #, fuzzy -msgid "Then, we define a class::" -msgstr "A continuación, definimos una clase::" +msgid "Then, we define a class:" +msgstr "A continuación, definimos una clase:" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a #, fuzzy -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Cada aplicación Toga tiene una única instancia ``toga.App``, que representa la entidad en ejecución que es la aplicación. La app puede acabar gestionando múltiples ventanas; pero para aplicaciones sencillas, habrá una única ventana principal." +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Cada aplicación Toga tiene una única instancia `toga.App`, que representa la entidad en ejecución que es la aplicación. La app puede acabar gestionando múltiples ventanas; pero para aplicaciones sencillas, habrá una única ventana principal." #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 #, fuzzy -msgid "Next, we define a ``startup()`` method::" -msgstr "A continuación, definimos un método ``startup()``::" +msgid "Next, we define a `startup()` method:" +msgstr "A continuación, definimos un método `startup()`:" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 #, fuzzy @@ -94,13 +94,13 @@ msgstr "En esta aplicación, definimos una sola caja, pero no ponemos nada en el #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 #, fuzzy -msgid "Next, we define a window into which we can put this empty box::" -msgstr "A continuación, definimos una ventana en la que podemos poner esta caja vacía::" +msgid "Next, we define a window into which we can put this empty box:" +msgstr "A continuación, definimos una ventana en la que podemos poner esta caja vacía:" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 #, fuzzy -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Esto crea una instancia de ``toga.MainWindow``, que tendrá un título que coincida con el nombre de la aplicación. Una ventana principal es un tipo especial de ventana en Toga - es una ventana que está estrechamente vinculada al ciclo de vida de la aplicación. Cuando la Ventana Principal se cierra, la aplicación sale. La Ventana Principal es también la ventana que tiene el menú de la aplicación (si estás en una plataforma como Windows donde las barras de menú son parte de la ventana)" +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Esto crea una instancia de `toga.MainWindow`, que tendrá un título que coincida con el nombre de la aplicación. Una ventana principal es un tipo especial de ventana en Toga - es una ventana que está estrechamente vinculada al ciclo de vida de la aplicación. Cuando la Ventana Principal se cierra, la aplicación sale. La Ventana Principal es también la ventana que tiene el menú de la aplicación (si estás en una plataforma como Windows donde las barras de menú son parte de la ventana)" #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -112,18 +112,18 @@ msgstr "" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" -msgstr "A continuación añadimos nuestra caja vacía como contenido de la ventana principal, e indicamos a la aplicación que muestre nuestra ventana::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "A continuación añadimos nuestra caja vacía como contenido de la ventana principal, e indicamos a la aplicación que muestre nuestra ventana:" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 #, fuzzy -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "Por último, definimos un método ``main()``. Esto es lo que crea la instancia de nuestra aplicación::" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Por último, definimos un método `main()`. Esto es lo que crea la instancia de nuestra aplicación:" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa #, fuzzy -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "Este método ``main()`` es el que es importado e invocado por ``__main__.py``. Crea y devuelve una instancia de nuestra aplicación ``HelloWorld``." +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Este método `main()` es el que es importado e invocado por `__main__.py`. Crea y devuelve una instancia de nuestra aplicación `HelloWorld`." #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c #, fuzzy @@ -136,18 +136,18 @@ msgid "Adding some content of our own" msgstr "Añadir contenido propio" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." +msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "No elimine las importaciones en la parte superior del archivo, o el ``main()`` en la parte inferior. Solo necesitas actualizar la clase ``HelloWorld``." +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "No elimine las importaciones en la parte superior del archivo, o el `main()` en la parte inferior. Solo necesitas actualizar la clase `HelloWorld`." #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 #, fuzzy -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "Modifica tu clase ``HelloWorld`` dentro de ``src/helloworld/app.py`` para que tenga este aspecto::" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modifica tu clase `HelloWorld` dentro de `src/helloworld/app.py` para que tenga este aspecto:" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 #, fuzzy @@ -156,22 +156,22 @@ msgstr "Veamos en detalle lo que ha cambiado." #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 #, fuzzy -msgid "We're still creating a main box; however, we are now applying a style::" -msgstr "Seguimos creando una caja principal; sin embargo, ahora estamos aplicando un estilo::" +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Seguimos creando una caja principal; sin embargo, ahora estamos aplicando un estilo:" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "El sistema de diseño integrado de Toga se llama \"Pack\". Se comporta de forma muy parecida a CSS. Defines objetos en una jerarquía - en HTML, los objetos son ``
``, ````, y otros elementos DOM; en Toga, son widgets y cajas. A continuación, puedes asignar estilos a los elementos individuales. En este caso, estamos indicando que se trata de una caja ``COLUMN`` - es decir, es una caja que consumirá todo el ancho disponible, y ampliará su altura a medida que se añada contenido, pero intentará ser lo más corta posible." +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "El sistema de diseño integrado de Toga se llama \"Pack\". Se comporta de forma muy parecida a CSS. Defines objetos en una jerarquía - en HTML, los objetos son `
`, ``, y otros elementos DOM; en Toga, son widgets y cajas. A continuación, puedes asignar estilos a los elementos individuales. En este caso, estamos indicando que se trata de una caja `COLUMN` - es decir, es una caja que consumirá todo el ancho disponible, y ampliará su altura a medida que se añada contenido, pero intentará ser lo más corta posible." #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" msgstr "" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 #, fuzzy -msgid "Next, we define a couple of widgets::" -msgstr "A continuación, definimos un par de widgets::" +msgid "Next, we define a couple of widgets:" +msgstr "A continuación, definimos un par de widgets:" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 #, fuzzy @@ -185,18 +185,18 @@ msgstr "El TextInput se asigna como una variable de instancia de la clase. Esto #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c #, fuzzy -msgid "Next, we define a box to hold these two widgets::" -msgstr "A continuación, definimos una caja para alojar estos dos widgets::" +msgid "Next, we define a box to hold these two widgets:" +msgstr "A continuación, definimos una caja para alojar estos dos widgets:" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 #, fuzzy -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "La ``caja_de_nombre`` es una caja igual que la caja principal; sin embargo, esta vez, es una caja ``ROW``. Eso significa que el contenido se añadirá horizontalmente, e intentará que su anchura sea lo más estrecha posible. La caja también tiene algo de relleno - 5px en todos los lados." +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "La `caja_de_nombre` es una caja igual que la caja principal; sin embargo, esta vez, es una caja `ROW`. Eso significa que el contenido se añadirá horizontalmente, e intentará que su anchura sea lo más estrecha posible. La caja también tiene algo de relleno - 5px en todos los lados." #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 #, fuzzy -msgid "Now we define a button::" -msgstr "Ahora definimos un botón::" +msgid "Now we define a button:" +msgstr "Ahora definimos un botón:" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 #, fuzzy @@ -205,18 +205,18 @@ msgstr "El botón también tiene 5px de relleno en todos los lados. También def #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 #, fuzzy -msgid "Then, we add the name box and the button to the main box::" -msgstr "A continuación, añadimos el cuadro de nombre y el botón al cuadro principal::" +msgid "Then, we add the name box and the button to the main box:" +msgstr "A continuación, añadimos el cuadro de nombre y el botón al cuadro principal:" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" -msgstr "Esto completa nuestro diseño; el resto del método de inicio es como antes - definiendo una MainWindow, y asignando la caja principal como contenido de la ventana::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Esto completa nuestro diseño; el resto del método de inicio es como antes - definiendo una MainWindow, y asignando la caja principal como contenido de la ventana:" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" -msgstr "Lo último que tenemos que hacer es definir el manejador del botón. Un manejador puede ser cualquier método, generador o co-rutina asíncrona; acepta el widget que generó el evento como argumento, y será invocado cada vez que se pulse el botón::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "Lo último que tenemos que hacer es definir el manejador del botón. Un manejador puede ser cualquier método, generador o co-rutina asíncrona; acepta el widget que generó el evento como argumento, y será invocado cada vez que se pulse el botón:" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba #, fuzzy @@ -245,8 +245,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." -msgstr "Notarás que esta vez, *no* instala dependencias. Briefcase puede detectar que la aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, sólo ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, puedes asegurarte de que se instalan pasando una opción ``-r`` cuando ejecutes ``briefcase dev``." +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Notarás que esta vez, *no* instala dependencias. Briefcase puede detectar que la aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, sólo ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, puedes asegurarte de que se instalan pasando una opción `-r` cuando ejecutes `briefcase dev`." #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de #, fuzzy @@ -274,7 +274,7 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "Si introduce un nombre en el cuadro de texto y pulsa el botón GUI, debería ver aparecer la salida en la consola donde inició la aplicación." #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc @@ -283,9 +283,9 @@ msgstr "Siguientes pasos" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pero sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta aplicación para su distribución. En :doc:`Tutorial 3 `, vamos a empaquetar nuestra aplicación como un instalador independiente que podríamos enviar a un amigo, un cliente, o subir a una App Store." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pero sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta aplicación para su distribución. En [Tutorial 3][tutorial-3], vamos a empaquetar nuestra aplicación como un instalador independiente que podríamos enviar a un amigo, un cliente, o subir a una App Store." -#~ msgid "Lets do something more interesting with our ``HelloWorld`` app." +#~ msgid "Lets do something more interesting with our `HelloWorld` app." #~ msgstr "" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po index a5351795..27500519 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po @@ -41,8 +41,8 @@ msgstr "Creación del andamiaje de aplicaciones" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "Dado que esta es la primera vez que empaquetamos nuestra aplicación, necesitamos crear algunos archivos de configuración y otros andamios para apoyar el proceso de empaquetado. Desde el directorio ``helloworld``, ejecuta:" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Dado que esta es la primera vez que empaquetamos nuestra aplicación, necesitamos crear algunos archivos de configuración y otros andamios para apoyar el proceso de empaquetado. Desde el directorio `helloworld`, ejecuta:" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -71,7 +71,7 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." msgstr "" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 @@ -117,8 +117,8 @@ msgstr "" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "Se **instalan los requisitos de la aplicación**. Tu aplicación puede especificar cualquier módulo de terceros que se requiera en tiempo de ejecución. Estos serán instalados usando ``pip`` en el instalador de tu aplicación." +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Se **instalan los requisitos de la aplicación**. Tu aplicación puede especificar cualquier módulo de terceros que se requiera en tiempo de ejecución. Estos serán instalados usando `pip` en el instalador de tu aplicación." #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f #, fuzzy @@ -132,8 +132,8 @@ msgstr "Por último, añade cualquier recurso adicional que necesite el propio i #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Una vez completado esto, si miras en el directorio del proyecto, deberías ver un directorio correspondiente a tu plataforma (``macOS``, ``linux``, o ``windows``) que contiene archivos adicionales. Esta es la configuración de empaquetado específica de la plataforma para tu aplicación." +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Una vez completado esto, si miras en el directorio del proyecto, deberías ver un directorio correspondiente a tu plataforma (`macOS`, `linux`, o `windows`) que contiene archivos adicionales. Esta es la configuración de empaquetado específica de la plataforma para tu aplicación." #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece #, fuzzy @@ -147,18 +147,18 @@ msgstr "Ahora puede compilar su aplicación. Este paso realiza cualquier compila #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d #, fuzzy -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "En macOS, el comando ``build`` no necesita *compilar* nada, pero sí necesita firmar el contenido del binario para que pueda ser ejecutado. Esta firma es una firma *ad hoc* - sólo funcionará en *tu* máquina; si quieres distribuir la aplicación a otros, necesitarás proporcionar una firma completa." +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "En macOS, el comando `build` no necesita *compilar* nada, pero sí necesita firmar el contenido del binario para que pueda ser ejecutado. Esta firma es una firma *ad hoc* - sólo funcionará en *tu* máquina; si quieres distribuir la aplicación a otros, necesitarás proporcionar una firma completa." #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 #, fuzzy -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "Una vez completado este paso, la carpeta ``build`` contendrá una carpeta ``helloworld-0.0.1`` que contiene una réplica de un sistema de archivos Linux ``/usr``. Esta réplica del sistema de archivos contendrá una carpeta ``bin`` con un binario ``helloworld``, además de las carpetas ``lib`` y ``share`` necesarias para soportar el binario." +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Una vez completado este paso, la carpeta `build` contendrá una carpeta `helloworld-0.0.1` que contiene una réplica de un sistema de archivos Linux `/usr`. Esta réplica del sistema de archivos contendrá una carpeta `bin` con un binario `helloworld`, además de las carpetas `lib` y `share` necesarias para soportar el binario." #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 #, fuzzy -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "En Windows, el comando ``build`` no necesita *compilar* nada, pero sí escribir algunos metadatos para que la aplicación sepa su nombre, versión, etc." +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "En Windows, el comando `build` no necesita *compilar* nada, pero sí escribir algunos metadatos para que la aplicación sepa su nombre, versión, etc." #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa #, fuzzy @@ -167,8 +167,8 @@ msgstr "Activación del antivirus" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "Dado que estos metadatos se escriben directamente en el binario precompilado que se despliega desde la plantilla durante el comando ``create``, esto puede activar el software antivirus que se ejecuta en su máquina e impedir que se escriban los metadatos. En ese caso, indique al antivirus que permita la ejecución de la herramienta (llamada ``rcedit-x64.exe``) y vuelva a ejecutar el comando anterior." +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Dado que estos metadatos se escriben directamente en el binario precompilado que se despliega desde la plantilla durante el comando `create`, esto puede activar el software antivirus que se ejecuta en su máquina e impedir que se escriban los metadatos. En ese caso, indique al antivirus que permita la ejecución de la herramienta (llamada `rcedit-x64.exe`) y vuelva a ejecutar el comando anterior." #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 #, fuzzy @@ -182,8 +182,8 @@ msgstr "Ahora puede utilizar Briefcase para ejecutar su aplicación:" #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "Esto iniciará la ejecución de su aplicación nativa, utilizando la salida del comando ``build``." +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Esto iniciará la ejecución de su aplicación nativa, utilizando la salida del comando `build`." #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 #, fuzzy @@ -191,7 +191,7 @@ msgid "You might notice some small differences in the way your application looks msgstr "Es posible que notes algunas pequeñas diferencias en el aspecto de tu aplicación cuando se está ejecutando. Por ejemplo, los iconos y el nombre mostrados por el sistema operativo pueden ser ligeramente diferentes a los que veías cuando se ejecutaba en modo desarrollador. Esto también se debe a que estás utilizando la aplicación empaquetada, no sólo ejecutando código Python. Desde la perspectiva del sistema operativo, ahora estás ejecutando \"una aplicación\", no \"un programa Python\", y esto se refleja en cómo aparece la aplicación." #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -201,23 +201,23 @@ msgstr "Creación del instalador" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc #, fuzzy -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Ahora puedes empaquetar tu aplicación para su distribución, utilizando el comando ``package``. El comando ``package`` realiza cualquier compilación necesaria para convertir el proyecto en un producto final y distribuible. Dependiendo de la plataforma, esto puede implicar compilar un instalador, realizar la firma de código, o hacer otras tareas previas a la distribución." +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Ahora puedes empaquetar tu aplicación para su distribución, utilizando el comando `package`. El comando `package` realiza cualquier compilación necesaria para convertir el proyecto en un producto final y distribuible. Dependiendo de la plataforma, esto puede implicar compilar un instalador, realizar la firma de código, o hacer otras tareas previas a la distribución." #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 #, fuzzy -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "La carpeta ``dist`` contendrá un archivo llamado ``Hello World-0.0.1.dmg``. Si localizas este archivo en el Finder y haces doble clic en su icono, montarás el DMG, lo que te proporcionará una copia de la aplicación Hello World y un enlace a tu carpeta Aplicaciones para facilitar la instalación. Arrastra el archivo de la aplicación a Aplicaciones, y habrás instalado tu aplicación. Envía el archivo DMG a un amigo y podrá hacer lo mismo." +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "La carpeta `dist` contendrá un archivo llamado `Hello World-0.0.1.dmg`. Si localizas este archivo en el Finder y haces doble clic en su icono, montarás el DMG, lo que te proporcionará una copia de la aplicación Hello World y un enlace a tu carpeta Aplicaciones para facilitar la instalación. Arrastra el archivo de la aplicación a Aplicaciones, y habrás instalado tu aplicación. Envía el archivo DMG a un amigo y podrá hacer lo mismo." #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 #, fuzzy -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "En este ejemplo, hemos utilizado la opción ``--adhoc-sign`` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre `Cómo configurar una identidad de firma de código de macOS `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 #, fuzzy @@ -226,8 +226,8 @@ msgstr "La salida del paso paquete será ligeramente diferente dependiendo de su #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c #, fuzzy -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "La carpeta ``dist`` contendrá el archivo ``.deb`` generado." +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "La carpeta `dist` contendrá el archivo `.deb` generado." #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee #, fuzzy @@ -236,8 +236,8 @@ msgstr "Si estás en una distribución basada en RHEL, lo verás:" #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 #, fuzzy -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "La carpeta ``dist`` contendrá el archivo ``.rpm`` generado." +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "La carpeta `dist` contendrá el archivo `.rpm` generado." #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 #, fuzzy @@ -246,8 +246,8 @@ msgstr "Si estás en una distribución basada en Arch, lo verás:" #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 #, fuzzy -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "La carpeta ``dist`` contendrá el archivo ``.pkg.tar.zst`` generado." +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "La carpeta `dist` contendrá el archivo `.pkg.tar.zst` generado." #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae #, fuzzy @@ -261,8 +261,8 @@ msgstr "Si desea crear un paquete para una distribución de Linux distinta de la #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 #, fuzzy -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Existen instaladores oficiales de `Docker Engine `__ para diversas distribuciones de Unix. Siga las instrucciones para su plataforma; sin embargo, asegúrese de no instalar Docker en modo \"sin raíz\"." +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Existen instaladores oficiales de [Docker Engine]{1} para diversas distribuciones de Unix. Siga las instrucciones para su plataforma; sin embargo, asegúrese de no instalar Docker en modo \"sin raíz\"." #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe #, fuzzy @@ -271,8 +271,8 @@ msgstr "Una vez que hayas instalado Docker, deberías ser capaz de iniciar un co #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 #, fuzzy -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "te mostrará un prompt Unix (algo como ``root@84444e31cff9:/#``) dentro de un contenedor Docker Ubuntu 22.04. Escribe Ctrl-D para salir de Docker y volver a tu shell local." +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "te mostrará un prompt Unix (algo como `root@84444e31cff9:/#`) dentro de un contenedor Docker Ubuntu 22.04. Escribe Ctrl-D para salir de Docker y volver a tu shell local." #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 #, fuzzy @@ -281,23 +281,23 @@ msgstr "Una vez que tengas Docker instalado, puedes usar Briefcase para construi #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "Esto descargará la imagen Docker para el sistema operativo seleccionado, creará un contenedor capaz de ejecutar las compilaciones de Briefcase y compilará el paquete de la aplicación dentro de la imagen. Una vez completado, la carpeta ``dist`` contendrá el paquete para la distribución Linux de destino." +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Esto descargará la imagen Docker para el sistema operativo seleccionado, creará un contenedor capaz de ejecutar las compilaciones de Briefcase y compilará el paquete de la aplicación dentro de la imagen. Una vez completado, la carpeta `dist` contendrá el paquete para la distribución Linux de destino." #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 #, fuzzy msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "En este ejemplo, hemos utilizado la opción ``--adhoc-sign`` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." +msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre `Cómo configurar una identidad de firma de código de macOS `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c #, fuzzy -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Una vez completado este paso, la carpeta ``dist`` contendrá un archivo llamado ``Hello_World-0.0.1.msi``. Si haces doble clic en este instalador para ejecutarlo, deberías seguir el proceso de instalación de Windows que ya conoces. Una vez finalizada la instalación, aparecerá una entrada \"Hello World\" en el menú de inicio." +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Una vez completado este paso, la carpeta `dist` contendrá un archivo llamado `Hello_World-0.0.1.msi`. Si haces doble clic en este instalador para ejecutarlo, deberías seguir el proceso de instalación de Windows que ya conoces. Una vez finalizada la instalación, aparecerá una entrada \"Hello World\" en el menú de inicio." #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" @@ -305,9 +305,9 @@ msgstr "Siguientes pasos" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio. Pero, ¿qué ocurre cuando necesitamos actualizar el código de nuestra aplicación? ¿Cómo introducimos esas actualizaciones en nuestra aplicación empaquetada? Visita :doc:`Tutorial 4 <./tutorial-4>` para averiguarlo..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio. Pero, ¿qué ocurre cuando necesitamos actualizar el código de nuestra aplicación? ¿Cómo introducimos esas actualizaciones en nuestra aplicación empaquetada? Visita [Tutorial 4][./tutorial-4] para averiguarlo..." -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." #~ msgstr "" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po index 77319775..3079d068 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po @@ -41,11 +41,11 @@ msgstr "Actualmente, nuestra aplicación imprime en la consola cuando se pulsa e #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "Vamos a añadir un cuadro de diálogo para decir hola, en lugar de escribir en la consola. Modifica el callback ``say_hello`` para que se vea así::" +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Vamos a añadir un cuadro de diálogo para decir hola, en lugar de escribir en la consola. Modifica el callback `say_hello` para que se vea así:" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -55,8 +55,8 @@ msgstr "Esto indica a Toga que abra un cuadro de diálogo modal cuando se pulse #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 #, fuzzy -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Si ejecutas ``briefcase dev``, introduces un nombre y pulsas el botón, verás el nuevo cuadro de diálogo:" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Si ejecutas `briefcase dev`, introduces un nombre y pulsas el botón, verás el nuevo cuadro de diálogo:" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -93,13 +93,13 @@ msgstr "Diálogo Hello World Tutorial 4, en Windows" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 #, fuzzy -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "Sin embargo, si ejecutas ``briefcase run``, el cuadro de diálogo no aparecerá." +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Sin embargo, si ejecutas `briefcase run`, el cuadro de diálogo no aparecerá." #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a #, fuzzy -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "¿Por qué? Bueno, ``briefcase dev`` opera ejecutando tu código en su lugar - intenta producir un entorno de ejecución lo más realista posible para tu código, pero no proporciona ni utiliza ninguna de las infraestructuras de la plataforma para empaquetar tu código como una aplicación. Parte del proceso de empaquetar tu aplicación implica copiar tu código *dentro* del paquete de la aplicación - y por el momento, tu aplicación todavía tiene el código antiguo en ella." +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "¿Por qué? Bueno, `briefcase dev` opera ejecutando tu código en su lugar - intenta producir un entorno de ejecución lo más realista posible para tu código, pero no proporciona ni utiliza ninguna de las infraestructuras de la plataforma para empaquetar tu código como una aplicación. Parte del proceso de empaquetar tu aplicación implica copiar tu código *dentro* del paquete de la aplicación - y por el momento, tu aplicación todavía tiene el código antiguo en ella." #: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 #, fuzzy @@ -108,18 +108,18 @@ msgstr "Así que - necesitamos decirle a briefcase que actualice tu aplicación, #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "Si Briefcase no puede encontrar la plantilla de andamiaje, invocará automáticamente ``create`` para generar un andamiaje nuevo." +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Si Briefcase no puede encontrar la plantilla de andamiaje, invocará automáticamente `create` para generar un andamiaje nuevo." #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 #, fuzzy -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." -msgstr "Ahora que hemos actualizado el código del instalador, podemos ejecutar ``briefcase build`` para volver a compilar la aplicación, ``briefcase run`` para ejecutar la aplicación actualizada, y ``briefcase package`` para volver a empaquetar la aplicación para su distribución." +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Ahora que hemos actualizado el código del instalador, podemos ejecutar `briefcase build` para volver a compilar la aplicación, `briefcase run` para ejecutar la aplicación actualizada, y `briefcase package` para volver a empaquetar la aplicación para su distribución." #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 #, fuzzy -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(usuarios de macOS, recordad que como se indica en :doc:`Tutorial 3 `, para el tutorial recomendamos ejecutar ``briefcase package`` con la bandera ``--adhoc-sign`` para evitar la complejidad de configurar una identidad de firma de código y mantener el tutorial lo más simple posible)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(usuarios de macOS, recordad que como se indica en [Tutorial 3][tutorial-3], para el tutorial recomendamos ejecutar `briefcase package` con la bandera `--adhoc-sign` para evitar la complejidad de configurar una identidad de firma de código y mantener el tutorial lo más simple posible)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 #, fuzzy @@ -128,33 +128,33 @@ msgstr "Actualizar y ejecutar en un solo paso" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." -msgstr "Si estás iterando rápidamente cambios en el código, es probable que quieras hacer un cambio en el código, actualizar la aplicación, y volver a ejecutar inmediatamente tu aplicación. Para la mayoría de los propósitos, el modo desarrollador (``briefcase dev``) será la forma más fácil de hacer este tipo de iteración rápida; sin embargo, si estás probando algo sobre cómo se ejecuta tu aplicación como un binario nativo, o buscando un error que sólo se manifiesta cuando tu aplicación está empaquetada, puede que necesites usar repetidas llamadas a ``briefcase run``. Para simplificar el proceso de actualización y ejecución de la aplicación empaquetada, Briefcase tiene un atajo para soportar este patrón de uso - la opción ``-u`` (o ``--update``) en el comando ``run``." +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Si estás iterando rápidamente cambios en el código, es probable que quieras hacer un cambio en el código, actualizar la aplicación, y volver a ejecutar inmediatamente tu aplicación. Para la mayoría de los propósitos, el modo desarrollador (`briefcase dev`) será la forma más fácil de hacer este tipo de iteración rápida; sin embargo, si estás probando algo sobre cómo se ejecuta tu aplicación como un binario nativo, o buscando un error que sólo se manifiesta cuando tu aplicación está empaquetada, puede que necesites usar repetidas llamadas a `briefcase run`. Para simplificar el proceso de actualización y ejecución de la aplicación empaquetada, Briefcase tiene un atajo para soportar este patrón de uso - la opción `-u` (o `--update`) en el comando `run`." #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." -msgstr "Intentemos hacer otro cambio. Usted puede haber notado que si no escribe un nombre en el cuadro de entrada de texto, el cuadro de diálogo dirá \"Hola, \". Vamos a modificar la función ``say_hello`` de nuevo para manejar este caso extremo." +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Intentemos hacer otro cambio. Usted puede haber notado que si no escribe un nombre en el cuadro de entrada de texto, el cuadro de diálogo dirá \"Hola, \". Vamos a modificar la función `say_hello` de nuevo para manejar este caso extremo." #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db #, fuzzy -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "En la parte superior del fichero, entre las importaciones y la definición de la ``clase HelloWorld``, añade un método de utilidad para generar un saludo apropiado dependiendo del valor del nombre que se haya proporcionado::" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "En la parte superior del fichero, entre las importaciones y la definición de la `clase HelloWorld`, añade un método de utilidad para generar un saludo apropiado dependiendo del valor del nombre que se haya proporcionado:" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e #, fuzzy -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "A continuación, modifica la llamada de retorno ``say_hello`` para utilizar este nuevo método de utilidad::" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "A continuación, modifica la llamada de retorno `say_hello` para utilizar este nuevo método de utilidad:" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 #, fuzzy -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Ejecuta tu aplicación en modo desarrollo (con ``briefcase dev``) para confirmar que la nueva lógica funciona; después actualiza, compila y ejecuta la aplicación con un solo comando:" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Ejecuta tu aplicación en modo desarrollo (con `briefcase dev`) para confirmar que la nueva lógica funciona; después actualiza, compila y ejecuta la aplicación con un solo comando:" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 #, fuzzy -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." -msgstr "El comando package también acepta el argumento ``-u``, de modo que si realizas un cambio en el código de tu aplicación y quieres volver a empaquetarlo inmediatamente, puedes ejecutar ``briefcase package -u``." +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "El comando package también acepta el argumento `-u`, de modo que si realizas un cambio en el código de tu aplicación y quieres volver a empaquetarlo inmediatamente, puedes ejecutar `briefcase package -u`." #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -167,6 +167,6 @@ msgstr "Ahora tenemos nuestra aplicación empaquetada para su distribución en p #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 #, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Pero, ¿qué pasa con los móviles? En :doc:`Tutorial 5 `, convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Pero, ¿qué pasa con los móviles? En [Tutorial 5][tutorial-5/index], convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po index ab7d2910..d18e5377 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -31,8 +31,8 @@ msgid "Create an Android app and compile it" msgstr "Crear una aplicación Android y compilarla" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "Primero, ejecuta el comando ``create``. Esto descarga una plantilla de aplicación Android y le añade tu código Python." +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Primero, ejecuta el comando `create`. Esto descarga una plantilla de aplicación Android y le añade tu código Python." #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -63,44 +63,44 @@ msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f #, fuzzy -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Cuando ejecutas ``briefcase create android`` por primera vez, Briefcase descarga un JDK de Java, y el SDK de Android. El tamaño de los archivos y el tiempo de descarga pueden ser considerables; esto puede llevar un tiempo (10 minutos o más, dependiendo de la velocidad de tu conexión a Internet). Una vez finalizada la descarga, se le pedirá que acepte la licencia del SDK de Android de Google." +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Cuando ejecutas `briefcase create android` por primera vez, Briefcase descarga un JDK de Java, y el SDK de Android. El tamaño de los archivos y el tiempo de descarga pueden ser considerables; esto puede llevar un tiempo (10 minutos o más, dependiendo de la velocidad de tu conexión a Internet). Una vez finalizada la descarga, se le pedirá que acepte la licencia del SDK de Android de Google." #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Una vez completado esto, tendremos un directorio ``build\\helloworld\\android\\gradle`` en nuestro proyecto, que contendrá un proyecto Android con una configuración de construcción Gradle. Este proyecto contendrá el código de la aplicación, y un paquete de soporte que contiene el intérprete de Python." +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Una vez completado esto, tendremos un directorio `build\\helloworld\\android\\gradle` en nuestro proyecto, que contendrá un proyecto Android con una configuración de construcción Gradle. Este proyecto contendrá el código de la aplicación, y un paquete de soporte que contiene el intérprete de Python." #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "A continuación, podemos utilizar el comando ``build`` de Briefcase para compilar esto en un archivo de aplicación Android APK." +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "A continuación, podemos utilizar el comando `build` de Briefcase para compilar esto en un archivo de aplicación Android APK." #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 msgid "Gradle may look stuck" msgstr "Gradle puede parecer atascado" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante el paso ``briefcase build android``, Gradle (la herramienta de compilación de la plataforma Android) imprimirá ``CONFIGURING: 100%``, y parecerá que no está haciendo nada. No te preocupes, no está atascado - está descargando más componentes del SDK de Android. Dependiendo de la velocidad de su conexión a Internet, esto puede tardar otros 10 minutos (o más). Este retraso sólo debería ocurrir la primera vez que ejecutes ``build``; las herramientas se almacenan en caché, y en tu próxima compilación, se utilizarán las versiones almacenadas en caché." +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Durante el paso `briefcase build android`, Gradle (la herramienta de compilación de la plataforma Android) imprimirá `CONFIGURING: 100%`, y parecerá que no está haciendo nada. No te preocupes, no está atascado - está descargando más componentes del SDK de Android. Dependiendo de la velocidad de su conexión a Internet, esto puede tardar otros 10 minutos (o más). Este retraso sólo debería ocurrir la primera vez que ejecutes `build`; las herramientas se almacenan en caché, y en tu próxima compilación, se utilizarán las versiones almacenadas en caché." #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 msgid "Run the app on a virtual device" msgstr "Ejecutar la aplicación en un dispositivo virtual" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Ahora estamos listos para ejecutar nuestra aplicación. Puedes utilizar el comando ``run`` de Briefcase para ejecutar la aplicación en un dispositivo Android. Empecemos ejecutando en un emulador de Android." +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Ahora estamos listos para ejecutar nuestra aplicación. Puedes utilizar el comando `run` de Briefcase para ejecutar la aplicación en un dispositivo Android. Empecemos ejecutando en un emulador de Android." #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Para ejecutar tu aplicación, ejecuta ``briefcase run android``. Al hacerlo, se te pedirá una lista de dispositivos en los que podrías ejecutar la aplicación. El último elemento será siempre una opción para crear un nuevo emulador de Android." +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Para ejecutar tu aplicación, ejecuta `briefcase run android`. Al hacerlo, se te pedirá una lista de dispositivos en los que podrías ejecutar la aplicación. El último elemento será siempre una opción para crear un nuevo emulador de Android." #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." -msgstr "Ahora podemos elegir el dispositivo deseado. Selecciona la opción \"Crear un nuevo emulador de Android\", y acepta la opción por defecto para el nombre del dispositivo (``beePhone``)." +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Ahora podemos elegir el dispositivo deseado. Selecciona la opción \"Crear un nuevo emulador de Android\", y acepta la opción por defecto para el nombre del dispositivo (`beePhone`)." #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase ``run`` arrancará automáticamente el dispositivo virtual. Cuando el dispositivo esté arrancando, verás el logo de Android:" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` arrancará automáticamente el dispositivo virtual. Cuando el dispositivo esté arrancando, verás el logo de Android:" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -133,8 +133,8 @@ msgid "The emulator didn't start!" msgstr "¡El emulador no arranca!" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." -msgstr "El emulador de Android es un software complejo que depende de una serie de características del hardware y del sistema operativo, características que pueden no estar disponibles o habilitadas en máquinas más antiguas. Si tiene dificultades para iniciar el emulador de Android, consulte la sección `Requerimientos y recomendaciones `__ de la documentación para desarrolladores de Android." +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "El emulador de Android es un software complejo que depende de una serie de características del hardware y del sistema operativo, características que pueden no estar disponibles o habilitadas en máquinas más antiguas. Si tiene dificultades para iniciar el emulador de Android, consulte la sección [Requerimientos y recomendaciones]{1} de la documentación para desarrolladores de Android." #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" @@ -149,16 +149,16 @@ msgid "Demo app fully launched" msgstr "Lanzamiento completo de la aplicación de demostración" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "Si no ves que tu aplicación se inicia, es posible que tengas que comprobar el terminal donde ejecutaste ``briefcase run`` y buscar cualquier mensaje de error." +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Si no ves que tu aplicación se inicia, es posible que tengas que comprobar el terminal donde ejecutaste `briefcase run` y buscar cualquier mensaje de error." #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "En el futuro, si deseas ejecutar en este dispositivo sin usar el menú, puedes proporcionar el nombre del emulador a Briefcase, usando ``briefcase run android -d \"@beePhone\"`` para ejecutar en el dispositivo virtual directamente." +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "En el futuro, si deseas ejecutar en este dispositivo sin usar el menú, puedes proporcionar el nombre del emulador a Briefcase, usando `briefcase run android -d \"@beePhone\"` para ejecutar en el dispositivo virtual directamente." #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 msgid "Run the app on a physical device" @@ -181,16 +181,16 @@ msgid "Enable USB debugging" msgstr "Activar la depuración USB" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "Los detalles sobre cómo realizar estos cambios se pueden encontrar `en la documentación para desarrolladores de Android `__." +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Los detalles sobre cómo realizar estos cambios se pueden encontrar [en la documentación para desarrolladores de Android]{1}." #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "Una vez completados estos pasos, tu dispositivo debería aparecer en la lista de dispositivos disponibles cuando ejecutes ``briefcase run android``." +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Una vez completados estos pasos, tu dispositivo debería aparecer en la lista de dispositivos disponibles cuando ejecutes `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "Aquí podemos ver un nuevo dispositivo físico con su número de serie en la lista de despliegue - en este caso, un Pixel 3a. En el futuro, si desea ejecutar en este dispositivo sin utilizar el menú, puede proporcionar el número de serie del teléfono a Briefcase (en este caso, ``briefcase run android -d 94ZZY0LNE8``). Esto se ejecutará en el dispositivo directamente, sin preguntar." +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Aquí podemos ver un nuevo dispositivo físico con su número de serie en la lista de despliegue - en este caso, un Pixel 3a. En el futuro, si desea ejecutar en este dispositivo sin utilizar el menú, puede proporcionar el número de serie del teléfono a Briefcase (en este caso, `briefcase run android -d 94ZZY0LNE8`). Esto se ejecutará en el dispositivo directamente, sin preguntar." #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd msgid "My device doesn't appear!" @@ -201,14 +201,14 @@ msgid "If your device doesn't appear on this list at all, either you haven't ena msgstr "Si tu dispositivo no aparece en esta lista, significa que no has activado la depuración USB (o que el dispositivo no está conectado)." #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "Si su dispositivo aparece, pero aparece como \"Dispositivo desconocido (no autorizado para el desarrollo)\", el modo de desarrollador no se ha habilitado correctamente. Vuelve a ejecutar `los pasos para habilitar las opciones de desarrollador `__, y vuelve a ejecutar ``briefcase run android``." +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Si su dispositivo aparece, pero aparece como \"Dispositivo desconocido (no autorizado para el desarrollo)\", el modo de desarrollador no se ha habilitado correctamente. Vuelve a ejecutar [los pasos para habilitar las opciones de desarrollador]{1}, y vuelve a ejecutar `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" msgstr "Siguientes pasos" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita :doc:`Tutorial 6 <../tutorial-6>` para averiguarlo..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 7f114b4e..f74a6122 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -20,8 +20,8 @@ msgstr "Tutorial 5 - Para móviles: iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e #, fuzzy -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "Para compilar aplicaciones para iOS, necesitamos Xcode, que se encuentra disponible de forma gratuita en la `App Store de macOS `__. Una vez que Xcode esté instalado, ábrelo desde la carpeta Aplicaciones y acepta el Acuerdo de Licencia de Xcode. A continuación, Xcode mostrará los entornos de simulador que ya vienen integrados y aquellos que puedes descargar. Marca la casilla junto al entorno del simulador de iOS y luego haz clic en \"Continuar\" para descargarlo e instalarlo." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgstr "Para compilar aplicaciones para iOS, necesitamos Xcode, que se encuentra disponible de forma gratuita en la [App Store de macOS]{1}. Una vez que Xcode esté instalado, ábrelo desde la carpeta Aplicaciones y acepta el Acuerdo de Licencia de Xcode. A continuación, Xcode mostrará los entornos de simulador que ya vienen integrados y aquellos que puedes descargar. Marca la casilla junto al entorno del simulador de iOS y luego haz clic en \"Continuar\" para descargarlo e instalarlo." #: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae #, fuzzy @@ -29,20 +29,20 @@ msgid "Once we've got Xcode and the iOS simulator installed, we can take our app msgstr "Una vez que tengamos Xcode instalado, podemos tomar nuestra aplicación e implementarla como una aplicación de iOS." #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "El proceso de implementación de una aplicación en iOS es muy similar al proceso de implementación como aplicación de escritorio. Primero, ejecuta el comando ``create``, pero esta vez especificamos que queremos crear una aplicación para iOS:" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "El proceso de implementación de una aplicación en iOS es muy similar al proceso de implementación como aplicación de escritorio. Primero, ejecuta el comando `create`, pero esta vez especificamos que queremos crear una aplicación para iOS:" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Una vez que esto se complete, tendremos un directorio ``build/helloworld/ios/xcode`` que contiene un proyecto Xcode, así como las bibliotecas de soporte y el código de aplicación necesario para la aplicación." +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Una vez que esto se complete, tendremos un directorio `build/helloworld/ios/xcode` que contiene un proyecto Xcode, así como las bibliotecas de soporte y el código de aplicación necesario para la aplicación." #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "Luego puedes usar Briefcase para compilar tu aplicación usando ``briefcase build iOS`` (compilar para iOS con Briefcase):" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Luego puedes usar Briefcase para compilar tu aplicación usando `briefcase build iOS` (compilar para iOS con Briefcase):" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Ya estamos listos para ejecutar nuestra aplicación, utilizando ``briefcase run iOS`` (ejecutar iOS con Briefcase). Se te pedirá que selecciones un dispositivo para el cual puedes compilar; si tienes instalados simuladores para varias versiones del SDK de iOS, puede que también se te pregunte a qué versión de iOS quieres apuntar. Las opciones que se le muestren pueden diferir de las que se muestran en esta salida; como mínimo, es probable que la lista de dispositivos sea diferente. Para fines prácticos, no importa qué simulador se elija." +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Ya estamos listos para ejecutar nuestra aplicación, utilizando `briefcase run iOS` (ejecutar iOS con Briefcase). Se te pedirá que selecciones un dispositivo para el cual puedes compilar; si tienes instalados simuladores para varias versiones del SDK de iOS, puede que también se te pregunte a qué versión de iOS quieres apuntar. Las opciones que se le muestren pueden diferir de las que se muestran en esta salida; como mínimo, es probable que la lista de dispositivos sea diferente. Para fines prácticos, no importa qué simulador se elija." #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" @@ -57,8 +57,8 @@ msgid "While the app is running, you'll see a series of Simulator log output mes msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a Briefcase que utilice ese simulador proporcionando una opción ``-d`` (o ``--device``). Utilizando el nombre del dispositivo que seleccionaste cuando creaste tu aplicación, ejecuta:" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a Briefcase que utilice ese simulador proporcionando una opción `-d` (o `--device`). Utilizando el nombre del dispositivo que seleccionaste cuando creaste tu aplicación, ejecuta:" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" @@ -73,9 +73,9 @@ msgid "Next steps" msgstr "Siguientes pasos" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita :doc:`Tutorial 6 <../tutorial-6>` para averiguarlo..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." -#~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en `la App Store de macOS `__." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en [la App Store de macOS]{1}." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po index 96a6a235..6293975e 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -38,9 +38,9 @@ msgstr "Android" msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Las aplicaciones Android pueden compilarse en macOS, Windows o Linux." -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`¡Creemos nuestra aplicación para iOS! `" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[¡Creemos nuestra aplicación para iOS!][iOS]" -#~ msgid ":doc:`Let's build our app for Android! `" -#~ msgstr ":doc:`¡Creemos nuestra aplicación para Android! `" +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[¡Creemos nuestra aplicación para Android!][android]" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po index 916ac545..9b2bac86 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po @@ -64,8 +64,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 #, fuzzy -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "Esto abrirá un navegador web, apuntando a `http://127.0.0.1:8080 `__:" +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Esto abrirá un navegador web, apuntando a [http://127.0.0.1:8080](http://127.0.0.1:8080):" #: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 #, fuzzy @@ -84,13 +84,13 @@ msgstr "¿Como funciona esto?" #: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." -msgstr "Esta aplicación web es un sitio web estático - una única página fuente HTML, con algunos CSS y otros recursos. Briefcase ha iniciado un servidor web local para servir esta página y que tu navegador pueda verla. Si quisieras poner esta página web en producción, podrías copiar el contenido de la carpeta ``www`` en cualquier servidor web que pueda servir contenido estático." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Esta aplicación web es un sitio web estático - una única página fuente HTML, con algunos CSS y otros recursos. Briefcase ha iniciado un servidor web local para servir esta página y que tu navegador pueda verla. Si quisieras poner esta página web en producción, podrías copiar el contenido de la carpeta `www` en cualquier servidor web que pueda servir contenido estático." #: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Pero cuando pulsas el botón, estás ejecutando código Python... ¿cómo funciona eso? Toga utiliza `PyScript `__ para proporcionar un intérprete de Python en el navegador. Briefcase empaqueta el código de tu aplicación como ruedas que PyScript puede cargar en el navegador. Cuando se carga la página, el código de la aplicación se ejecuta en el navegador, construyendo la interfaz de usuario utilizando el DOM del navegador. Cuando pulsas un botón, ese botón ejecuta el código de gestión de eventos en el navegador." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Pero cuando pulsas el botón, estás ejecutando código Python... ¿cómo funciona eso? Toga utiliza [PyScript]{1} para proporcionar un intérprete de Python en el navegador. Briefcase empaqueta el código de tu aplicación como ruedas que PyScript puede cargar en el navegador. Cuando se carga la página, el código de la aplicación se ejecuta en el navegador, construyendo la interfaz de usuario utilizando el DOM del navegador. Cuando pulsas un botón, ese botón ejecuta el código de gestión de eventos en el navegador." #: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 msgid "Next steps" @@ -98,5 +98,5 @@ msgstr "Siguientes pasos" #: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." -msgstr "Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, dispositivos móviles y la web, la aplicación es bastante sencilla y no incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python Package Index (PyPI) en nuestra aplicación? Visita :doc:`Tutorial 7 ` para averiguarlo..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, dispositivos móviles y la web, la aplicación es bastante sencilla y no incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7][tutorial-7] para averiguarlo..." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po index ee62315f..723a9e04 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po @@ -38,18 +38,18 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e #, fuzzy -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "Vamos a añadir una llamada a la API ``httpx`` a nuestra aplicación. Añade un import al principio de ``app.py`` para importar ``httpx``::" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Vamos a añadir una llamada a la API `httpx` a nuestra aplicación. Añade un import al principio de `app.py` para importar `httpx`:" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Luego modifica el callback ``say_hello()`` para que se vea así::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Luego modifica el callback `say_hello()` para que se vea así:" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 #, fuzzy @@ -104,8 +104,8 @@ msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f #, fuzzy -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" -msgstr "¿Qué ha pasado? Hemos añadido ``httpx`` a nuestro *código*, pero no lo hemos añadido a nuestro entorno virtual de desarrollo. Podemos solucionarlo instalando ``httpx`` con ``pip``, y volviendo a ejecutar ``briefcase dev``:" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "¿Qué ha pasado? Hemos añadido `httpx` a nuestro *código*, pero no lo hemos añadido a nuestro entorno virtual de desarrollo. Podemos solucionarlo instalando `httpx` con `pip`, y volviendo a ejecutar `briefcase dev`:" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -141,8 +141,8 @@ msgstr "Ejecutar la aplicación actualizada" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "Vamos a empaquetar este código de aplicación actualizado como una aplicación independiente. Como hemos hecho cambios en el código, tenemos que seguir los mismos pasos que en :doc:`Tutorial 4 `:" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Vamos a empaquetar este código de aplicación actualizado como una aplicación independiente. Como hemos hecho cambios en el código, tenemos que seguir los mismos pasos que en [Tutorial 4][tutorial-4]:" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -202,8 +202,8 @@ msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la con #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "Una vez más, la aplicación no ha podido iniciarse porque ``httpx`` ha sido instalado - pero ¿por qué? ¿No hemos instalado ya ``httpx``?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Una vez más, la aplicación no ha podido iniciarse porque `httpx` ha sido instalado - pero ¿por qué? ¿No hemos instalado ya `httpx`?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -212,8 +212,8 @@ msgstr "Sí, pero sólo en el entorno de desarrollo. Tu entorno de desarrollo es #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "La única forma de garantizar que alguien más tenga un entorno Python que contenga todo lo que necesita es construir un entorno Python completamente aislado. Esto significa que hay una instalación de Python completamente aislada, y un conjunto de dependencias completamente aislado. Esto es lo que Briefcase construye cuando ejecutas ``briefcase build`` - un entorno Python aislado. Esto también explica por qué ``httpx`` no está instalado - ha sido instalado en tu entorno de *desarrollo*, pero no en la aplicación empaquetada." +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "La única forma de garantizar que alguien más tenga un entorno Python que contenga todo lo que necesita es construir un entorno Python completamente aislado. Esto significa que hay una instalación de Python completamente aislada, y un conjunto de dependencias completamente aislado. Esto es lo que Briefcase construye cuando ejecutas `briefcase build` - un entorno Python aislado. Esto también explica por qué `httpx` no está instalado - ha sido instalado en tu entorno de *desarrollo*, pero no en la aplicación empaquetada." #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -227,43 +227,43 @@ msgstr "Actualización de las dependencias" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "En el directorio raíz de tu aplicación, hay un archivo llamado ``pyproject.toml``. Este archivo contiene todos los detalles de configuración de la aplicación que proporcionaste cuando ejecutaste ``briefcase new``." +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "En el directorio raíz de tu aplicación, hay un archivo llamado `pyproject.toml`. Este archivo contiene todos los detalles de configuración de la aplicación que proporcionaste cuando ejecutaste `briefcase new`." #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" -msgstr "``pyproject.toml`` está dividido en secciones; una de las secciones describe la configuración de tu aplicación::" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` está dividido en secciones; una de las secciones describe la configuración de tu aplicación:" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "La opción ``requires`` describe las dependencias de nuestra aplicación. Es una lista de cadenas, especificando librerías (y, opcionalmente, versiones) de librerías que quieres que se incluyan con tu app." +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "La opción `requires` describe las dependencias de nuestra aplicación. Es una lista de cadenas, especificando librerías (y, opcionalmente, versiones) de librerías que quieres que se incluyan con tu app." #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "Modifique la configuración ``requires`` para que diga::" +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modifique la configuración `requires` para que diga:" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "Al añadir esta opción, le estamos diciendo a Briefcase \"cuando compiles mi aplicación, ejecuta ``pip install httpx`` en el paquete de la aplicación\". Cualquier cosa que sea una entrada legal para ``pip install`` se puede utilizar aquí - por lo que podría especificar:" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Al añadir esta opción, le estamos diciendo a Briefcase \"cuando compiles mi aplicación, ejecuta `pip install httpx` en el paquete de la aplicación\". Cualquier cosa que sea una entrada legal para `pip install` se puede utilizar aquí - por lo que podría especificar:" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "Una versión específica de la biblioteca (por ejemplo, ``\"httpx==0.19.0\"``);" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Una versión específica de la biblioteca (por ejemplo, `\"httpx==0.19.0\"`);" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "Un rango de versiones de la biblioteca (por ejemplo, ``\"httpx>=0.19\"``);" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Un rango de versiones de la biblioteca (por ejemplo, `\"httpx>=0.19\"`);" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "Una ruta a un repositorio git (por ejemplo, ``\"git+https://github.com/encode/httpx\"``); o bien" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Una ruta a un repositorio git (por ejemplo, `\"git+https://github.com/encode/httpx\"`); o bien" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 #, fuzzy @@ -272,84 +272,84 @@ msgstr "Una ruta de archivo local (No obstante, ten cuidado: si entregas tu cód #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Más abajo en ``pyproject.toml``, verás otras secciones que dependen del sistema operativo, como ``[tool.briefcase.app.helloworld.macOS]`` y ``[tool.briefcase.app.helloworld.windows]``. Estas secciones también tienen una configuración ``requires``. Estas opciones te permiten definir dependencias adicionales específicas de la plataforma; así, por ejemplo, si necesitas una biblioteca específica de la plataforma para manejar algún aspecto de tu aplicación, puedes especificar esa biblioteca en la sección ``requires`` específica de la plataforma, y esa opción sólo se utilizará para esa plataforma. Notarás que las librerías ``toga`` están todas especificadas en la sección ``requires`` específica de la plataforma - esto es porque las librerías necesarias para mostrar una interfaz de usuario son específicas de la plataforma." +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Más abajo en `pyproject.toml`, verás otras secciones que dependen del sistema operativo, como `[tool.briefcase.app.helloworld.macOS]` y `[tool.briefcase.app.helloworld.windows]`. Estas secciones también tienen una configuración `requires`. Estas opciones te permiten definir dependencias adicionales específicas de la plataforma; así, por ejemplo, si necesitas una biblioteca específica de la plataforma para manejar algún aspecto de tu aplicación, puedes especificar esa biblioteca en la sección `requires` específica de la plataforma, y esa opción sólo se utilizará para esa plataforma. Notarás que las librerías `toga` están todas especificadas en la sección `requires` específica de la plataforma - esto es porque las librerías necesarias para mostrar una interfaz de usuario son específicas de la plataforma." #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "En nuestro caso, queremos que ``httpx`` se instale en todas las plataformas, por lo que utilizamos el parámetro ``requires`` a nivel de aplicación. Las dependencias a nivel de aplicación siempre se instalarán; las dependencias específicas de la plataforma se instalan *además* de las dependencias a nivel de aplicación." +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "En nuestro caso, queremos que `httpx` se instale en todas las plataformas, por lo que utilizamos el parámetro `requires` a nivel de aplicación. Las dependencias a nivel de aplicación siempre se instalarán; las dependencias específicas de la plataforma se instalan *además* de las dependencias a nivel de aplicación." #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Ahora que hemos informado a Briefcase sobre nuestros requisitos adicionales, podemos intentar empaquetar nuestra aplicación de nuevo. Asegúrate de que has guardado los cambios en ``pyproject.toml``, y luego actualiza tu aplicación de nuevo - esta vez, introduciendo la bandera ``-r``. Esto le dice a Briefcase que actualice los requisitos en la aplicación empaquetada:" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Ahora que hemos informado a Briefcase sobre nuestros requisitos adicionales, podemos intentar empaquetar nuestra aplicación de nuevo. Asegúrate de que has guardado los cambios en `pyproject.toml`, y luego actualiza tu aplicación de nuevo - esta vez, introduciendo la bandera `-r`. Esto le dice a Briefcase que actualice los requisitos en la aplicación empaquetada:" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "Una vez que haya actualizado, puede ejecutar ``briefcase build`` y ``briefcase run`` - y usted debe ver su aplicación empaquetada, con el nuevo comportamiento de diálogo." +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Una vez que haya actualizado, puede ejecutar `briefcase build` y `briefcase run` - y usted debe ver su aplicación empaquetada, con el nuevo comportamiento de diálogo." #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "La opción ``-r`` para actualizar los requisitos también es respetada por los comandos ``build`` y ``run``, así que si quieres actualizar, construir y ejecutar en un solo paso, puedes usar ``briefcase run -u -r``." +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "La opción `-r` para actualizar los requisitos también es respetada por los comandos `build` y `run`, así que si quieres actualizar, construir y ejecutar en un solo paso, puedes usar `briefcase run -u -r`." #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "En plataformas de escritorio (macOS, Windows, Linux), se puede añadir cualquier ``pip``-instalable a sus requisitos. En plataformas móviles y web, las opciones son ligeramente limitadas `__." +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "En plataformas de escritorio (macOS, Windows, Linux), se puede añadir cualquier `pip`-instalable a sus requisitos. En plataformas móviles y web, [las opciones son ligeramente limitadas]{1}." #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 #, fuzzy msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare puede proporcionar binarios para algunos módulos binarios populares (incluyendo ``numpy``, ``pandas``, y ``cryptography``). Es *normalmente* posible compilar paquetes para plataformas móviles, pero no es fácil de configurar - fuera del alcance de un tutorial introductorio como éste." +msgstr "BeeWare puede proporcionar binarios para algunos módulos binarios populares (incluyendo `numpy`, `pandas`, y `cryptography`). Es *normalmente* posible compilar paquetes para plataformas móviles, pero no es fácil de configurar - fuera del alcance de un tutorial introductorio como éste." #: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 msgid "Next steps" msgstr "Siguientes pasos" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "Acceso a una API" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "Una tarea común que una aplicación necesitará realizar es hacer una petición a una API web para recuperar datos, y mostrar esos datos al usuario. Esta es una aplicación de juguete, así que no tenemos una API *real* con la que trabajar, así que usaremos la `{JSON} Placeholder API `__ como fuente de datos." +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Una tarea común que una aplicación necesitará realizar es hacer una petición a una API web para recuperar datos, y mostrar esos datos al usuario. Esta es una aplicación de juguete, así que no tenemos una API *real* con la que trabajar, así que usaremos la [{JSON} Placeholder API]{1} como fuente de datos." -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "El {JSON} Placeholder API tiene una serie de \"falsos\" puntos finales de la API que puede utilizar como datos de prueba. Una de esas API es el punto final ``/posts/``, que devuelve entradas de blog falsas. Si abre ``https://jsonplaceholder.typicode.com/posts/42`` en su navegador, obtendrá una carga útil JSON que describe una única entrada: algo de contenido `Lorum ipsum `__ para una entrada de blog con ID 42." +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "El {JSON} Placeholder API tiene una serie de \"falsos\" puntos finales de la API que puede utilizar como datos de prueba. Una de esas API es el punto final `/posts/`, que devuelve entradas de blog falsas. Si abre `https://jsonplaceholder.typicode.com/posts/42` en su navegador, obtendrá una carga útil JSON que describe una única entrada: algo de contenido [Lorum ipsum]{1} para una entrada de blog con ID 42." #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." #~ msgstr "La biblioteca estándar de Python contiene todas las herramientas necesarias para acceder a una API. Sin embargo, las API incorporadas son de muy bajo nivel. Son buenas implementaciones del protocolo HTTP, pero requieren que el usuario gestione muchos detalles de bajo nivel, como la redirección de URL, las sesiones, la autenticación y la codificación de la carga útil. Como \"usuario normal de navegador\" probablemente estés acostumbrado a dar por sentado estos detalles, ya que un navegador gestiona estos detalles por ti." -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "Como resultado, la gente ha desarrollado bibliotecas de terceros que envuelven las APIs integradas y proporcionan una API más simple que se acerca más a la experiencia cotidiana del navegador. Vamos a utilizar una de esas bibliotecas para acceder a la API {JSON} Placeholder - una biblioteca llamada `httpx `__." +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Como resultado, la gente ha desarrollado bibliotecas de terceros que envuelven las APIs integradas y proporcionan una API más simple que se acerca más a la experiencia cotidiana del navegador. Vamos a utilizar una de esas bibliotecas para acceder a la API {JSON} Placeholder - una biblioteca llamada [httpx]{1}." -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "Esto cambiará la llamada de retorno ``say_hello()`` para que cuando sea invocada, lo haga:" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Esto cambiará la llamada de retorno `say_hello()` para que cuando sea invocada, lo haga:" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "realice una solicitud GET en la API de marcador de posición JSON para obtener el puesto 42;" @@ -369,6 +369,6 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "En resumen; cualquier paquete *puro* de Python (es decir, paquetes que *no* contienen un módulo binario) puede ser utilizado sin dificultad. Sin embargo, si su dependencia contiene un componente binario, debe ser compilado; en este momento, la mayoría de los paquetes de Python no proporcionan soporte de compilación para plataformas que no sean de escritorio." -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." -#~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita :doc:`Tutorial 8 ` para averiguarlo..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita [Tutorial 8][tutorial-8] para averiguarlo..." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po index 2af6b407..2b32b197 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po @@ -37,7 +37,7 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 @@ -46,24 +46,24 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos ``say_hello()`` para que se vea así::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -83,7 +83,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -159,8 +159,8 @@ msgstr "Para entender por qué ocurre esto, tenemos que profundizar en los detal #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 #, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like::" -msgstr "Una aplicación GUI es, fundamentalmente, un único bucle parecido a::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Una aplicación GUI es, fundamentalmente, un único bucle parecido a:" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 #, fuzzy @@ -169,13 +169,13 @@ msgstr "Este bucle se llama *Bucle de Evento*. (Estos no son nombres de métodos #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "Cuando haces clic en un botón, arrastras una barra de desplazamiento o tecleas una tecla, estás generando un \"evento\". Ese \"evento\" se coloca en una cola, y la aplicación procesará la cola de eventos la próxima vez que tenga la oportunidad de hacerlo. El código de usuario que se activa en respuesta al evento se denomina *manejador de eventos*. Estos manejadores de eventos son invocados como parte de la llamada ``process_events()``." +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Cuando haces clic en un botón, arrastras una barra de desplazamiento o tecleas una tecla, estás generando un \"evento\". Ese \"evento\" se coloca en una cola, y la aplicación procesará la cola de eventos la próxima vez que tenga la oportunidad de hacerlo. El código de usuario que se activa en respuesta al evento se denomina *manejador de eventos*. Estos manejadores de eventos son invocados como parte de la llamada `process_events()`." #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 #, fuzzy -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Una vez que una aplicación ha procesado todos los eventos disponibles, ``redibujará()`` la GUI. Esto tiene en cuenta cualquier cambio que los eventos hayan causado en la pantalla de la aplicación, así como cualquier otra cosa que esté ocurriendo en el sistema operativo - por ejemplo, las ventanas de otra aplicación pueden oscurecer o revelar parte de la ventana de nuestra aplicación, y el redibujado de nuestra aplicación tendrá que reflejar la parte de la ventana que es visible en ese momento." +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Una vez que una aplicación ha procesado todos los eventos disponibles, `redibujará()` la GUI. Esto tiene en cuenta cualquier cambio que los eventos hayan causado en la pantalla de la aplicación, así como cualquier otra cosa que esté ocurriendo en el sistema operativo - por ejemplo, las ventanas de otra aplicación pueden oscurecer o revelar parte de la ventana de nuestra aplicación, y el redibujado de nuestra aplicación tendrá que reflejar la parte de la ventana que es visible en ese momento." #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 #, fuzzy @@ -219,8 +219,8 @@ msgstr "Las funciones asíncronas (conocidas como *corrutinas*) deben declararse #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "En Python, la programación asíncrona se implementa utilizando las palabras clave ``async`` y ``await``, y el módulo `asyncio `__ de la biblioteca estándar. La palabra clave ``async`` nos permite declarar que una función es una co-rutina asíncrona. La palabra clave ``await`` proporciona una forma de declarar cuando existe la oportunidad de cambiar el contexto a otra co-rutina. El módulo `asyncio `__ proporciona algunas otras herramientas útiles y primitivas para la codificación asíncrona." +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "En Python, la programación asíncrona se implementa utilizando las palabras clave `async` y `await`, y el módulo [asyncio]{1} de la biblioteca estándar. La palabra clave `async` nos permite declarar que una función es una co-rutina asíncrona. La palabra clave `await` proporciona una forma de declarar cuando existe la oportunidad de cambiar el contexto a otra co-rutina. El módulo [asyncio]{2} proporciona algunas otras herramientas útiles y primitivas para la codificación asíncrona." #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -229,8 +229,8 @@ msgstr "Hacer que el tutorial sea asíncrono" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 #, fuzzy -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" -msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos ``say_hello()`` para que se vea así::" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 #, fuzzy @@ -239,20 +239,20 @@ msgstr "Sólo hay 4 cambios en este código con respecto a la versión anterior: #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d #, fuzzy -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "El cliente que se crea es un ``AsyncClient()`` asíncrono, en lugar de un ``Client()`` síncrono. Esto indica a ``httpx`` que debe operar en modo asíncrono, en lugar de síncrono." +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "El cliente que se crea es un `AsyncClient()` asíncrono, en lugar de un `Client()` síncrono. Esto indica a `httpx` que debe operar en modo asíncrono, en lugar de síncrono." #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d #, fuzzy -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "El gestor de contexto utilizado para crear el cliente está marcado como ``async``. Esto le indica a Python que existe la oportunidad de liberar el control a medida que se entra y se sale del gestor de contexto." +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "El gestor de contexto utilizado para crear el cliente está marcado como `async`. Esto le indica a Python que existe la oportunidad de liberar el control a medida que se entra y se sale del gestor de contexto." #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -263,7 +263,7 @@ msgstr "Toga te permite utilizar métodos regulares o co-rutinas asíncronas com #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Si guardas estos cambios y vuelves a ejecutar la aplicación (ya sea con ``briefcase dev`` en modo desarrollo, o actualizando y volviendo a ejecutar la aplicación empaquetada), no habrá ningún cambio obvio en la aplicación. Sin embargo, al hacer clic en el botón para activar el cuadro de diálogo, puede notar una serie de mejoras sutiles:" +msgstr "Si guardas estos cambios y vuelves a ejecutar la aplicación (ya sea con `briefcase dev` en modo desarrollo, o actualizando y volviendo a ejecutar la aplicación empaquetada), no habrá ningún cambio obvio en la aplicación. Sin embargo, al hacer clic en el botón para activar el cuadro de diálogo, puede notar una serie de mejoras sutiles:" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 #, fuzzy @@ -286,7 +286,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "Si intentas abrir el menú de una aplicación, el menú aparecerá inmediatamente." #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -338,29 +338,29 @@ msgid "So - where to from here?" msgstr "Entonces - ¿ahora qué?" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." -msgstr "Si quieres ir más allá, hay algunos tutoriales :doc:`Tutoriales adicionales ` que entran en detalle sobre aspectos específicos del desarrollo de aplicaciones." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +msgstr "Si quieres ir más allá, hay algunos tutoriales [Tutoriales adicionales][/tutorial/topics/index] que entran en detalle sobre aspectos específicos del desarrollo de aplicaciones." #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a #, fuzzy -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." -msgstr "Si quieres saber más sobre cómo construir interfaces de usuario complejas con Toga, puedes sumergirte en `la documentación de Toga `__. Toga también tiene su propio tutorial `demostrando cómo usar varias características del widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +msgstr "Si quieres saber más sobre cómo construir interfaces de usuario complejas con Toga, puedes sumergirte en [la documentación de Toga]{1}. Toga también tiene su propio tutorial [demostrando cómo usar varias características del widget toolkit]{2}." #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d #, fuzzy -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." -msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse en `la documentación de Briefcase `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse en [la documentación de Briefcase]{1}." -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "Ahora tenemos una aplicación que es ágil y sensible, incluso cuando está esperando en una API lenta. Pero, ¿cómo podemos asegurarnos de que la aplicación sigue funcionando a medida que continuamos desarrollándola? ¿Cómo probamos nuestra aplicación? Visita :doc:`Tutorial 9 ` para descubrirlo..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Ahora tenemos una aplicación que es ágil y sensible, incluso cuando está esperando en una API lenta. Pero, ¿cómo podemos asegurarnos de que la aplicación sigue funcionando a medida que continuamos desarrollándola? ¿Cómo probamos nuestra aplicación? Visita [Tutorial 9][tutorial-9] para descubrirlo..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "El método se define como ``async def``, en lugar de sólo ``def``. Esto indica a Python que el método es una co-rutina asíncrona." +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "El método se define como `async def`, en lugar de sólo `def`. Esto indica a Python que el método es una co-rutina asíncrona." -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "La llamada ``get`` se hace con una palabra clave ``await``. Esto indica a la aplicación que, mientras esperamos la respuesta de la red, puede ceder el control al bucle de eventos." +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "La llamada `get` se hace con una palabra clave `await`. Esto indica a la aplicación que, mientras esperamos la respuesta de la red, puede ceder el control al bucle de eventos." -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po index 782ddae5..7bb0d280 100644 --- a/locales/fr/LC_MESSAGES/how-to/index.po +++ b/locales/fr/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index da3973b0..634b8f04 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -31,8 +31,8 @@ msgid "Translations are available" msgstr "Des traductions sont disponibles" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "Si vous n'êtes pas à l'aise en français, vous pouvez trouver des traductions de ce didacticiel en `English `__, `Deutsch `__, `Español `__, `Português `__, and `汉语 `__." +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "Si vous n'êtes pas à l'aise en français, vous pouvez trouver des traductions de ce didacticiel en [English]{1}, [Deutsch]{2}, [Español]{3}, [Português]{4}, and [汉语]{5}." #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 msgid "This is a machine translation!" @@ -44,8 +44,8 @@ msgstr "Cette version du didacticiel a en partie été générée par une traduc #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "Si vous souhaitez nous aider à améliorer la traduction, n'hésitez pas à nous contacter ! Nous avons un canal ``#translations`` dans `Discord `__ ; présentez-vous et nous vous ajouterons à l'équipe de traduction." +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Si vous souhaitez nous aider à améliorer la traduction, n'hésitez pas à nous contacter ! Nous avons un canal `#translations` dans [Discord]{1} ; présentez-vous et nous vous ajouterons à l'équipe de traduction." #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 msgid "This is a translation!" @@ -65,18 +65,18 @@ msgstr "BeeWare n'est pas un produit, un outil ou une bibliothèque unique - c'e #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e #, fuzzy -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__, une boîte à outils de widgets multiplateforme ;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, une boîte à outils de widgets multiplateforme ;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e #, fuzzy -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__, un outil pour empaqueter les projets Python en tant qu'artefacts distribuables pouvant être envoyés aux utilisateurs finaux ;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, un outil pour empaqueter les projets Python en tant qu'artefacts distribuables pouvant être envoyés aux utilisateurs finaux ;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc #, fuzzy -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "Des bibliothèques (telles que `Rubicon ObjC `__) pour accéder aux bibliothèques natives des diverses plates-formes ;" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Des bibliothèques (telles que [Rubicon ObjC]{1}) pour accéder aux bibliothèques natives des diverses plates-formes ;" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." @@ -96,6 +96,6 @@ msgid "Let's go!" msgstr "C'est parti !" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "Prêt à essayer BeeWare par vous-même ? :doc:`Créons une application multiplateforme en Python ! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Prêt à essayer BeeWare par vous-même ? [Créons une application multiplateforme en Python !][tutorial/tutorial-0]" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po index 1cee1dc4..41797195 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po @@ -52,11 +52,11 @@ msgid "Start a new project" msgstr "" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "" #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" msgstr "" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f @@ -64,7 +64,7 @@ msgid "Add code to take a photo" msgstr "" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" msgstr "" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd @@ -72,15 +72,15 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." msgstr "" #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." msgstr "" #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." msgstr "" #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 @@ -96,7 +96,7 @@ msgid "However, this request comes in two parts. The first is in the code we've msgstr "" #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" msgstr "" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b @@ -124,10 +124,10 @@ msgid "Adding more permissions" msgstr "" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "" -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.helloworld]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" #~ msgstr "" #~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po index 28cbc76a..e04f6929 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -34,7 +34,7 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "" #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 @@ -42,7 +42,7 @@ msgid "This icon definition doesn't specify any file extension. The value will b msgstr "" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/topics/custom-icons.rst:36 @@ -85,7 +85,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -97,11 +97,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -109,30 +109,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**Bientôt disponible**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "Nous avons maintenant une application avec une icône personnalisée sur notre bureau et notre téléphone ! Comment partager cette application avec tout le monde ? Consultez :doc:`Tutoriel 11 ` pour le découvrir..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Nous avons maintenant une application avec une icône personnalisée sur notre bureau et notre téléphone ! Comment partager cette application avec tout le monde ? Consultez [Tutoriel 11][tutorial-11] pour le découvrir..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "Tutoriel 10 - Créez votre propre application" @@ -140,5 +140,5 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "Étapes suivantes" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po index 4007a060..a17ee0c5 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po @@ -31,18 +31,18 @@ msgstr "Exécution de la suite de tests" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "Il s'avère que notre projet possède déjà une suite de tests ! Lorsque nous avons généré notre projet à l'origine, deux répertoires de premier niveau ont été générés : ``src`` et ``tests``. Le dossier ``src`` contient le code de notre application ; le dossier ``tests`` contient notre suite de tests. Dans le dossier ``tests`` se trouve un fichier nommé ``test_app.py`` avec le contenu suivant: :" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Il s'avère que notre projet possède déjà une suite de tests ! Lorsque nous avons généré notre projet à l'origine, deux répertoires de premier niveau ont été générés : `src` et `tests`. Le dossier `src` contient le code de notre application ; le dossier `tests` contient notre suite de tests. Dans le dossier `tests` se trouve un fichier nommé `test_app.py` avec le contenu suivant: :" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 #, fuzzy -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Ceci est un `Pytest `__ *test case* - un bloc de code qui peut être exécuté pour vérifier un certain comportement de votre application. Dans ce cas, le test est un placeholder, et ne teste rien de notre application - mais c'est un test que nous pouvons effectuer." +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Ceci est un [Pytest]{1} *test case* - un bloc de code qui peut être exécuté pour vérifier un certain comportement de votre application. Dans ce cas, le test est un placeholder, et ne teste rien de notre application - mais c'est un test que nous pouvons effectuer." #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 #, fuzzy -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "Nous pouvons lancer cette suite de tests en utilisant l'option ``--test`` de ``briefcase dev``. Comme c'est la première fois que nous lançons des tests, nous devons également passer l'option ``-r`` pour nous assurer que les exigences de test sont également installées :" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Nous pouvons lancer cette suite de tests en utilisant l'option `--test` de `briefcase dev`. Comme c'est la première fois que nous lançons des tests, nous devons également passer l'option `-r` pour nous assurer que les exigences de test sont également installées :" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 #: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 @@ -75,8 +75,8 @@ msgstr "Succès ! Nous venons d'exécuter un seul test qui vérifie que les math #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "Remplaçons ce placeholder test par un test pour vérifier que notre méthode ``greeting()`` se comporte comme nous l'attendons. Remplacez le contenu de ``test_app.py`` par ce qui suit: :" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Remplaçons ce placeholder test par un test pour vérifier que notre méthode `greeting()` se comporte comme nous l'attendons. Remplacez le contenu de `test_app.py` par ce qui suit: :" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe #, fuzzy @@ -85,13 +85,13 @@ msgstr "Ceci définit deux nouveaux tests, vérifiant les deux comportements que #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "Nous pouvons maintenant réexécuter la suite de tests. Cette fois, nous n'avons pas besoin de fournir l'option ``-r``, puisque les pré-requis pour les tests ont déjà été installés ; nous avons seulement besoin d'utiliser l'option ``--test`` :" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Nous pouvons maintenant réexécuter la suite de tests. Cette fois, nous n'avons pas besoin de fournir l'option `-r`, puisque les pré-requis pour les tests ont déjà été installés ; nous avons seulement besoin d'utiliser l'option `--test` :" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 #, fuzzy -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "Excellent ! Notre méthode utilitaire ``greeting()`` fonctionne comme prévu." +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Excellent ! Notre méthode utilitaire `greeting()` fonctionne comme prévu." #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 #, fuzzy @@ -100,8 +100,8 @@ msgstr "Développement piloté par les tests" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "Maintenant que nous disposons d'une suite de tests, nous pouvons l'utiliser pour développer de nouvelles fonctionnalités. Modifions notre application pour avoir un message d'accueil spécial pour un utilisateur particulier. Nous pouvons commencer par ajouter un scénario de test pour le nouveau comportement que nous aimerions voir au bas de ``test_app.py``: :" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Maintenant que nous disposons d'une suite de tests, nous pouvons l'utiliser pour développer de nouvelles fonctionnalités. Modifions notre application pour avoir un message d'accueil spécial pour un utilisateur particulier. Nous pouvons commencer par ajouter un scénario de test pour le nouveau comportement que nous aimerions voir au bas de `test_app.py`: :" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 #, fuzzy @@ -110,8 +110,8 @@ msgstr "Ensuite, exécutez la suite de tests avec ce nouveau test :" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "Cette fois, nous voyons un échec du test - et la sortie explique la source de l'échec : le test attend la sortie \"BeeWare the IDEs of Python !\", mais notre implémentation de ``greeting()`` retourne \"Hello, Brutus\". Modifions l'implémentation de ``greeting()`` dans ``src/helloworld/app.py`` pour avoir le nouveau comportement: :" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Cette fois, nous voyons un échec du test - et la sortie explique la source de l'échec : le test attend la sortie \"BeeWare the IDEs of Python !\", mais notre implémentation de `greeting()` retourne \"Hello, Brutus\". Modifions l'implémentation de `greeting()` dans `src/helloworld/app.py` pour avoir le nouveau comportement: :" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 #, fuzzy @@ -130,18 +130,18 @@ msgstr "Jusqu'à présent, nous avons exécuté les tests en mode développement #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 #, fuzzy -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Les options ``--test`` et ``-r`` peuvent également être passées à la commande ``run``. Si vous utilisez ``briefcase run --test -r``, la même suite de tests s'exécutera, mais elle s'exécutera dans le paquetage de l'application plutôt que dans votre environnement de développement :" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Les options `--test` et `-r` peuvent également être passées à la commande `run`. Si vous utilisez `briefcase run --test -r`, la même suite de tests s'exécutera, mais elle s'exécutera dans le paquetage de l'application plutôt que dans votre environnement de développement :" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 #, fuzzy -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Comme pour ``briefcase dev --test``, l'option ``-r`` n'est nécessaire que la première fois que vous exécutez la suite de tests pour vous assurer que les dépendances des tests sont présentes. Lors des exécutions suivantes, vous pouvez omettre cette option." +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Comme pour `briefcase dev --test`, l'option `-r` n'est nécessaire que la première fois que vous exécutez la suite de tests pour vous assurer que les dépendances des tests sont présentes. Lors des exécutions suivantes, vous pouvez omettre cette option." #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c #, fuzzy -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "Vous pouvez également utiliser l'option `--test`` sur les backends mobiles : - ainsi `briefcase run iOS --test`` et ``briefcase run android --test`` fonctionneront tous les deux, lançant la suite de tests sur l'appareil mobile que vous avez sélectionné." +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Vous pouvez également utiliser l'option `--test` sur les backends mobiles : - ainsi `briefcase run iOS --test` et `briefcase run android --test` fonctionneront tous les deux, lançant la suite de tests sur l'appareil mobile que vous avez sélectionné." #~ msgid "Next steps" #~ msgstr "Étapes suivantes" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po index 5fa9ca83..3d0745e6 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po @@ -38,13 +38,13 @@ msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du `site web de Python `_. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 #, fuzzy -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." -msgstr "Il existe de nombreuses façons d'installer Python. Vous pouvez installer Python via `homebrew `__. Vous pouvez utiliser `pyenv `__ pour gérer plusieurs installations de Python sur la même machine. Les utilisateurs de Windows peuvent installer Python à partir du Windows App Store. Les utilisateurs ayant une formation en science des données pourraient préfèrer utiliser `Anaconda `__ ou `Miniconda `__." +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Il existe de nombreuses façons d'installer Python. Vous pouvez installer Python via [homebrew]{1}. Vous pouvez utiliser [pyenv]{2} pour gérer plusieurs installations de Python sur la même machine. Les utilisateurs de Windows peuvent installer Python à partir du Windows App Store. Les utilisateurs ayant une formation en science des données pourraient préfèrer utiliser [Anaconda]{3} ou [Miniconda]{4}." #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -65,8 +65,8 @@ msgid "Linux" msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "Si vous êtes sous Linux, vous installerez Python en utilisant le gestionnaire de paquets du système (``apt`` sur Debian/Ubuntu/Mint, ``dnf`` sur Fedora, ou ``pacman`` sur Arch)." +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Si vous êtes sous Linux, vous installerez Python en utilisant le gestionnaire de paquets du système (`apt` sur Debian/Ubuntu/Mint, `dnf` sur Fedora, ou `pacman` sur Arch)." #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -89,8 +89,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du `site web de Python `_. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -99,8 +99,8 @@ msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "Si vous êtes sous macOS ou Windows, peu importe *comment* vous avez installé Python – ce qui compte c'est que vous puissiez lancer ``python3`` à partir de l'invite de commande/terminal de votre système d'exploitation, et obtenir un interpréteur Python fonctionnel." +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Si vous êtes sous macOS ou Windows, peu importe *comment* vous avez installé Python – ce qui compte c'est que vous puissiez lancer `python3` à partir de l'invite de commande/terminal de votre système d'exploitation, et obtenir un interpréteur Python fonctionnel." #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 msgid "Install dependencies" @@ -145,8 +145,8 @@ msgid "Building BeeWare apps on Windows requires:" msgstr "La création d'applications BeeWare sur Windows nécessite :" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git**, un système de contrôle de version. Vous pouvez télécharger Git à partir de `git-scm.com `__." +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, un système de contrôle de version. Vous pouvez télécharger Git à partir de [git-scm.com]{1}." #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." @@ -161,7 +161,7 @@ msgid "We're now going to create a virtual environment - a \"sandbox\" that we c msgstr "Nous allons maintenant créer un environnement virtuel – un \"bac à sable\" (sandbox) que nous pouvons utiliser pour isoler notre travail sur ce tutoriel de notre installation Python principale. Si nous installons des paquets dans l'environnement virtuel, notre installation principale de Python (et tout autre projet Python sur notre ordinateur) ne sera pas affectée. Si nous provoquons un désordre complet dans notre environnement virtuel, nous pourrons simplement l'effacer et recommencer, sans affecter aucun autre projet Python sur notre ordinateur, et sans avoir besoin de réinstaller Python." #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." msgstr "" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 @@ -169,7 +169,7 @@ msgid "Errors running PowerShell Scripts" msgstr "Erreurs lors de l'exécution de scripts PowerShell" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error::" +msgid "If you're using PowerShell, and you receive the error:" msgstr "Si vous utilisez PowerShell et que vous recevez l'erreur :" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c @@ -177,40 +177,40 @@ msgid "Your Windows account doesn't have permissions to run scripts. To fix this msgstr "Votre compte Windows n'a pas les autorisations nécessaires pour exécuter des scripts. Pour y remédier :" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." +msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "Exécutez ``set-executionpolicy RemoteSigned``" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Exécutez `set-executionpolicy RemoteSigned`" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select ``Y`` to change the execution policy." +msgid "Select `Y` to change the execution policy." msgstr "Sélectionnez \"O\" pour modifier la politique d'exécution." #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "Une fois que vous avez fait cela, vous pouvez exécuter à nouveau ``beeware-venv\\Scripts\\activate.ps1`` dans votre session PowerShell d'origine (ou dans une nouvelle session dans le même répertoire)." +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Une fois que vous avez fait cela, vous pouvez exécuter à nouveau `beeware-venv\\Scripts\\activate.ps1` dans votre session PowerShell d'origine (ou dans une nouvelle session dans le même répertoire)." #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "Si cela a fonctionné, votre prompt devrait maintenant être modifié – il devrait avoir un préfixe ``(beeware-venv)``. Cela vous permet de savoir que vous êtes actuellement dans votre environnement virtuel BeeWare. Chaque fois que vous travaillerez sur ce tutoriel, vous devrez vous assurer que votre environnement virtuel est activé. Si ce n'est pas le cas, relancez la dernière commande (la commande ``activate``) pour réactiver votre environnement." +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Si cela a fonctionné, votre prompt devrait maintenant être modifié – il devrait avoir un préfixe `(beeware-venv)`. Cela vous permet de savoir que vous êtes actuellement dans votre environnement virtuel BeeWare. Chaque fois que vous travaillerez sur ce tutoriel, vous devrez vous assurer que votre environnement virtuel est activé. Si ce n'est pas le cas, relancez la dernière commande (la commande `activate`) pour réactiver votre environnement." #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd msgid "Alternative virtual environments" msgstr "Environnements virtuels alternatifs" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "Si vous utilisez Anaconda ou miniconda, vous êtes peut-être plus familier avec l'utilisation des environnements conda. Vous avez peut-être aussi entendu parler de ``virtualenv``, un prédécesseur du module intégré ``venv`` de Python. De même pour les installations de Python – si vous êtes sous macOS ou Windows, peu importe *comment* vous créez votre environnement virtuel, tant que vous en avez un. Si vous êtes sous Linux, vous devriez vous en tenir à ``venv`` et au Python du système." +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Si vous utilisez Anaconda ou miniconda, vous êtes peut-être plus familier avec l'utilisation des environnements conda. Vous avez peut-être aussi entendu parler de `virtualenv`, un prédécesseur du module intégré `venv` de Python. De même pour les installations de Python – si vous êtes sous macOS ou Windows, peu importe *comment* vous créez votre environnement virtuel, tant que vous en avez un. Si vous êtes sous Linux, vous devriez vous en tenir à `venv` et au Python du système." #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" msgstr "Étapes suivantes" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prêts à :doc:`créer notre première application BeeWare `." +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prêts à [créer notre première application BeeWare][tutorial-1]." #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "Exécutez Windows PowerShell en tant qu'administrateur." @@ -230,6 +230,6 @@ msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prê #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "Si Python est installé, vous verrez son numéro de version. Sinon, vous serez invité à installer les outils de développement en ligne de commande." -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du `site web de Python `_. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po index d6cdaa00..e586f217 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po @@ -27,8 +27,8 @@ msgid "Install the BeeWare tools" msgstr "Installer les outils BeeWare" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" -msgstr "Tout d'abord, nous devons installer **Briefcase**. Briefcase est un outil BeeWare qui peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux – mais il peut également être utilisé pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire ``beeware-tutorial`` que vous avez créé lors du :doc:`Tutorial 0 `, avec l'environnement virtuel ``beeware-venv`` activé, et exécutez :" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Tout d'abord, nous devons installer **Briefcase**. Briefcase est un outil BeeWare qui peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux – mais il peut également être utilisé pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire `beeware-tutorial` que vous avez créé lors du [Tutorial 0][tutorial-0], avec l'environnement virtuel `beeware-venv` activé, et exécutez :" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -50,8 +50,8 @@ msgid "Possible errors during installation" msgstr "Erreurs possibles lors de l'installation" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." -msgstr "Si vous rencontrez des erreurs pendant l'installation, c'est très certainement parce que certains des prérequis du système n'ont pas été installés. Assurez-vous d'avoir :ref:`installé tous les prérequis de la plateforme `." +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Si vous rencontrez des erreurs pendant l'installation, c'est très certainement parce que certains des prérequis du système n'ont pas été installés. Assurez-vous d'avoir [installé tous les prérequis de la plateforme ][install-dependencies]." #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -61,37 +61,37 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "Il est important que vous utilisiez ``python -m pip``, plutôt qu'un simple ``pip``. Briefcase doit s'assurer qu'il a une version à jour de ``pip`` et de ``setuptools``, et une simple utilisation de ``pip`` ne peut pas se mettre à jour d'elle-même. Si vous voulez en savoir plus, `Brett Cannon a publié un billet de blog détaillé sur ce sujet `__." +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "Il est important que vous utilisiez `python -m pip`, plutôt qu'un simple `pip`. Briefcase doit s'assurer qu'il a une version à jour de `pip` et de `setuptools`, et une simple utilisation de `pip` ne peut pas se mettre à jour d'elle-même. Si vous voulez en savoir plus, [Brett Cannon a publié un billet de blog détaillé sur ce sujet]{1}." #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd msgid "Bootstrap a new project" msgstr "Créer un nouveau projet" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Commençons notre premier projet BeeWare ! Nous allons utiliser la commande ``new`` de Briefcase pour créer une application appelée **Hello World**. Exécutez la commande suivante à partir de votre invite de commande :" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Commençons notre premier projet BeeWare ! Nous allons utiliser la commande `new` de Briefcase pour créer une application appelée **Hello World**. Exécutez la commande suivante à partir de votre invite de commande :" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" msgstr "Briefcase nous demandera quelques détails sur notre nouvelle application. Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :" #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**Formal Name** (Nom formel) – Acceptez la valeur par défaut : ``Hello World``." +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formal Name** (Nom formel) – Acceptez la valeur par défaut : `Hello World`." #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**App Name** (Nom de l'application) - Acceptez la valeur par défaut : ``helloworld``." +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** (Nom de l'application) - Acceptez la valeur par défaut : `helloworld`." #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." -msgstr "**Bundle** - Si vous possédez votre propre domaine, entrez ce domaine en ordre inverse. (Par exemple, si vous possédez le domaine \"cupcakes.com\", entrez ``com.cupcakes`` comme bundle). Si vous ne possédez pas votre propre domaine, acceptez le bundle par défaut (``com.example``)." +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Si vous possédez votre propre domaine, entrez ce domaine en ordre inverse. (Par exemple, si vous possédez le domaine \"cupcakes.com\", entrez `com.cupcakes` comme bundle). Si vous ne possédez pas votre propre domaine, acceptez le bundle par défaut (`com.example`)." #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**Project Name** (Nom du projet) - Acceptez la valeur par défaut : ``Hello World``." +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Project Name** (Nom du projet) - Acceptez la valeur par défaut : `Hello World`." #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d #, fuzzy @@ -109,8 +109,8 @@ msgstr "**Author's email** (adresse email) - Entrez votre propre adresse email. #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - L'URL de la page d'accueil de votre application. Encore une fois, si vous possédez votre propre domaine, entrez une URL sur ce domaine (y compris le ``https://``). Sinon, acceptez l'URL par défaut (`https://example.com/helloworld``). Cette URL n'a pas besoin d'exister (pour l'instant) ; elle ne sera utilisée que si vous publiez votre application dans un magasin d'applications." +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - L'URL de la page d'accueil de votre application. Encore une fois, si vous possédez votre propre domaine, entrez une URL sur ce domaine (y compris le `https://`). Sinon, acceptez l'URL par défaut (`https://example.com/helloworld`). Cette URL n'a pas besoin d'exister (pour l'instant) ; elle ne sera utilisée que si vous publiez votre application dans un magasin d'applications." #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 #, fuzzy @@ -122,12 +122,12 @@ msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI to msgstr "**GUI framework** (framework d'interface utilisateur graphique) - Acceptez l'option par défaut, Toga (la boîte à outils GUI de BeeWare)." #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" msgstr "Briefcase va alors générer un squelette de projet que vous pourrez utiliser. Si vous avez suivi ce tutoriel jusqu'ici, et accepté les paramètres par défaut tels que décrits, votre système de fichiers devrait ressembler à quelque chose comme ceci :" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Ce squelette est en fait une application pleinement fonctionnelle, sans avoir rien à ajouter d'autre. Le dossier ``src`` contient tout le code de l'application, le dossier ``tests`` contient une suite de tests initiale, et le fichier ``pyproject.toml`` décrit comment empaqueter l'application pour la distribuer. Si vous ouvrez ``pyproject.toml`` dans un éditeur, vous verrez les détails de la configuration que vous venez de fournir à Briefcase." +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Ce squelette est en fait une application pleinement fonctionnelle, sans avoir rien à ajouter d'autre. Le dossier `src` contient tout le code de l'application, le dossier `tests` contient une suite de tests initiale, et le fichier `pyproject.toml` décrit comment empaqueter l'application pour la distribuer. Si vous ouvrez `pyproject.toml` dans un éditeur, vous verrez les détails de la configuration que vous venez de fournir à Briefcase." #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a msgid "Now that we have a stub application, we can use Briefcase to run the application." @@ -138,8 +138,8 @@ msgid "Run the app in developer mode" msgstr "Exécuter l'application en mode développeur" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "Entrez dans le répertoire du projet ``helloworld`` et faites démarrer le projet en mode développeur (ou ``dev``) par briefcase :" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Entrez dans le répertoire du projet `helloworld` et faites démarrer le projet en mode développeur (ou `dev`) par briefcase :" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 msgid "This should open a GUI window:" @@ -166,7 +166,7 @@ msgid "If you encounter the error:" msgstr "" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." msgstr "" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f @@ -175,7 +175,7 @@ msgstr "" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" msgstr "Appuyez sur le bouton de fermeture (ou sélectionnez Quitter dans le menu d'application), et c'est terminé ! Félicitations, vous venez d'écrire une application native et autonome en Python !" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b @@ -183,8 +183,8 @@ msgid "Next steps" msgstr "Étapes suivantes" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." -msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mode développeur. Nous pouvons maintenant ajouter notre propre logique pour que notre application fasse quelque chose d'un peu plus intéressant. Dans :doc:`Tutoriel 2 `, nous allons ajouter à notre application une interface utilisateur plus utile." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mode développeur. Nous pouvons maintenant ajouter notre propre logique pour que notre application fasse quelque chose d'un peu plus intéressant. Dans [Tutoriel 2][tutorial-2], nous allons ajouter à notre application une interface utilisateur plus utile." #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "L'un des outils de BeeWare est **Briefcase**. Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux, mais il peut également être utilisé pour démarrer un nouveau projet." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po index d1f689df..e700315c 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -19,62 +19,62 @@ msgid "Tutorial 2 - Making it interesting" msgstr "Tutoriel 2 - Rendre les choses intéressantes" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "Dans le :doc:`Tutoriel 1 `, nous avons généré une ébauche de projet capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. Jetons un coup d'œil à ce qui a été généré pour nous." +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "Dans le [Tutoriel 1][tutorial-1], nous avons généré une ébauche de projet capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. Jetons un coup d'œil à ce qui a été généré pour nous." #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 msgid "What was generated" msgstr "Ce qui a été généré" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." -msgstr "Dans le répertoire ``src/helloworld``, vous devriez voir 3 fichiers : ``__init__.py``, ``__main__.py`` et ``app.py``." +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "Dans le répertoire `src/helloworld`, vous devriez voir 3 fichiers : `__init__.py`, `__main__.py` et `app.py`." #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` marque le répertoire ``helloworld`` comme un module Python importable. C'est un fichier vide ; le simple fait qu'il existe indique à l'interpréteur Python que le répertoire ``helloworld`` définit un module." +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` marque le répertoire `helloworld` comme un module Python importable. C'est un fichier vide ; le simple fait qu'il existe indique à l'interpréteur Python que le répertoire `helloworld` définit un module." #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "Le fichier ``__main__.py`` marque le module ``helloworld`` comme un type spécial de module - un module exécutable. Si vous essayez d'exécuter le module ``helloworld'' en utilisant ``python -m helloworld'', le fichier ``__main__.py`` est l'endroit où Python commencera à s'exécuter. Le contenu de `__main__.py`` est relativement simple :" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "Le fichier `__main__.py` marque le module `helloworld` comme un type spécial de module - un module exécutable. Si vous essayez d'exécuter le module `helloworld'' en utilisant `python -m helloworld'', le fichier `__main__.py` est l'endroit où Python commencera à s'exécuter. Le contenu de `__main__.py` est relativement simple :" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." +msgid "It imports the `main` method from from the `helloworld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc #, fuzzy msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Il importe la méthode ``main`` de l'application ``helloworld``, et s'il est exécuté en tant que point d'entrée, il appelle la méthode main(), et démarre la boucle principale de l'application. La boucle principale est la façon dont une application GUI écoute les entrées de l'utilisateur (comme les clics de souris et les pressions sur le clavier)." +msgstr "Il importe la méthode `main` de l'application `helloworld`, et s'il est exécuté en tant que point d'entrée, il appelle la méthode main(), et démarre la boucle principale de l'application. La boucle principale est la façon dont une application GUI écoute les entrées de l'utilisateur (comme les clics de souris et les pressions sur le clavier)." #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "Le fichier le plus intéressant est ``app.py`` - il contient la logique responsable de la création de notre fenêtre d'application :" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "Le fichier le plus intéressant est `app.py` - il contient la logique responsable de la création de notre fenêtre d'application :" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -msgid "Let's go through this line by line::" +msgid "Let's go through this line by line:" msgstr "Examinons-le ligne par ligne :" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d #, fuzzy -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Tout d'abord, nous importons la boîte à outils ``toga``, ainsi que quelques classes et constantes utilitaires liées au style. Notre code ne les utilise pas encore, mais nous les utiliserons bientôt." +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Tout d'abord, nous importons la boîte à outils `toga`, ainsi que quelques classes et constantes utilitaires liées au style. Notre code ne les utilise pas encore, mais nous les utiliserons bientôt." #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class::" +msgid "Then, we define a class:" msgstr "Ensuite, nous définissons une classe :" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Chaque application Toga possède une seule instance ``toga.App``, représentant l'entité en cours d'exécution, c'est-à-dire notre application. L'application peut gérer plusieurs fenêtres, mais pour les applications simples, il n'y aura qu'une seule fenêtre principale." +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Chaque application Toga possède une seule instance `toga.App`, représentant l'entité en cours d'exécution, c'est-à-dire notre application. L'application peut gérer plusieurs fenêtres, mais pour les applications simples, il n'y aura qu'une seule fenêtre principale." #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -msgid "Next, we define a ``startup()`` method::" -msgstr "Ensuite, nous définissons une méthode de démarrage ``startup()`` :" +msgid "Next, we define a `startup()` method:" +msgstr "Ensuite, nous définissons une méthode de démarrage `startup()` :" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." @@ -85,13 +85,13 @@ msgid "In this application, we define a single box, but we don't put anything in msgstr "Dans cette application, nous définissons une seule boîte, mais nous n'y mettons rien." #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -msgid "Next, we define a window into which we can put this empty box::" +msgid "Next, we define a window into which we can put this empty box:" msgstr "Ensuite, nous définissons une fenêtre dans laquelle nous pouvons placer cette boîte vide :" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 #, fuzzy -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Cela crée une instance de ``toga.MainWindow``, qui aura un titre correspondant au nom de l'application. Une fenêtre principale est un type spécial de fenêtre dans Toga - c'est une fenêtre qui est étroitement liée au cycle de vie de l'application. Lorsque la fenêtre principale est fermée, l'application se termine. La fenêtre principale est également la fenêtre qui contient le menu de l'application (si vous êtes sur une plateforme comme Windows où les barres de menu font partie des fenêtres)." +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Cela crée une instance de `toga.MainWindow`, qui aura un titre correspondant au nom de l'application. Une fenêtre principale est un type spécial de fenêtre dans Toga - c'est une fenêtre qui est étroitement liée au cycle de vie de l'application. Lorsque la fenêtre principale est fermée, l'application se termine. La fenêtre principale est également la fenêtre qui contient le menu de l'application (si vous êtes sur une plateforme comme Windows où les barres de menu font partie des fenêtres)." #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -102,17 +102,17 @@ msgid "If you have made an error in your code, the main window of the app may no msgstr "" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" msgstr "Nous ajoutons ensuite notre boîte vide au contenu de la fenêtre principale et demandons à l'application d'afficher notre fenêtre :" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 #, fuzzy -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "Enfin, nous définissons une méthode ``main()``. C'est elle qui crée l'instance de notre application :" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Enfin, nous définissons une méthode `main()`. C'est elle qui crée l'instance de notre application :" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "Cette méthode ``main()`` est celle qui est importée et invoquée par ``main__.py``. Elle crée et retourne une instance de notre application ``HelloWorld``." +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Cette méthode `main()` est celle qui est importée et invoquée par `main__.py`. Elle crée et retourne une instance de notre application `HelloWorld`." #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." @@ -123,37 +123,37 @@ msgid "Adding some content of our own" msgstr "Ajouter notre propre contenu" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." +msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "Ne supprimez pas les imports en haut du fichier, ni le ``main()`` en bas. Vous n'avez besoin de mettre à jour que la classe ``HelloWorld``." +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Ne supprimez pas les imports en haut du fichier, ni le `main()` en bas. Vous n'avez besoin de mettre à jour que la classe `HelloWorld`." #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "Modifiez votre classe ``HelloWorld`` dans ``src/helloworld/app.py`` pour qu'elle ressemble à ceci :" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modifiez votre classe `HelloWorld` dans `src/helloworld/app.py` pour qu'elle ressemble à ceci :" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 msgid "Let's look in detail at what has changed." msgstr "Examinons en détail ce qui a changé." #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -msgid "We're still creating a main box; however, we are now applying a style::" +msgid "We're still creating a main box; however, we are now applying a style:" msgstr "Nous sommes toujours en train de créer une boîte principale, mais nous appliquons maintenant un style :" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Le système de mise en page intégré à Toga s'appelle \"Pack\". Il se comporte en grande partie comme CSS. Vous définissez des objets dans une hiérarchie - en HTML, les objets sont ``
``, ````, et d'autres éléments DOM ; dans Toga, ce sont des widgets et des boîtes. Vous pouvez ensuite attribuer des styles aux différents éléments. Dans ce cas, nous indiquons qu'il s'agit d'une boîte ``COLUMN`` - c'est-à-dire qu'il s'agit d'une boîte qui utilisera toute la largeur disponible, et qui augmentera sa hauteur au fur et à mesure que du contenu sera ajouté, mais qui essaiera d'être aussi courte que possible." +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Le système de mise en page intégré à Toga s'appelle \"Pack\". Il se comporte en grande partie comme CSS. Vous définissez des objets dans une hiérarchie - en HTML, les objets sont `
`, ``, et d'autres éléments DOM ; dans Toga, ce sont des widgets et des boîtes. Vous pouvez ensuite attribuer des styles aux différents éléments. Dans ce cas, nous indiquons qu'il s'agit d'une boîte `COLUMN` - c'est-à-dire qu'il s'agit d'une boîte qui utilisera toute la largeur disponible, et qui augmentera sa hauteur au fur et à mesure que du contenu sera ajouté, mais qui essaiera d'être aussi courte que possible." #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" msgstr "" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets::" +msgid "Next, we define a couple of widgets:" msgstr "Ensuite, nous définissons quelques widgets :" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 @@ -166,16 +166,16 @@ msgid "The TextInput is assigned as an instance variable of the class. This give msgstr "Le TextInput est assigné en tant que variable d'instance d classe. Cela nous permet d'accéder facilement à l'instance du widget, ce que nous utiliserons dans un instant." #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -msgid "Next, we define a box to hold these two widgets::" +msgid "Next, we define a box to hold these two widgets:" msgstr "Ensuite, nous définissons une boîte pour contenir ces deux widgets :" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 #, fuzzy -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "La ``name_box`` est une boîte comme la boîte principale, mais cette fois, c'est une boîte ``ROW`` (rangée). Cela signifie que le contenu sera ajouté horizontalement, et qu'il essaiera d'être le moins large possible. La boîte a également un peu de padding (espace) - 5px sur tous les côtés." +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "La `name_box` est une boîte comme la boîte principale, mais cette fois, c'est une boîte `ROW` (rangée). Cela signifie que le contenu sera ajouté horizontalement, et qu'il essaiera d'être le moins large possible. La boîte a également un peu de padding (espace) - 5px sur tous les côtés." #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -msgid "Now we define a button::" +msgid "Now we define a button:" msgstr "Nous définissons maintenant un bouton :" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 @@ -184,17 +184,17 @@ msgid "The button also has 5px of margin on all sides. We also define a *handler msgstr "Le bouton est également doté d'un espace de 5 px sur tous les côtés. Nous définissons également un *handler* - une méthode à invoquer lorsque le bouton est pressé." #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -msgid "Then, we add the name box and the button to the main box::" +msgid "Then, we add the name box and the button to the main box:" msgstr "Ensuite, nous ajoutons la boîte de nom et le bouton à la boîte principale :" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" msgstr "Le reste de la méthode de démarrage est identique à la précédente : définition d'une fenêtre principale et attribution de la boîte principale en tant que contenu de la fenêtre :" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" msgstr "Notre dernière action est de définir le gestionnaire du bouton. Un gestionnaire peut être n'importe quelle méthode, générateur ou co-routine asynchrone ; il accepte le widget qui a généré l'événement comme argument, et sera invoqué chaque fois que le bouton est pressé :" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba @@ -222,8 +222,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." -msgstr "Vous remarquerez que cette fois-ci, briefcase n'installe pas de dépendances. Briefcase peut détecter que l'application a déjà été exécutée auparavant, et pour gagner du temps, il n'exécutera que l'application. Si vous ajoutez de nouvelles dépendances à votre application, vous pouvez vous assurer qu'elles soient installées en passant une option ``-r`` lorsque vous lancez ``briefcase dev``." +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Vous remarquerez que cette fois-ci, briefcase n'installe pas de dépendances. Briefcase peut détecter que l'application a déjà été exécutée auparavant, et pour gagner du temps, il n'exécutera que l'application. Si vous ajoutez de nouvelles dépendances à votre application, vous pouvez vous assurer qu'elles soient installées en passant une option `-r` lorsque vous lancez `briefcase dev`." #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de msgid "This should open a GUI window:" @@ -246,7 +246,7 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "Si vous saisissez un nom dans la zone de texte et que vous appuyez sur le bouton GUI, vous devriez voir apparaître une sortie dans la console où vous avez démarré l'application." #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc @@ -254,9 +254,9 @@ msgid "Next steps" msgstr "Étapes suivantes" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu plus intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons empaqueter cette application pour la distribuer. Dans :doc:`Tutoriel 3 `, nous allons empaqueter notre application sous la forme d'un programme d'installation autonome que nous pourrons envoyer à un ami, un client, ou télécharger sur un App Store." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu plus intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons empaqueter cette application pour la distribuer. Dans [Tutoriel 3][tutorial-3], nous allons empaqueter notre application sous la forme d'un programme d'installation autonome que nous pourrons envoyer à un ami, un client, ou télécharger sur un App Store." -#~ msgid "Lets do something more interesting with our ``HelloWorld`` app." +#~ msgid "Lets do something more interesting with our `HelloWorld`` app." #~ msgstr "" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po index eddfbf86..66446caa 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po @@ -41,8 +41,8 @@ msgstr "Création de l'échafaudage de l'application" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "Puisque c'est la première fois que nous empaquetons notre application, nous devons créer quelques fichiers de configuration et autres échafaudages pour supporter le processus d'empaquetage. Depuis le répertoire ``helloworld``, exécutez :" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Puisque c'est la première fois que nous empaquetons notre application, nous devons créer quelques fichiers de configuration et autres échafaudages pour supporter le processus d'empaquetage. Depuis le répertoire `helloworld`, exécutez :" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -71,7 +71,7 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." msgstr "" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 @@ -117,8 +117,8 @@ msgstr "" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "Il **installe les exigences de l'application**. Votre application peut spécifier tous les modules tiers qui sont nécessaires à l'exécution. Ceux-ci seront installés en utilisant ``pip`` dans l'installeur de votre application." +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Il **installe les exigences de l'application**. Votre application peut spécifier tous les modules tiers qui sont nécessaires à l'exécution. Ceux-ci seront installés en utilisant `pip` dans l'installeur de votre application." #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f #, fuzzy @@ -132,8 +132,8 @@ msgstr "Il **installe les ressources nécessaires à votre application.** Enfin, #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Une fois cette opération terminée, si vous regardez dans le répertoire du projet, vous devriez voir un répertoire correspondant à votre plateforme (``macOS``, ``linux``, ou ``windows``) qui contient des fichiers supplémentaires. C'est la configuration de l'empaquetage spécifique à la plate-forme pour votre application." +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Une fois cette opération terminée, si vous regardez dans le répertoire du projet, vous devriez voir un répertoire correspondant à votre plateforme (`macOS`, `linux`, ou `windows`) qui contient des fichiers supplémentaires. C'est la configuration de l'empaquetage spécifique à la plate-forme pour votre application." #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece #, fuzzy @@ -147,18 +147,18 @@ msgstr "Vous pouvez maintenant compiler votre application. Cette étape permet d #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d #, fuzzy -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Sous macOS, la commande ``build`` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit signer le contenu du binaire pour qu'il puisse être exécuté. Cette signature est une signature *ad hoc* - elle ne fonctionnera que sur *votre* machine ; si vous voulez distribuer l'application à d'autres, vous devrez fournir une signature complète." +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "Sous macOS, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit signer le contenu du binaire pour qu'il puisse être exécuté. Cette signature est une signature *ad hoc* - elle ne fonctionnera que sur *votre* machine ; si vous voulez distribuer l'application à d'autres, vous devrez fournir une signature complète." #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 #, fuzzy -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "Une fois cette étape terminée, le dossier ``build`` contiendra un dossier ``helloworld-0.0.1`` qui contient un miroir du système de fichiers Linux ``/usr``. Ce miroir du système de fichiers contiendra un dossier ``bin`` avec un binaire ``helloworld``, ainsi que les dossiers ``lib`` et ``share`` nécessaires pour supporter le binaire." +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Une fois cette étape terminée, le dossier `build` contiendra un dossier `helloworld-0.0.1` qui contient un miroir du système de fichiers Linux `/usr`. Ce miroir du système de fichiers contiendra un dossier `bin` avec un binaire `helloworld`, ainsi que les dossiers `lib` et `share` nécessaires pour supporter le binaire." #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 #, fuzzy -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Sous Windows, la commande ``build`` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit écrire quelques métadonnées pour que l'application connaisse son nom, sa version, et ainsi de suite." +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "Sous Windows, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit écrire quelques métadonnées pour que l'application connaisse son nom, sa version, et ainsi de suite." #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa #, fuzzy @@ -167,8 +167,8 @@ msgstr "Déclenchement de l'antivirus" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "Puisque ces métadonnées sont écrites directement dans le binaire précompilé déployé à partir du modèle pendant la commande ``create``, cela peut déclencher un logiciel antivirus fonctionnant sur votre machine et empêcher les métadonnées d'être écrites. Dans ce cas, demandez à l'antivirus d'autoriser l'outil (nommé ``rcedit-x64.exe``) à s'exécuter et relancez la commande ci-dessus." +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Puisque ces métadonnées sont écrites directement dans le binaire précompilé déployé à partir du modèle pendant la commande `create`, cela peut déclencher un logiciel antivirus fonctionnant sur votre machine et empêcher les métadonnées d'être écrites. Dans ce cas, demandez à l'antivirus d'autoriser l'outil (nommé `rcedit-x64.exe`) à s'exécuter et relancez la commande ci-dessus." #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 #, fuzzy @@ -182,8 +182,8 @@ msgstr "Vous pouvez maintenant utiliser Briefcase pour exécuter votre applicati #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "Ceci lancera l'exécution de votre application native, en utilisant la sortie de la commande ``build``." +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Ceci lancera l'exécution de votre application native, en utilisant la sortie de la commande `build`." #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 #, fuzzy @@ -191,7 +191,7 @@ msgid "You might notice some small differences in the way your application looks msgstr "Il se peut que vous remarquiez de petites différences dans l'apparence de votre application lorsqu'elle est en cours d'exécution. Par exemple, les icônes et le nom affichés par le système d'exploitation peuvent être légèrement différents de ceux que vous avez vus lors de l'exécution en mode développeur. Cela s'explique également par le fait que vous utilisez l'application packagée et que vous ne vous contentez pas d'exécuter du code Python. Du point de vue du système d'exploitation, vous exécutez maintenant \"une application\" et non \"un programme Python\", ce qui se reflète dans l'apparence de l'application." #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -201,23 +201,23 @@ msgstr "Construction du programme d'installation" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc #, fuzzy -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Vous pouvez maintenant empaqueter votre application pour la distribuer, en utilisant la commande ``package``. La commande package effectue toutes les compilations nécessaires pour convertir le projet d'échafaudage en un produit final distribuable. Selon la plateforme, cela peut impliquer la compilation d'un installateur, la signature du code, ou d'autres tâches de pré-distribution." +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Vous pouvez maintenant empaqueter votre application pour la distribuer, en utilisant la commande `package`. La commande package effectue toutes les compilations nécessaires pour convertir le projet d'échafaudage en un produit final distribuable. Selon la plateforme, cela peut impliquer la compilation d'un installateur, la signature du code, ou d'autres tâches de pré-distribution." #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 #, fuzzy -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "Le dossier ``dist`` contiendra un fichier nommé ``Hello World-0.0.1.dmg``. Si vous localisez ce fichier dans le Finder, et que vous double-cliquez sur son icône, vous monterez le DMG, ce qui vous donnera une copie de l'application Hello World, et un lien vers votre dossier Applications pour faciliter l'installation. Faites glisser le fichier de l'application dans Applications, et vous aurez installé votre application. Envoyez le fichier DMG à un ami, qui devrait pouvoir faire de même." +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "Le dossier `dist` contiendra un fichier nommé `Hello World-0.0.1.dmg`. Si vous localisez ce fichier dans le Finder, et que vous double-cliquez sur son icône, vous monterez le DMG, ce qui vous donnera une copie de l'application Hello World, et un lien vers votre dossier Applications pour faciliter l'installation. Faites glisser le fichier de l'application dans Applications, et vous aurez installé votre application. Envoyez le fichier DMG à un ami, qui devrait pouvoir faire de même." #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 #, fuzzy -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "Dans cet exemple, nous avons utilisé l'option ``--adhoc-sign`` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur `Setting up a macOS code signing identity `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 #, fuzzy @@ -226,8 +226,8 @@ msgstr "Le résultat de l'étape du paquetage sera légèrement différent selon #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c #, fuzzy -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "Le dossier ``dist`` contiendra le fichier ``.deb`` qui a été généré." +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "Le dossier `dist` contiendra le fichier `.deb` qui a été généré." #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee #, fuzzy @@ -236,8 +236,8 @@ msgstr "Si vous utilisez une distribution basée sur RHEL, vous verrez :" #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 #, fuzzy -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "Le dossier ``dist`` contiendra le fichier ``.rpm`` qui a été généré." +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "Le dossier `dist` contiendra le fichier `.rpm` qui a été généré." #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 #, fuzzy @@ -246,8 +246,8 @@ msgstr "Si vous êtes sur une distribution basée sur Arch, vous verrez :" #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 #, fuzzy -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "Le dossier ``dist`` contiendra le fichier ``.pkg.tar.zst`` qui a été généré." +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "Le dossier `dist` contiendra le fichier `.pkg.tar.zst` qui a été généré." #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae #, fuzzy @@ -261,8 +261,8 @@ msgstr "Si vous souhaitez créer un paquet pour une distribution Linux autre que #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 #, fuzzy -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Des installateurs officiels pour `Docker Engine `__ sont disponibles pour une série de distributions Unix. Suivez les instructions correspondant à votre plate-forme, mais assurez-vous de ne pas installer Docker en mode \"sans racine\"." +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Des installateurs officiels pour [Docker Engine]{1} sont disponibles pour une série de distributions Unix. Suivez les instructions correspondant à votre plate-forme, mais assurez-vous de ne pas installer Docker en mode \"sans racine\"." #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe #, fuzzy @@ -271,8 +271,8 @@ msgstr "Une fois que vous avez installé Docker, vous devriez être en mesure de #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 #, fuzzy -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "vous montrera une invite Unix (quelque chose comme ``root@84444e31cff9:/#``) à l'intérieur d'un conteneur Docker Ubuntu 22.04. Tapez Ctrl-D pour quitter Docker et revenir à votre shell local." +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "vous montrera une invite Unix (quelque chose comme `root@84444e31cff9:/#`) à l'intérieur d'un conteneur Docker Ubuntu 22.04. Tapez Ctrl-D pour quitter Docker et revenir à votre shell local." #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 #, fuzzy @@ -281,23 +281,23 @@ msgstr "Une fois que vous avez installé Docker, vous pouvez utiliser Briefcase #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "Ceci téléchargera l'image Docker pour le système d'exploitation choisi, créera un conteneur capable d'exécuter les builds de Briefcase, et construira le paquetage de l'application à l'intérieur de l'image. Une fois terminé, le dossier ``dist`` contiendra le paquet pour la distribution Linux cible." +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Ceci téléchargera l'image Docker pour le système d'exploitation choisi, créera un conteneur capable d'exécuter les builds de Briefcase, et construira le paquetage de l'application à l'intérieur de l'image. Une fois terminé, le dossier `dist` contiendra le paquet pour la distribution Linux cible." #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 #, fuzzy msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "Dans cet exemple, nous avons utilisé l'option ``--adhoc-sign`` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." +msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur `Setting up a macOS code signing identity `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c #, fuzzy -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Une fois cette étape terminée, le dossier `dist`` contiendra un fichier nommé `Hello_World-0.0.1.msi``. Si vous double-cliquez sur ce programme d'installation pour le lancer, vous devriez passer par un processus d'installation Windows familier. Une fois l'installation terminée, il y aura une entrée \"Hello World\" dans votre menu de démarrage." +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Une fois cette étape terminée, le dossier `dist` contiendra un fichier nommé `Hello_World-0.0.1.msi`. Si vous double-cliquez sur ce programme d'installation pour le lancer, vous devriez passer par un processus d'installation Windows familier. Une fois l'installation terminée, il y aura une entrée \"Hello World\" dans votre menu de démarrage." #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" @@ -305,9 +305,9 @@ msgstr "Étapes suivantes" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau. Mais que se passe-t-il lorsque nous devons mettre à jour le code de notre application ? Comment intégrer ces mises à jour dans notre application packagée ? Consultez :doc:`Tutoriel 4 <./tutorial-4>` pour le découvrir..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau. Mais que se passe-t-il lorsque nous devons mettre à jour le code de notre application ? Comment intégrer ces mises à jour dans notre application packagée ? Consultez [Tutoriel 4][./tutorial-4] pour le découvrir..." -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." #~ msgstr "" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po index 955038c9..cec1c51e 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po @@ -41,11 +41,11 @@ msgstr "Notre application imprime actuellement sur la console lorsque vous appuy #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "Ajoutons une boîte de dialogue pour dire bonjour, au lieu d'écrire dans la console. Modifiez le callback ``say_hello`` pour qu'il ressemble à ceci: :" +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Ajoutons une boîte de dialogue pour dire bonjour, au lieu d'écrire dans la console. Modifiez le callback `say_hello` pour qu'il ressemble à ceci: :" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -55,8 +55,8 @@ msgstr "Toga ouvre ainsi une boîte de dialogue modale lorsque le bouton est enf #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 #, fuzzy -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Si vous lancez ``briefcase dev``, entrez un nom et appuyez sur le bouton, vous verrez la nouvelle boîte de dialogue :" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Si vous lancez `briefcase dev`, entrez un nom et appuyez sur le bouton, vous verrez la nouvelle boîte de dialogue :" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -93,13 +93,13 @@ msgstr "Tutoriel Hello World 4 dialogue, sur Windows" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 #, fuzzy -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "Cependant, si vous exécutez ``briefcase run``, la boîte de dialogue n'apparaîtra pas." +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Cependant, si vous exécutez `briefcase run`, la boîte de dialogue n'apparaîtra pas." #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a #, fuzzy -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Pourquoi ? Eh bien, ``briefcase dev`` fonctionne en exécutant votre code en place - il essaie de produire un environnement d'exécution aussi réaliste que possible pour votre code, mais il ne fournit ni n'utilise aucune des infrastructures de la plate-forme pour envelopper votre code en tant qu'application. Une partie du processus d'emballage de votre application implique de copier votre code *dans* le paquet d'application - et pour le moment, votre application contient toujours l'ancien code." +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Pourquoi ? Eh bien, `briefcase dev` fonctionne en exécutant votre code en place - il essaie de produire un environnement d'exécution aussi réaliste que possible pour votre code, mais il ne fournit ni n'utilise aucune des infrastructures de la plate-forme pour envelopper votre code en tant qu'application. Une partie du processus d'emballage de votre application implique de copier votre code *dans* le paquet d'application - et pour le moment, votre application contient toujours l'ancien code." #: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 #, fuzzy @@ -108,18 +108,18 @@ msgstr "Nous devons donc demander à Briefcase de mettre à jour votre applicati #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "Si Briefcase ne trouve pas le modèle échafaudé, il invoquera automatiquement ``create`` pour générer un nouvel échafaudage." +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Si Briefcase ne trouve pas le modèle échafaudé, il invoquera automatiquement `create` pour générer un nouvel échafaudage." #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 #, fuzzy -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." -msgstr "Maintenant que nous avons mis à jour le code de l'installateur, nous pouvons lancer ``briefcase build`` pour recompiler l'application, ``briefcase run`` pour exécuter l'application mise à jour, et ``briefcase package`` pour reconditionner l'application en vue de sa distribution." +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Maintenant que nous avons mis à jour le code de l'installateur, nous pouvons lancer `briefcase build` pour recompiler l'application, `briefcase run` pour exécuter l'application mise à jour, et `briefcase package` pour reconditionner l'application en vue de sa distribution." #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 #, fuzzy -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Utilisateurs de macOS, rappelez-vous que comme indiqué dans :doc:`Tutoriel 3 `, pour le tutoriel nous recommandons d'exécuter ``briefcase package`` avec le drapeau ``--adhoc-sign`` pour éviter la complexité de la mise en place d'une identité de signature de code et garder le tutoriel aussi simple que possible)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(Utilisateurs de macOS, rappelez-vous que comme indiqué dans [Tutoriel 3][tutorial-3], pour le tutoriel nous recommandons d'exécuter `briefcase package` avec le drapeau `--adhoc-sign` pour éviter la complexité de la mise en place d'une identité de signature de code et garder le tutoriel aussi simple que possible)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 #, fuzzy @@ -128,33 +128,33 @@ msgstr "Mise à jour et exécution en une seule étape" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." -msgstr "Si vous effectuez rapidement des changements de code, vous voudrez probablement faire un changement de code, mettre à jour l'application et la réexécuter immédiatement. Dans la plupart des cas, le mode développeur (``briefcase dev``) sera le moyen le plus facile de faire ce genre d'itération rapide ; cependant, si vous testez quelque chose sur la façon dont votre application fonctionne en tant que binaire natif, ou si vous chassez un bogue qui ne se manifeste que lorsque votre application est sous forme de paquetage, vous pouvez avoir besoin d'utiliser des appels répétés à ``briefcase run``. Pour simplifier le processus de mise à jour et d'exécution de l'application packagée, Briefcase dispose d'un raccourci pour supporter ce schéma d'utilisation - l'option `-u` (ou `--update`) de la commande ``run``." +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Si vous effectuez rapidement des changements de code, vous voudrez probablement faire un changement de code, mettre à jour l'application et la réexécuter immédiatement. Dans la plupart des cas, le mode développeur (`briefcase dev`) sera le moyen le plus facile de faire ce genre d'itération rapide ; cependant, si vous testez quelque chose sur la façon dont votre application fonctionne en tant que binaire natif, ou si vous chassez un bogue qui ne se manifeste que lorsque votre application est sous forme de paquetage, vous pouvez avoir besoin d'utiliser des appels répétés à `briefcase run`. Pour simplifier le processus de mise à jour et d'exécution de l'application packagée, Briefcase dispose d'un raccourci pour supporter ce schéma d'utilisation - l'option `-u` (ou `--update`) de la commande `run`." #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." -msgstr "Essayons d'apporter une autre modification. Vous avez peut-être remarqué que si vous ne tapez pas de nom dans la zone de saisie, la boîte de dialogue dira \"Hello, \". Modifions à nouveau la fonction ``say_hello`` pour gérer ce cas particulier." +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Essayons d'apporter une autre modification. Vous avez peut-être remarqué que si vous ne tapez pas de nom dans la zone de saisie, la boîte de dialogue dira \"Hello, \". Modifions à nouveau la fonction `say_hello` pour gérer ce cas particulier." #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db #, fuzzy -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "En haut du fichier, entre les imports et la définition de ``class HelloWorld``, ajoutez une méthode utilitaire pour générer un message d'accueil approprié en fonction de la valeur du nom qui a été fourni: :" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "En haut du fichier, entre les imports et la définition de `class HelloWorld`, ajoutez une méthode utilitaire pour générer un message d'accueil approprié en fonction de la valeur du nom qui a été fourni: :" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e #, fuzzy -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "Ensuite, modifiez le callback ``say_hello`` pour utiliser cette nouvelle méthode utilitaire: :" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Ensuite, modifiez le callback `say_hello` pour utiliser cette nouvelle méthode utilitaire: :" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 #, fuzzy -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Exécutez votre application en mode développement (avec ``briefcase dev``) pour confirmer que la nouvelle logique fonctionne ; puis mettez à jour, compilez et exécutez l'application avec une seule commande :" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Exécutez votre application en mode développement (avec `briefcase dev`) pour confirmer que la nouvelle logique fonctionne ; puis mettez à jour, compilez et exécutez l'application avec une seule commande :" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 #, fuzzy -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." -msgstr "La commande package accepte aussi l'argument ``-u``, donc si vous faites un changement dans le code de votre application et que vous voulez repackager immédiatement, vous pouvez lancer ``briefcase package -u``." +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "La commande package accepte aussi l'argument `-u`, donc si vous faites un changement dans le code de votre application et que vous voulez repackager immédiatement, vous pouvez lancer `briefcase package -u`." #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -167,6 +167,6 @@ msgstr "Notre application est désormais prête à être distribuée sur les pla #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 #, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Mais qu'en est-il de l'application mobile ? Dans :doc:`Tutoriel 5 `, nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Mais qu'en est-il de l'application mobile ? Dans [Tutoriel 5][tutorial-5/index], nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po index 08c945d0..a9fbb3cc 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -36,8 +36,8 @@ msgstr "Créer une application Android et la compiler" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 #, fuzzy -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "Tout d'abord, lancez la commande ``create``. Celle-ci télécharge un modèle d'application Android et y ajoute votre code Python." +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Tout d'abord, lancez la commande `create`. Celle-ci télécharge un modèle d'application Android et y ajoute votre code Python." #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -68,18 +68,18 @@ msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f #, fuzzy -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Lorsque vous lancez ``briefcase create android`` pour la première fois, Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers et le temps de téléchargement peuvent être considérables ; cela peut prendre un certain temps (10 minutes ou plus, selon la vitesse de votre connexion Internet). Une fois le téléchargement terminé, vous serez invité à accepter la licence Android SDK de Google." +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Lorsque vous lancez `briefcase create android` pour la première fois, Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers et le temps de téléchargement peuvent être considérables ; cela peut prendre un certain temps (10 minutes ou plus, selon la vitesse de votre connexion Internet). Une fois le téléchargement terminé, vous serez invité à accepter la licence Android SDK de Google." #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 #, fuzzy -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Une fois cette opération terminée, nous aurons un répertoire ``buildhelloworld\\android\\gradle`` dans notre projet, qui contiendra un projet Android avec une configuration de construction Gradle. Ce projet contiendra le code de votre application, ainsi qu'un package de support contenant l'interpréteur Python." +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Une fois cette opération terminée, nous aurons un répertoire `buildhelloworld\\android\\gradle` dans notre projet, qui contiendra un projet Android avec une configuration de construction Gradle. Ce projet contiendra le code de votre application, ainsi qu'un package de support contenant l'interpréteur Python." #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 #, fuzzy -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "Nous pouvons ensuite utiliser la commande ``build`` de Briefcase pour compiler ce fichier dans un fichier d'application APK Android." +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Nous pouvons ensuite utiliser la commande `build` de Briefcase pour compiler ce fichier dans un fichier d'application APK Android." #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 #, fuzzy @@ -88,8 +88,8 @@ msgstr "Gradle peut sembler bloqué" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 #, fuzzy -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Pendant l'étape ``briefcase build android``, Gradle (l'outil de construction de la plateforme Android) affiche ``CONFIGURING : 100%``, et semble ne rien faire. Ne vous inquiétez pas, il n'est pas bloqué - il est en train de télécharger plus de composants du SDK Android. Selon la vitesse de votre connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce décalage ne devrait se produire que la première fois que vous lancez ``build`` ; les outils sont mis en cache, et lors de votre prochain build, les versions mises en cache seront utilisées." +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Pendant l'étape `briefcase build android`, Gradle (l'outil de construction de la plateforme Android) affiche `CONFIGURING : 100%`, et semble ne rien faire. Ne vous inquiétez pas, il n'est pas bloqué - il est en train de télécharger plus de composants du SDK Android. Selon la vitesse de votre connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce décalage ne devrait se produire que la première fois que vous lancez `build` ; les outils sont mis en cache, et lors de votre prochain build, les versions mises en cache seront utilisées." #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 #, fuzzy @@ -98,23 +98,23 @@ msgstr "Exécuter l'application sur un appareil virtuel" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 #, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Nous sommes maintenant prêts à exécuter notre application. Vous pouvez utiliser la commande ``run`` de Briefcase pour exécuter l'application sur un appareil Android. Commençons par l'exécuter sur un émulateur Android." +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Nous sommes maintenant prêts à exécuter notre application. Vous pouvez utiliser la commande `run` de Briefcase pour exécuter l'application sur un appareil Android. Commençons par l'exécuter sur un émulateur Android." #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d #, fuzzy -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Pour lancer votre application, exécutez ``briefcase run android``. Vous obtiendrez alors une liste d'appareils sur lesquels vous pouvez faire fonctionner l'application. Le dernier élément sera toujours une option pour créer un nouvel émulateur Android." +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Pour lancer votre application, exécutez `briefcase run android`. Vous obtiendrez alors une liste d'appareils sur lesquels vous pouvez faire fonctionner l'application. Le dernier élément sera toujours une option pour créer un nouvel émulateur Android." #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 #, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." -msgstr "Nous pouvons maintenant choisir l'appareil que nous souhaitons. Sélectionnez l'option \"Créer un nouvel émulateur Android\", et acceptez le choix par défaut du nom de l'appareil (``beePhone``)." +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Nous pouvons maintenant choisir l'appareil que nous souhaitons. Sélectionnez l'option \"Créer un nouvel émulateur Android\", et acceptez le choix par défaut du nom de l'appareil (`beePhone`)." #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc #, fuzzy -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase ``run`` démarrera automatiquement l'appareil virtuel. Lorsque l'appareil démarre, vous verrez le logo Android :" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` démarrera automatiquement l'appareil virtuel. Lorsque l'appareil démarre, vous verrez le logo Android :" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -154,8 +154,8 @@ msgstr "L'émulateur n'a pas démarré !" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." -msgstr "L'émulateur Android est un logiciel complexe qui s'appuie sur un certain nombre de caractéristiques du matériel et du système d'exploitation - des caractéristiques qui peuvent ne pas être disponibles ou activées sur des machines plus anciennes. Si vous rencontrez des difficultés au démarrage de l'émulateur Android, consultez la section \"Exigences et recommandations `__\" de la documentation destinée aux développeurs Android." +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "L'émulateur Android est un logiciel complexe qui s'appuie sur un certain nombre de caractéristiques du matériel et du système d'exploitation - des caractéristiques qui peuvent ne pas être disponibles ou activées sur des machines plus anciennes. Si vous rencontrez des difficultés au démarrage de l'émulateur Android, consultez la section [Exigences et recommandations]{1} de la documentation destinée aux développeurs Android." #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a #, fuzzy @@ -174,8 +174,8 @@ msgstr "Lancement de l'application de démonstration" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "Si vous ne voyez pas votre application se lancer, vous devrez peut-être vérifier le terminal où vous avez lancé ``briefcase run`` et rechercher les messages d'erreur." +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Si vous ne voyez pas votre application se lancer, vous devrez peut-être vérifier le terminal où vous avez lancé `briefcase run` et rechercher les messages d'erreur." #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." @@ -183,8 +183,8 @@ msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "A l'avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, vous pouvez fournir le nom de l'émulateur à Briefcase, en utilisant ``briefcase run android -d @beePhone`` pour utiliser directement l'appareil virtuel." +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "A l'avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, vous pouvez fournir le nom de l'émulateur à Briefcase, en utilisant `briefcase run android -d @beePhone` pour utiliser directement l'appareil virtuel." #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 #, fuzzy @@ -213,18 +213,18 @@ msgstr "Activer le débogage USB" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 #, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "Les détails sur la manière d'effectuer ces changements peuvent être trouvés dans la documentation du développeur Android `__." +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Les détails sur la manière d'effectuer ces changements peuvent être trouvés [dans la documentation du développeur Android]{1}." #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "Une fois ces étapes terminées, votre appareil devrait apparaître dans la liste des appareils disponibles lorsque vous lancez ``briefcase run android``." +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Une fois ces étapes terminées, votre appareil devrait apparaître dans la liste des appareils disponibles lorsque vous lancez `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série sur la liste de déploiement - dans ce cas, un Pixel 3a. À l'avenir, si vous souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez fournir le numéro de série du téléphone à Briefcase (dans ce cas, ``briefcase run android -d 94ZZY0LNE8``). Cela lancera l'application directement sur l'appareil, sans l'inviter à le faire." +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série sur la liste de déploiement - dans ce cas, un Pixel 3a. À l'avenir, si vous souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez fournir le numéro de série du téléphone à Briefcase (dans ce cas, `briefcase run android -d 94ZZY0LNE8`). Cela lancera l'application directement sur l'appareil, sans l'inviter à le faire." #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd #, fuzzy @@ -238,8 +238,8 @@ msgstr "Si votre appareil n'apparaît pas du tout dans cette liste, c'est que vo #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "Si votre appareil apparaît, mais qu'il est listé comme \"Unknown device (not authorized for development)\", le mode développeur n'a pas été correctement activé. Réexécutez `les étapes pour activer les options de développement `__, et réexécutez ``briefcase run android``." +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Si votre appareil apparaît, mais qu'il est listé comme \"Unknown device (not authorized for development)\", le mode développeur n'a pas été correctement activé. Réexécutez [les étapes pour activer les options de développement]{1}, et réexécutez `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" @@ -247,6 +247,6 @@ msgstr "Étapes suivantes" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez :doc:`Tutoriel 6 <../tutorial-6>` pour le savoir..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 534feec5..a64d2e20 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -20,7 +20,7 @@ msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "Tutoriel 5 - Le mobile : iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae @@ -30,23 +30,23 @@ msgstr "Une fois Xcode installé, nous pouvons prendre notre application et la d #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 #, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "Le processus de déploiement d'une application sur iOS est très similaire au processus de déploiement d'une application de bureau. Tout d'abord, vous exécutez la commande ``create`` - mais cette fois, nous spécifions que nous voulons créer une application iOS :" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "Le processus de déploiement d'une application sur iOS est très similaire au processus de déploiement d'une application de bureau. Tout d'abord, vous exécutez la commande `create` - mais cette fois, nous spécifions que nous voulons créer une application iOS :" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 #, fuzzy -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Une fois cette opération terminée, nous aurons un répertoire ``build/helloworld/ios/xcode`` contenant un projet Xcode, ainsi que les bibliothèques de support et le code nécessaire à l'application." +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Une fois cette opération terminée, nous aurons un répertoire `build/helloworld/ios/xcode` contenant un projet Xcode, ainsi que les bibliothèques de support et le code nécessaire à l'application." #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d #, fuzzy -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "Vous pouvez ensuite utiliser Briefcase pour compiler votre application en utilisant ``briefcase build iOS`` :" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Vous pouvez ensuite utiliser Briefcase pour compiler votre application en utilisant `briefcase build iOS` :" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed #, fuzzy -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Nous sommes maintenant prêts à exécuter notre application, en utilisant ``briefcase run iOS``. Il vous sera demandé de sélectionner un appareil pour lequel compiler ; si vous avez installé des simulateurs pour plusieurs versions du SDK iOS, il vous sera peut-être demandé quelle version d'iOS vous voulez cibler. Les options affichées peuvent différer de celles présentées dans cette sortie - au moins, la liste des appareils sera probablement différente. En ce qui nous concerne, le simulateur choisi n'a pas d'importance." +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Nous sommes maintenant prêts à exécuter notre application, en utilisant `briefcase run iOS`. Il vous sera demandé de sélectionner un appareil pour lequel compiler ; si vous avez installé des simulateurs pour plusieurs versions du SDK iOS, il vous sera peut-être demandé quelle version d'iOS vous voulez cibler. Les options affichées peuvent différer de celles présentées dans cette sortie - au moins, la liste des appareils sera probablement différente. En ce qui nous concerne, le simulateur choisi n'a pas d'importance." #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 #, fuzzy @@ -64,8 +64,8 @@ msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "Si vous savez à l'avance quel simulateur iOS vous voulez cibler, vous pouvez dire à Briefcase d'utiliser ce simulateur en fournissant une option ``-d`` (ou ``--device``). En utilisant le nom de l'appareil que vous avez sélectionné lorsque vous avez créé votre application, exécutez :" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Si vous savez à l'avance quel simulateur iOS vous voulez cibler, vous pouvez dire à Briefcase d'utiliser ce simulateur en fournissant une option `-d` (ou `--device`). En utilisant le nom de l'appareil que vous avez sélectionné lorsque vous avez créé votre application, exécutez :" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 #, fuzzy @@ -83,12 +83,12 @@ msgstr "Étapes suivantes" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez :doc:`Tutoriel 6 <../tutorial-6>` pour le savoir..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." -#~ msgstr "Pour compiler les applications iOS, nous avons besoin de Xcode, qui est disponible gratuitement sur le macOS App Store `__." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Pour compiler les applications iOS, nous avons besoin de Xcode, qui est disponible gratuitement sur [le macOS App Store]{1}." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po index 5735dcd7..e326658e 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -39,8 +39,8 @@ msgstr "Android" msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Les applications Android peuvent être compilées sur macOS, Windows ou Linux." -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`Créons notre application pour iOS ! `" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Créons notre application pour iOS !][iOS]" -#~ msgid ":doc:`Let's build our app for Android! `" -#~ msgstr ":doc:`Créons notre application pour Android ! `" +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Créons notre application pour Android !][android]" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po index 622013c8..5585c4d4 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po @@ -64,8 +64,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 #, fuzzy -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "Cela ouvrira un navigateur web, pointant sur `http://127.0.0.1:8080 `__ :" +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Cela ouvrira un navigateur web, pointant sur [http://127.0.0.1:8080](http://127.0.0.1:8080) :" #: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 #, fuzzy @@ -84,13 +84,13 @@ msgstr "Comment ça marche ?" #: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." -msgstr "Cette application web est un site web statique - une seule page source HTML, avec quelques feuilles de style CSS et d'autres ressources. Briefcase a démarré un serveur web local pour servir cette page afin que votre navigateur puisse la voir. Si vous voulez mettre cette page web en production, vous pouvez copier le contenu du dossier ``www`` sur n'importe quel serveur web qui peut servir du contenu statique." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Cette application web est un site web statique - une seule page source HTML, avec quelques feuilles de style CSS et d'autres ressources. Briefcase a démarré un serveur web local pour servir cette page afin que votre navigateur puisse la voir. Si vous voulez mettre cette page web en production, vous pouvez copier le contenu du dossier `www` sur n'importe quel serveur web qui peut servir du contenu statique." #: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Mais lorsque vous appuyez sur le bouton, vous exécutez du code Python... Comment cela fonctionne-t-il ? Toga utilise `PyScript `__ pour fournir un interprète Python dans le navigateur. Briefcase présente le code de votre application sous forme de roues que PyScript peut charger dans le navigateur. Lorsque la page est chargée, le code de l'application s'exécute dans le navigateur, construisant l'interface utilisateur en utilisant le DOM du navigateur. Lorsque vous cliquez sur un bouton, ce bouton exécute le code de gestion des événements dans le navigateur." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Mais lorsque vous appuyez sur le bouton, vous exécutez du code Python... Comment cela fonctionne-t-il ? Toga utilise [PyScript]{1} pour fournir un interprète Python dans le navigateur. Briefcase présente le code de votre application sous forme de roues que PyScript peut charger dans le navigateur. Lorsque la page est chargée, le code de l'application s'exécute dans le navigateur, construisant l'interface utilisateur en utilisant le DOM du navigateur. Lorsque vous cliquez sur un bouton, ce bouton exécute le code de gestion des événements dans le navigateur." #: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 msgid "Next steps" @@ -98,5 +98,5 @@ msgstr "Étapes suivantes" #: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." -msgstr "Bien que nous ayons maintenant déployé cette application sur les ordinateurs de bureau, les téléphones portables et le web, l'application est assez simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des bibliothèques du Python Package Index (PyPI) dans notre application ? Consultez :doc:`Tutoriel 7 ` pour le savoir..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Bien que nous ayons maintenant déployé cette application sur les ordinateurs de bureau, les téléphones portables et le web, l'application est assez simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des bibliothèques du Python Package Index (PyPI) dans notre application ? Consultez [Tutoriel 7][tutorial-7] pour le savoir..." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po index 61a2d216..26d715ee 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po @@ -39,18 +39,18 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e #, fuzzy -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "Ajoutons un appel API ``httpx`` à notre application. Ajoutez un import au début de ``app.py`` pour importer ``httpx``: :" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Ajoutons un appel API `httpx` à notre application. Ajoutez un import au début de `app.py` pour importer `httpx`: :" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Ensuite, modifiez le callback ``say_hello()`` pour qu'il ressemble à ceci: :" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Ensuite, modifiez le callback `say_hello()` pour qu'il ressemble à ceci: :" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 #, fuzzy @@ -104,8 +104,8 @@ msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f #, fuzzy -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" -msgstr "Qu'est-ce qui s'est passé ? Nous avons ajouté ``httpx`` à notre *code*, mais nous ne l'avons pas ajouté à notre environnement virtuel de développement. Nous pouvons corriger cela en installant ``httpx`` avec ``pip``, puis en relançant ``briefcase dev`` :" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "Qu'est-ce qui s'est passé ? Nous avons ajouté `httpx` à notre *code*, mais nous ne l'avons pas ajouté à notre environnement virtuel de développement. Nous pouvons corriger cela en installant `httpx` avec `pip`, puis en relançant `briefcase dev` :" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -141,8 +141,8 @@ msgstr "Exécution de l'application mise à jour" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "Nous allons faire en sorte que ce code d'application mis à jour soit empaqueté en tant qu'application autonome. Puisque nous avons modifié le code, nous devons suivre les mêmes étapes que dans :doc:`Tutoriel 4 ` :" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Nous allons faire en sorte que ce code d'application mis à jour soit empaqueté en tant qu'application autonome. Puisque nous avons modifié le code, nous devons suivre les mêmes étapes que dans [Tutoriel 4][tutorial-4] :" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -203,8 +203,8 @@ msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans l #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "Une fois de plus, l'application n'a pas pu démarrer parce que ``httpx`` a été installé - mais pourquoi ? N'avons-nous pas déjà installé `httpx` ?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Une fois de plus, l'application n'a pas pu démarrer parce que `httpx` a été installé - mais pourquoi ? N'avons-nous pas déjà installé [httpx` ?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -213,8 +213,8 @@ msgstr "Nous l'avons fait, mais uniquement dans l'environnement de développemen #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "La seule façon de garantir que quelqu'un d'autre disposera d'un environnement Python contenant tout ce dont il a besoin est de construire un environnement Python complètement isolé. Cela signifie qu'il y a une installation Python complètement isolée, et un ensemble de dépendances complètement isolé. C'est ce que Briefcase construit quand vous lancez ``briefcase build`` - un environnement Python isolé. Cela explique aussi pourquoi ``httpx`` n'est pas installé - il a été installé dans votre environnement de *développement*, mais pas dans l'application packagée." +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "La seule façon de garantir que quelqu'un d'autre disposera d'un environnement Python contenant tout ce dont il a besoin est de construire un environnement Python complètement isolé. Cela signifie qu'il y a une installation Python complètement isolée, et un ensemble de dépendances complètement isolé. C'est ce que Briefcase construit quand vous lancez `briefcase build` - un environnement Python isolé. Cela explique aussi pourquoi `httpx` n'est pas installé - il a été installé dans votre environnement de *développement*, mais pas dans l'application packagée." #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -228,43 +228,43 @@ msgstr "Mise à jour des dépendances" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "Dans le répertoire racine de votre application, il y a un fichier nommé ``pyproject.toml``. Ce fichier contient tous les détails de configuration de l'application que vous avez fournis lorsque vous avez lancé ``briefcase new``." +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "Dans le répertoire racine de votre application, il y a un fichier nommé `pyproject.toml`. Ce fichier contient tous les détails de configuration de l'application que vous avez fournis lorsque vous avez lancé `briefcase new`." #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" -msgstr "``pyproject.toml`` est divisé en sections ; l'une d'entre elles décrit les paramètres de votre application: :" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` est divisé en sections ; l'une d'entre elles décrit les paramètres de votre application: :" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "L'option ``requires`` décrit les dépendances de notre application. C'est une liste de chaînes de caractères, spécifiant les bibliothèques (et, optionnellement, les versions) des bibliothèques que vous voulez inclure dans votre application." +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "L'option `requires` décrit les dépendances de notre application. C'est une liste de chaînes de caractères, spécifiant les bibliothèques (et, optionnellement, les versions) des bibliothèques que vous voulez inclure dans votre application." #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "Modifiez le paramètre ``requires`` de façon à ce qu'il se lise: :" +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modifiez le paramètre `requires` de façon à ce qu'il se lise: :" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "En ajoutant ce paramètre, nous disons à Briefcase \"lorsque vous compilez mon application, lancez ``pip install httpx`` dans le bundle de l'application\". Tout ce qui serait une entrée légale pour `pip install`` peut être utilisé ici - ainsi, vous pourriez spécifier :" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "En ajoutant ce paramètre, nous disons à Briefcase \"lorsque vous compilez mon application, lancez `pip install httpx` dans le bundle de l'application\". Tout ce qui serait une entrée légale pour `pip install` peut être utilisé ici - ainsi, vous pourriez spécifier :" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "Une version spécifique de la bibliothèque (par exemple, ``\"httpx==0.19.0\"``) ;" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Une version spécifique de la bibliothèque (par exemple, `\"httpx==0.19.0\"`) ;" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "Une gamme de versions de la bibliothèque (par exemple, ``\"httpx>=0.19\"``) ;" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Une gamme de versions de la bibliothèque (par exemple, `\"httpx>=0.19\"`) ;" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "Un chemin vers un dépôt git (par exemple, ``\"git+https://github.com/encode/httpx\"``) ; ou" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Un chemin vers un dépôt git (par exemple, `\"git+https://github.com/encode/httpx\"`) ; ou" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 #, fuzzy @@ -273,84 +273,84 @@ msgstr "Un chemin d'accès à un fichier local (Cependant, attention : si vous d #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Plus loin dans ``pyproject.toml``, vous remarquerez d'autres sections qui dépendent du système d'exploitation, comme ``[tool.briefcase.app.helloworld.macOS]`` et ``[tool.briefcase.app.helloworld.windows]``. Ces sections ont *également* un paramètre ``requires``. Ces paramètres vous permettent de définir des dépendances supplémentaires spécifiques à une plate-forme - ainsi, par exemple, si vous avez besoin d'une bibliothèque spécifique à une plate-forme pour gérer un aspect de votre application, vous pouvez spécifier cette bibliothèque dans la section ``requires'' spécifique à la plate-forme, et ce paramètre ne sera utilisé que pour cette plate-forme. Vous remarquerez que les bibliothèques ``toga`` sont toutes spécifiées dans la section ``requires`` spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires pour afficher une interface utilisateur sont spécifiques à la plate-forme." +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Plus loin dans `pyproject.toml`, vous remarquerez d'autres sections qui dépendent du système d'exploitation, comme `[tool.briefcase.app.helloworld.macOS]` et `[tool.briefcase.app.helloworld.windows]`. Ces sections ont *également* un paramètre `requires`. Ces paramètres vous permettent de définir des dépendances supplémentaires spécifiques à une plate-forme - ainsi, par exemple, si vous avez besoin d'une bibliothèque spécifique à une plate-forme pour gérer un aspect de votre application, vous pouvez spécifier cette bibliothèque dans la section `requires'' spécifique à la plate-forme, et ce paramètre ne sera utilisé que pour cette plate-forme. Vous remarquerez que les bibliothèques `toga` sont toutes spécifiées dans la section `requires` spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires pour afficher une interface utilisateur sont spécifiques à la plate-forme." #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "Dans notre cas, nous voulons que ``httpx`` soit installé sur toutes les plateformes, donc nous utilisons le paramètre ``requires`` au niveau de l'application. Les dépendances au niveau de l'application seront toujours installées ; les dépendances spécifiques à la plate-forme sont installées *en plus* de celles au niveau de l'application." +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "Dans notre cas, nous voulons que `httpx` soit installé sur toutes les plateformes, donc nous utilisons le paramètre `requires` au niveau de l'application. Les dépendances au niveau de l'application seront toujours installées ; les dépendances spécifiques à la plate-forme sont installées *en plus* de celles au niveau de l'application." #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Maintenant que nous avons informé Briefcase de nos exigences supplémentaires, nous pouvons essayer d'empaqueter à nouveau notre application. Assurez-vous que vous avez sauvegardé vos changements dans ``pyproject.toml``, puis mettez à jour votre application à nouveau - cette fois-ci, en passant le drapeau ``-r``. Cela indique à Briefcase de mettre à jour les exigences dans l'application packagée :" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Maintenant que nous avons informé Briefcase de nos exigences supplémentaires, nous pouvons essayer d'empaqueter à nouveau notre application. Assurez-vous que vous avez sauvegardé vos changements dans `pyproject.toml`, puis mettez à jour votre application à nouveau - cette fois-ci, en passant le drapeau `-r`. Cela indique à Briefcase de mettre à jour les exigences dans l'application packagée :" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "Une fois la mise à jour effectuée, vous pouvez lancer ``briefcase build`` et ``briefcase run`` - et vous devriez voir votre application packagée, avec le nouveau comportement du dialogue." +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Une fois la mise à jour effectuée, vous pouvez lancer `briefcase build` et `briefcase run` - et vous devriez voir votre application packagée, avec le nouveau comportement du dialogue." #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "L'option ``-r`` pour la mise à jour des exigences est également honorée par les commandes ``build`` et ``run``, donc si vous voulez mettre à jour, compiler et exécuter en une seule étape, vous pouvez utiliser ``briefcase run -u -r``." +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "L'option `-r` pour la mise à jour des exigences est également honorée par les commandes `build` et `run`, donc si vous voulez mettre à jour, compiler et exécuter en une seule étape, vous pouvez utiliser `briefcase run -u -r`." #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "Sur les plateformes de bureau (macOS, Windows, Linux), tout ``pip``-installable peut être ajouté à vos exigences. Sur les plateformes mobiles et web, `vos options sont légèrement limitées `__." +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Sur les plateformes de bureau (macOS, Windows, Linux), tout `pip`-installable peut être ajouté à vos exigences. Sur les plateformes mobiles et web, [vos options sont légèrement limitées]{1}." #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 #, fuzzy msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare peut fournir des binaires pour certains modules binaires populaires (y compris ``numpy``, ``pandas``, et ``cryptographie``). Il est *habituellement* possible de compiler des paquets pour les plateformes mobiles, mais ce n'est pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel d'introduction comme celui-ci." +msgstr "BeeWare peut fournir des binaires pour certains modules binaires populaires (y compris `numpy`, `pandas`, et `cryptographie`). Il est *habituellement* possible de compiler des paquets pour les plateformes mobiles, mais ce n'est pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel d'introduction comme celui-ci." #: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 msgid "Next steps" msgstr "Étapes suivantes" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "Accéder à une API" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "Une tâche courante qu'une application doit effectuer est de faire une requête sur une API web pour récupérer des données, et afficher ces données à l'utilisateur. Comme il s'agit d'une application jouet, nous n'avons pas de *vraie* API à utiliser. Nous utiliserons donc la `{JSON} Placeholder API `__ comme source de données." +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Une tâche courante qu'une application doit effectuer est de faire une requête sur une API web pour récupérer des données, et afficher ces données à l'utilisateur. Comme il s'agit d'une application jouet, nous n'avons pas de *vraie* API à utiliser. Nous utiliserons donc la [{JSON} Placeholder API]{1} comme source de données." -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "L'API {JSON} Placeholder possède un certain nombre de \"faux\" points de terminaison d'API que vous pouvez utiliser comme données de test. L'une de ces API est le point de terminaison ``/posts/``, qui renvoie de faux billets de blog. Si vous ouvrez ``https://jsonplaceholder.typicode.com/posts/42`` dans votre navigateur, vous obtiendrez un fichier JSON décrivant un seul article - un contenu `Lorum ipsum `__ pour un article de blog avec l'ID 42." +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "L'API {JSON} Placeholder possède un certain nombre de \"faux\" points de terminaison d'API que vous pouvez utiliser comme données de test. L'une de ces API est le point de terminaison `/posts/`, qui renvoie de faux billets de blog. Si vous ouvrez `https://jsonplaceholder.typicode.com/posts/42` dans votre navigateur, vous obtiendrez un fichier JSON décrivant un seul article - un contenu [Lorum ipsum]{1} pour un article de blog avec l'ID 42." #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." #~ msgstr "La bibliothèque standard de Python contient tous les outils dont vous avez besoin pour accéder à une API. Cependant, les API intégrées sont de très bas niveau. Ce sont de bonnes implémentations du protocole HTTP, mais elles exigent de l'utilisateur qu'il gère de nombreux détails de bas niveau, comme la redirection d'URL, les sessions, l'authentification et l'encodage des données utiles. En tant qu'\"utilisateur normal de navigateur\", vous avez probablement l'habitude de considérer ces détails comme allant de soi, car le navigateur les gère pour vous." -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "En conséquence, des bibliothèques tierces ont été développées pour envelopper les API intégrées et fournir une API plus simple qui correspond mieux à l'expérience quotidienne du navigateur. Nous allons utiliser l'une de ces bibliothèques pour accéder à l'API {JSON} Placeholder - une bibliothèque appelée `httpx `__." +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "En conséquence, des bibliothèques tierces ont été développées pour envelopper les API intégrées et fournir une API plus simple qui correspond mieux à l'expérience quotidienne du navigateur. Nous allons utiliser l'une de ces bibliothèques pour accéder à l'API {JSON} Placeholder - une bibliothèque appelée [httpx]{1}." -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "Cela modifiera le callback ``say_hello()`` de telle sorte que lorsqu'il est invoqué, il le fera :" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Cela modifiera le callback `say_hello()` de telle sorte que lorsqu'il est invoqué, il le fera :" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "effectuer une requête GET sur l'API JSON pour obtenir le poste 42 ;" @@ -370,5 +370,5 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "En bref, tout paquetage *pure Python* (c'est-à-dire les paquetages qui ne contiennent pas de module binaire) peut être utilisé sans difficulté. Cependant, si votre dépendance contient un composant binaire, il doit être compilé ; à l'heure actuelle, la plupart des paquets Python ne fournissent pas de support de compilation pour les plates-formes autres que les ordinateurs de bureau." -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." -#~ msgstr "Nous avons maintenant une application qui utilise une bibliothèque tierce ! Cependant, vous avez peut-être remarqué que lorsque vous appuyez sur le bouton, l'application ne répond plus vraiment. Pouvons-nous faire quelque chose pour résoudre ce problème ? Consultez :doc:`Tutoriel 8 ` pour le savoir..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Nous avons maintenant une application qui utilise une bibliothèque tierce ! Cependant, vous avez peut-être remarqué que lorsque vous appuyez sur le bouton, l'application ne répond plus vraiment. Pouvons-nous faire quelque chose pour résoudre ce problème ? Consultez [Tutoriel 8][tutorial-8] pour le savoir..." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po index fd026241..ec377fd0 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po @@ -38,7 +38,7 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 @@ -47,24 +47,24 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement ``say_hello()`` pour qu'il ressemble à ceci: :" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -84,7 +84,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -159,7 +159,7 @@ msgstr "Pour comprendre pourquoi cela se produit, nous devons entrer dans les d #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 #, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "Une application GUI est, fondamentalement, une boucle unique qui ressemble à quelque chose comme: :" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 @@ -169,13 +169,13 @@ msgstr "Cette boucle est appelée *boucle d'événements*. (Il ne s'agit pas de #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "Lorsque vous cliquez sur un bouton, faites glisser une barre de défilement ou tapez une touche, vous générez un \"événement\". Cet \"événement\" est placé dans une file d'attente, et l'application traitera la file d'événements lorsqu'elle en aura l'occasion. Le code utilisateur déclenché en réponse à l'événement est appelé \"gestionnaire d'événement\". Ces gestionnaires d'événements sont invoqués dans le cadre de l'appel ``process_events()``." +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Lorsque vous cliquez sur un bouton, faites glisser une barre de défilement ou tapez une touche, vous générez un \"événement\". Cet \"événement\" est placé dans une file d'attente, et l'application traitera la file d'événements lorsqu'elle en aura l'occasion. Le code utilisateur déclenché en réponse à l'événement est appelé \"gestionnaire d'événement\". Ces gestionnaires d'événements sont invoqués dans le cadre de l'appel `process_events()`." #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 #, fuzzy -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Une fois qu'une application a traité tous les événements disponibles, elle va ``redraw()`` l'interface graphique. Cela prend en compte tous les changements que les événements ont causés à l'affichage de l'application, ainsi que tout ce qui se passe dans le système d'exploitation - par exemple, les fenêtres d'une autre application peuvent masquer ou révéler une partie de la fenêtre de notre application, et le redessin de notre application devra refléter la partie de la fenêtre qui est actuellement visible." +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Une fois qu'une application a traité tous les événements disponibles, elle va `redraw()` l'interface graphique. Cela prend en compte tous les changements que les événements ont causés à l'affichage de l'application, ainsi que tout ce qui se passe dans le système d'exploitation - par exemple, les fenêtres d'une autre application peuvent masquer ou révéler une partie de la fenêtre de notre application, et le redessin de notre application devra refléter la partie de la fenêtre qui est actuellement visible." #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 #, fuzzy @@ -219,8 +219,8 @@ msgstr "Les fonctions asynchrones (appelées *co-routines*) doivent être explic #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "En Python, la programmation asynchrone est implémentée à l'aide des mots-clés ``async`` et ``await``, et du module ``asyncio `__ dans la bibliothèque standard. Le mot-clé ``async`` nous permet de déclarer qu'une fonction est une co-routine asynchrone. Le mot-clé ``await`` permet de déclarer qu'il existe une opportunité de changer de contexte vers une autre co-routine. Le module `asyncio `__ fournit d'autres outils et primitives utiles pour le codage asynchrone." +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "En Python, la programmation asynchrone est implémentée à l'aide des mots-clés `async` et `await`, et du module [asyncio]{1} dans la bibliothèque standard. Le mot-clé `async` nous permet de déclarer qu'une fonction est une co-routine asynchrone. Le mot-clé `await` permet de déclarer qu'il existe une opportunité de changer de contexte vers une autre co-routine. Le module `asyncio]{2} fournit d'autres outils et primitives utiles pour le codage asynchrone." #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -229,8 +229,8 @@ msgstr "Rendre le didacticiel asynchrone" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 #, fuzzy -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" -msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement ``say_hello()`` pour qu'il ressemble à ceci: :" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 #, fuzzy @@ -239,20 +239,20 @@ msgstr "Il n'y a que 4 changements dans ce code par rapport à la version préc #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d #, fuzzy -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Le client créé est un ``AsyncClient()`` asynchrone, plutôt qu'un ``Client()`` synchrone. Cela indique à ``httpx`` qu'il doit fonctionner en mode asynchrone, plutôt qu'en mode synchrone." +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "Le client créé est un `AsyncClient()` asynchrone, plutôt qu'un `Client()` synchrone. Cela indique à `httpx` qu'il doit fonctionner en mode asynchrone, plutôt qu'en mode synchrone." #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d #, fuzzy -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Le gestionnaire de contexte utilisé pour créer le client est marqué comme ``async``. Cela indique à Python qu'il y a une opportunité de relâcher le contrôle lorsque le gestionnaire de contexte est entré et sorti." +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "Le gestionnaire de contexte utilisé pour créer le client est marqué comme `async`. Cela indique à Python qu'il y a une opportunité de relâcher le contrôle lorsque le gestionnaire de contexte est entré et sorti." #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -263,7 +263,7 @@ msgstr "Toga vous permet d'utiliser des méthodes normales ou des co-programmes #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Si vous sauvegardez ces changements et relancez l'application (soit avec ``briefcase dev`` en mode développement, soit en mettant à jour et en relançant l'application packagée), il n'y aura pas de changements évidents dans l'application. Cependant, lorsque vous cliquez sur le bouton pour déclencher le dialogue, vous pouvez remarquer un certain nombre d'améliorations subtiles :" +msgstr "Si vous sauvegardez ces changements et relancez l'application (soit avec `briefcase dev` en mode développement, soit en mettant à jour et en relançant l'application packagée), il n'y aura pas de changements évidents dans l'application. Cependant, lorsque vous cliquez sur le bouton pour déclencher le dialogue, vous pouvez remarquer un certain nombre d'améliorations subtiles :" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 #, fuzzy @@ -286,7 +286,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "Si vous essayez d'ouvrir un menu d'application, le menu s'affiche immédiatement." #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -338,34 +338,34 @@ msgid "So - where to from here?" msgstr "" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." msgstr "" #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." msgstr "" #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "Nous disposons désormais d'une application élégante et réactive, même lorsqu'elle est en attente d'une API lente. Mais comment s'assurer que l'application continue de fonctionner au fur et à mesure que nous la développons ? Comment tester notre application ? Consultez :doc:`Tutoriel 9 ` pour le découvrir..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Nous disposons désormais d'une application élégante et réactive, même lorsqu'elle est en attente d'une API lente. Mais comment s'assurer que l'application continue de fonctionner au fur et à mesure que nous la développons ? Comment tester notre application ? Consultez [Tutoriel 9][tutorial-9] pour le découvrir..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "La méthode est définie comme ``async def``, plutôt que comme ``def``. Cela indique à Python que la méthode est une co-routine asynchrone." +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "La méthode est définie comme `async def`, plutôt que comme `def`. Cela indique à Python que la méthode est une co-routine asynchrone." -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "L'appel ``get`` est fait avec un mot-clé ``await``. Cela indique à l'application que pendant que nous attendons la réponse du réseau, l'application peut laisser le contrôle à la boucle d'événements." +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "L'appel `get` est fait avec un mot-clé `await`. Cela indique à l'application que pendant que nous attendons la réponse du réseau, l'application peut laisser le contrôle à la boucle d'événements." -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx``:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." #~ msgstr "" -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." #~ msgstr "" diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po index 1a029932..228dceb9 100644 --- a/locales/it/LC_MESSAGES/how-to/index.po +++ b/locales/it/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po index c345f04a..7a1f41ac 100644 --- a/locales/it/LC_MESSAGES/index.po +++ b/locales/it/LC_MESSAGES/index.po @@ -41,8 +41,8 @@ msgstr "Le traduzioni sono disponibili" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 #, fuzzy -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "Se non vi sentite a vostro agio con l'inglese, sono disponibili traduzioni di questo tutorial in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__ e `汉语 `__." +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "Se non vi sentite a vostro agio con l'inglese, sono disponibili traduzioni di questo tutorial in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5} e [汉语]{6}." #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 #, fuzzy @@ -57,8 +57,8 @@ msgstr "Questa versione del tutorial è stata generata da una traduzione automat #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb #, fuzzy -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "Se volete contribuire a migliorare la traduzione, contattateci! Abbiamo un canale ``#translations`` in `Discord `__. Presentati lì e ti aggiungeremo al team di traduzione." +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Se volete contribuire a migliorare la traduzione, contattateci! Abbiamo un canale `#translations` in [Discord]{1}. Presentati lì e ti aggiungeremo al team di traduzione." #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 #, fuzzy @@ -82,18 +82,18 @@ msgstr "BeeWare non è un singolo prodotto, o strumento, o libreria: è una racc #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e #, fuzzy -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__, un toolkit di widget multipiattaforma;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, un toolkit di widget multipiattaforma;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e #, fuzzy -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__, uno strumento per impacchettare i progetti Python come artefatti distribuibili che possono essere spediti agli utenti finali;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, uno strumento per impacchettare i progetti Python come artefatti distribuibili che possono essere spediti agli utenti finali;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc #, fuzzy -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "Librerie (come `Rubicon ObjC `__) per accedere alle librerie native della piattaforma;" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Librerie (come [Rubicon ObjC]{1}) per accedere alle librerie native della piattaforma;" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 #, fuzzy @@ -117,6 +117,6 @@ msgstr "Andiamo!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f #, fuzzy -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "Siete pronti a provare BeeWare? :doc:`Costruiamo un'applicazione multipiattaforma in Python! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Siete pronti a provare BeeWare? [Costruiamo un'applicazione multipiattaforma in Python!][tutorial/tutorial-0]" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po index 3ce9e387..261f3b58 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -52,11 +52,11 @@ msgid "Start a new project" msgstr "" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "" #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" msgstr "" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f @@ -64,7 +64,7 @@ msgid "Add code to take a photo" msgstr "" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" msgstr "" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd @@ -72,15 +72,15 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." msgstr "" #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." msgstr "" #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." msgstr "" #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 @@ -96,7 +96,7 @@ msgid "However, this request comes in two parts. The first is in the code we've msgstr "" #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" msgstr "" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b @@ -124,10 +124,10 @@ msgid "Adding more permissions" msgstr "" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "" -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.helloworld]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" #~ msgstr "" #~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po index a0c8f567..3d05d7fc 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -38,7 +38,7 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "" #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 @@ -46,7 +46,7 @@ msgid "This icon definition doesn't specify any file extension. The value will b msgstr "" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/topics/custom-icons.rst:36 @@ -89,7 +89,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -101,11 +101,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -113,30 +113,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**Prossimamente**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "Ora abbiamo un'applicazione con un'icona personalizzata sul desktop e sul telefono! Come possiamo condividere questa applicazione con tutti gli altri? Consultate :doc:`Tutorial 11 ` per scoprirlo..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Ora abbiamo un'applicazione con un'icona personalizzata sul desktop e sul telefono! Come possiamo condividere questa applicazione con tutti gli altri? Consultate [Tutorial 11][tutorial-11] per scoprirlo..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "Esercitazione 10 - Create la vostra applicazione" @@ -144,6 +144,6 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "Prossimi passi" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/testing.po b/locales/it/LC_MESSAGES/tutorial/topics/testing.po index ff0168a9..28ca1c95 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/testing.po @@ -36,18 +36,18 @@ msgstr "Esecuzione della suite di test" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "Si scopre che il nostro progetto ha già una suite di test! Quando abbiamo generato il nostro progetto, sono state generate due directory di primo livello: ``src`` e ``tests``. La cartella ``src`` contiene il codice della nostra applicazione; la cartella ``tests`` contiene la nostra suite di test. All'interno della cartella ``tests`` c'è un file chiamato ``test_app.py`` con il seguente contenuto::" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Si scopre che il nostro progetto ha già una suite di test! Quando abbiamo generato il nostro progetto, sono state generate due directory di primo livello: `src` e `tests`. La cartella `src` contiene il codice della nostra applicazione; la cartella `tests` contiene la nostra suite di test. All'interno della cartella `tests` c'è un file chiamato `test_app.py` con il seguente contenuto:" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 #, fuzzy -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Questo è un `Pytest `__ *caso di test* - un blocco di codice che può essere eseguito per verificare un comportamento dell'applicazione. In questo caso, il test è un segnaposto e non verifica nulla della nostra applicazione, ma è un test che possiamo eseguire." +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Questo è un [Pytest]{1} *caso di test* - un blocco di codice che può essere eseguito per verificare un comportamento dell'applicazione. In questo caso, il test è un segnaposto e non verifica nulla della nostra applicazione, ma è un test che possiamo eseguire." #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 #, fuzzy -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "Possiamo eseguire questa suite di test usando l'opzione ``--test`` di ``briefcase dev``. Poiché è la prima volta che si eseguono dei test, è necessario inserire anche l'opzione ``-r`` per assicurarsi che anche i requisiti dei test siano installati:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Possiamo eseguire questa suite di test usando l'opzione `--test` di `briefcase dev`. Poiché è la prima volta che si eseguono dei test, è necessario inserire anche l'opzione `-r` per assicurarsi che anche i requisiti dei test siano installati:" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 #: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 @@ -80,8 +80,8 @@ msgstr "Successo! Abbiamo appena eseguito un singolo test che verifica che la ma #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "Sostituiamo questo test segnaposto con un test per verificare che il nostro metodo ``greeting()`` si comporti come ci aspettiamo. Sostituire il contenuto di ``test_app.py`` con il seguente::" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Sostituiamo questo test segnaposto con un test per verificare che il nostro metodo `greeting()` si comporti come ci aspettiamo. Sostituire il contenuto di `test_app.py` con il seguente:" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe #, fuzzy @@ -90,13 +90,13 @@ msgstr "Questo definisce due nuovi test, che verificano i due comportamenti che #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "Ora possiamo eseguire nuovamente la suite di test. Questa volta non è necessario fornire l'opzione ``-r``, poiché i requisiti per i test sono già stati installati; è sufficiente usare l'opzione ``--test``:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Ora possiamo eseguire nuovamente la suite di test. Questa volta non è necessario fornire l'opzione `-r`, poiché i requisiti per i test sono già stati installati; è sufficiente usare l'opzione `--test`:" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 #, fuzzy -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "Eccellente! Il nostro metodo di utilità ``greeting()`` funziona come previsto." +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Eccellente! Il nostro metodo di utilità `greeting()` funziona come previsto." #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 #, fuzzy @@ -105,8 +105,8 @@ msgstr "Sviluppo guidato dai test" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "Ora che abbiamo una suite di test, possiamo usarla per guidare lo sviluppo di nuove funzionalità. Modifichiamo la nostra applicazione per avere un saluto speciale per un utente in particolare. Possiamo iniziare aggiungendo un caso di test per il nuovo comportamento che vorremmo vedere in fondo a ``test_app.py``::" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Ora che abbiamo una suite di test, possiamo usarla per guidare lo sviluppo di nuove funzionalità. Modifichiamo la nostra applicazione per avere un saluto speciale per un utente in particolare. Possiamo iniziare aggiungendo un caso di test per il nuovo comportamento che vorremmo vedere in fondo a `test_app.py`:" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 #, fuzzy @@ -115,8 +115,8 @@ msgstr "Quindi, eseguire la suite di test con questo nuovo test:" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "Questa volta, vediamo un fallimento del test e l'output spiega la fonte del fallimento: il test si aspetta l'output \"BeeWare the IDEs of Python!\", ma la nostra implementazione di ``greeting()`` restituisce \"Hello, Brutus\". Modifichiamo l'implementazione di ``greeting()`` in ``src/helloworld/app.py`` per avere il nuovo comportamento::" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Questa volta, vediamo un fallimento del test e l'output spiega la fonte del fallimento: il test si aspetta l'output \"BeeWare the IDEs of Python!\", ma la nostra implementazione di `greeting()` restituisce \"Hello, Brutus\". Modifichiamo l'implementazione di `greeting()` in `src/helloworld/app.py` per avere il nuovo comportamento:" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 #, fuzzy @@ -135,18 +135,18 @@ msgstr "Finora abbiamo eseguito i test in modalità di sviluppo. Questo è parti #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 #, fuzzy -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Le opzioni ``--test`` e ``-r`` possono essere passate anche al comando ``run``. Se si usa ``briefcase run --test -r``, verrà eseguita la stessa suite di test, ma all'interno del bundle dell'applicazione confezionata e non nell'ambiente di sviluppo:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "Le opzioni `--test` e `-r` possono essere passate anche al comando `run`. Se si usa `briefcase run --test -r`, verrà eseguita la stessa suite di test, ma all'interno del bundle dell'applicazione confezionata e non nell'ambiente di sviluppo:" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 #, fuzzy -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Come per ``briefcase dev --test``, l'opzione ``-r`` è necessaria solo la prima volta che si esegue la suite di test, per assicurarsi che le dipendenze del test siano presenti. Nelle esecuzioni successive, si può omettere questa opzione." +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Come per `briefcase dev --test`, l'opzione `-r` è necessaria solo la prima volta che si esegue la suite di test, per assicurarsi che le dipendenze del test siano presenti. Nelle esecuzioni successive, si può omettere questa opzione." #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c #, fuzzy -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "Si può anche usare l'opzione ``--test`` sui backend mobili: - quindi ``briefcase run iOS --test`` e ``briefcase run android --test`` funzioneranno entrambi, eseguendo la suite di test sul dispositivo mobile selezionato." +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Si può anche usare l'opzione `--test` sui backend mobili: - quindi `briefcase run iOS --test` e `briefcase run android --test` funzioneranno entrambi, eseguendo la suite di test sul dispositivo mobile selezionato." #~ msgid "Next steps" #~ msgstr "Prossimi passi" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po index 18aecb50..a880c417 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po @@ -47,13 +47,13 @@ msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale dal sito web di Python `_. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 #, fuzzy -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." -msgstr "Esistono molti modi diversi per installare Python. Si può installare Python tramite `homebrew `__. Si può usare `pyenv `__ per gestire più installazioni di Python sulla stessa macchina. Gli utenti di Windows possono installare Python dal Windows App Store. Gli utenti con un background di scienza dei dati potrebbero voler usare `Anaconda `__ o `Miniconda `__." +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Esistono molti modi diversi per installare Python. Si può installare Python tramite [homebrew]{1}. Si può usare [pyenv]{2} per gestire più installazioni di Python sulla stessa macchina. Gli utenti di Windows possono installare Python dal Windows App Store. Gli utenti con un background di scienza dei dati potrebbero voler usare [Anaconda]{3} o [Miniconda]{4}." #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -75,8 +75,8 @@ msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 #, fuzzy -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "Se siete su Linux, installerete Python usando il gestore di pacchetti del sistema (``apt`` su Debian/Ubuntu/Mint, ``dnf`` su Fedora, o ``pacman`` su Arch)." +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Se siete su Linux, installerete Python usando il gestore di pacchetti del sistema (`apt` su Debian/Ubuntu/Mint, `dnf` su Fedora, o `pacman` su Arch)." #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -100,8 +100,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale dal sito web di Python `_. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -110,8 +110,8 @@ msgstr "Il supporto per Raspberry Pi è al momento limitato." #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "Se siete su macOS o Windows, non importa *come* avete installato Python: importa solo che possiate eseguire ``python3`` dal prompt dei comandi/terminale del vostro sistema operativo e ottenere un interprete Python funzionante." +msgid "You can also install Python from the Windows App Store, or use `Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Se siete su macOS o Windows, non importa *come* avete installato Python: importa solo che possiate eseguire `python3` dal prompt dei comandi/terminale del vostro sistema operativo e ottenere un interprete Python funzionante." #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 #, fuzzy @@ -163,8 +163,8 @@ msgstr "La creazione di applicazioni BeeWare su Windows richiede:" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 #, fuzzy -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git**, un sistema di controllo delle versioni. È possibile scaricare Git da `git-scm.com `__." +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, un sistema di controllo delle versioni. È possibile scaricare Git da [git-scm.com]{1}." #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 #, fuzzy @@ -182,7 +182,7 @@ msgid "We're now going to create a virtual environment - a \"sandbox\" that we c msgstr "Ora creeremo un ambiente virtuale, una \"sandbox\" che potremo usare per isolare il nostro lavoro su questo tutorial dalla nostra installazione principale di Python. Se installiamo dei pacchetti nell'ambiente virtuale, la nostra installazione principale di Python (e qualsiasi altro progetto Python sul nostro computer) non ne risentirà. Se facciamo un pasticcio completo nel nostro ambiente virtuale, potremo semplicemente cancellarlo e ricominciare da capo, senza influenzare nessun altro progetto Python sul nostro computer e senza la necessità di reinstallare Python." #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." msgstr "" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 @@ -192,8 +192,8 @@ msgstr "Errori nell'esecuzione degli script PowerShell" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b #, fuzzy -msgid "If you're using PowerShell, and you receive the error::" -msgstr "Se si utilizza PowerShell e si riceve l'errore::" +msgid "If you're using PowerShell, and you receive the error:" +msgstr "Se si utilizza PowerShell e si riceve l'errore:" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c #, fuzzy @@ -201,28 +201,28 @@ msgid "Your Windows account doesn't have permissions to run scripts. To fix this msgstr "L'account di Windows non ha i permessi per eseguire gli script. Per risolvere il problema:" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." +msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 #, fuzzy -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "Eseguire ``set-executionpolicy RemoteSigned``" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Eseguire `set-executionpolicy RemoteSigned`" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e #, fuzzy -msgid "Select ``Y`` to change the execution policy." -msgstr "Selezionare ``Y`` per modificare il criterio di esecuzione." +msgid "Select `Y` to change the execution policy." +msgstr "Selezionare `Y` per modificare il criterio di esecuzione." #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f #, fuzzy -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "Una volta fatto questo, si può rieseguire ``beeware-venv\\Scripts\\activate.ps1`` nella sessione PowerShell originale (o in una nuova sessione nella stessa directory)." +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Una volta fatto questo, si può rieseguire `beeware-venv\\Scripts\\activate.ps1` nella sessione PowerShell originale (o in una nuova sessione nella stessa directory)." #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c #, fuzzy -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "Se questo ha funzionato, il prompt dovrebbe essere cambiato: dovrebbe avere il prefisso ``(beeware-venv)``. Questo permette di sapere che ci si trova nell'ambiente virtuale BeeWare. Ogni volta che si lavora a questo tutorial, bisogna assicurarsi che l'ambiente virtuale sia attivato. In caso contrario, eseguire nuovamente l'ultimo comando (il comando ``activate``) per riattivare l'ambiente." +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Se questo ha funzionato, il prompt dovrebbe essere cambiato: dovrebbe avere il prefisso `(beeware-venv)`. Questo permette di sapere che ci si trova nell'ambiente virtuale BeeWare. Ogni volta che si lavora a questo tutorial, bisogna assicurarsi che l'ambiente virtuale sia attivato. In caso contrario, eseguire nuovamente l'ultimo comando (il comando `activate`) per riattivare l'ambiente." #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd #, fuzzy @@ -231,8 +231,8 @@ msgstr "Ambienti virtuali alternativi" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd #, fuzzy -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "Se si usa Anaconda o miniconda, forse si ha più familiarità con l'uso degli ambienti conda. Potreste anche aver sentito parlare di ``virtualenv``, un predecessore del modulo ``venv`` integrato in Python. Come per le installazioni di Python, se siete su macOS o Windows, non importa *come* create il vostro ambiente virtuale, purché ne abbiate uno. Se siete su Linux, dovreste usare ``venv`` e il Python di sistema." +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Se si usa Anaconda o miniconda, forse si ha più familiarità con l'uso degli ambienti conda. Potreste anche aver sentito parlare di `virtualenv`, un predecessore del modulo `venv` integrato in Python. Come per le installazioni di Python, se siete su macOS o Windows, non importa *come* create il vostro ambiente virtuale, purché ne abbiate uno. Se siete su Linux, dovreste usare `venv` e il Python di sistema." #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" @@ -240,8 +240,8 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 #, fuzzy -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a :doc:`creare la nostra prima applicazione BeeWare `." +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a [creare la nostra prima applicazione BeeWare][tutorial-1]." #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "Eseguire Windows PowerShell come amministratore." @@ -261,6 +261,6 @@ msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a :doc:`creare #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "Se Python è installato, verrà visualizzato il suo numero di versione. In caso contrario, verrà richiesto di installare gli strumenti di sviluppo a riga di comando." -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale dal sito web di Python `_. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index d4a2bc62..1072f0a5 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -36,8 +36,8 @@ msgstr "Installare gli strumenti BeeWare" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 #, fuzzy -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" -msgstr "Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno strumento di BeeWare che può essere usato per confezionare l'applicazione da distribuire agli utenti finali, ma può anche essere usato per avviare un nuovo progetto. Assicuratevi di essere nella cartella ``beeware-tutorial`` creata in :doc:`Tutorial 0 `, con l'ambiente virtuale ``beeware-venv`` attivato ed eseguite:" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno strumento di BeeWare che può essere usato per confezionare l'applicazione da distribuire agli utenti finali, ma può anche essere usato per avviare un nuovo progetto. Assicuratevi di essere nella cartella `beeware-tutorial` creata in [Tutorial 0][tutorial-0], con l'ambiente virtuale `beeware-venv` attivato ed eseguite:" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -61,8 +61,8 @@ msgstr "Possibili errori durante l'installazione" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 #, fuzzy -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." -msgstr "Se si riscontrano errori durante l'installazione, è quasi certamente perché alcuni dei requisiti di sistema non sono stati installati. Assicurarsi di aver :ref:`installato tutti i pre-requisiti della piattaforma `." +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Se si riscontrano errori durante l'installazione, è quasi certamente perché alcuni dei requisiti di sistema non sono stati installati. Assicurarsi di aver [installato tutti i pre-requisiti della piattaforma ][install-dependencies]." #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -73,8 +73,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb #, fuzzy -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "È importante utilizzare ``python -m pip``, piuttosto che un semplice ``pip``. Briefcase deve assicurarsi di avere una versione aggiornata di ``pip`` e ``setuptools``, e un'invocazione nuda di ``pip`` non può autoaggiornarsi. Se volete saperne di più, `Brett Cannon ha un post dettagliato sul blog sul problema `__." +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "È importante utilizzare `python -m pip`, piuttosto che un semplice `pip`. Briefcase deve assicurarsi di avere una versione aggiornata di `pip` e `setuptools`, e un'invocazione nuda di `pip` non può autoaggiornarsi. Se volete saperne di più, [Brett Cannon ha un post dettagliato sul blog sul problema]{1}." #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd #, fuzzy @@ -83,8 +83,8 @@ msgstr "Bootstrap di un nuovo progetto" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c #, fuzzy -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Avviamo il nostro primo progetto BeeWare! Useremo il comando ``new`` di Briefcase per creare un'applicazione chiamata **Hello World**. Eseguite il seguente comando dal prompt dei comandi:" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Avviamo il nostro primo progetto BeeWare! Useremo il comando `new` di Briefcase per creare un'applicazione chiamata **Hello World**. Eseguite il seguente comando dal prompt dei comandi:" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed #, fuzzy @@ -93,23 +93,23 @@ msgstr "Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 #, fuzzy -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**Nome formale** - Accettare il valore predefinito: ``Hello World``." +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Nome formale** - Accettare il valore predefinito: `Hello World`." #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 #, fuzzy -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**Nome applicazione** - Accettare il valore predefinito: ``helloworld``." +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**Nome applicazione** - Accettare il valore predefinito: `helloworld`." #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." -msgstr "**Bundle** - Se si possiede un proprio dominio, inserirlo in ordine inverso. (Ad esempio, se si possiede il dominio \"cupcakes.com\", inserire ``com.cupcakes`` come bundle). Se non si possiede un dominio proprio, accettare il bundle predefinito (``com.example``)." +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Se si possiede un proprio dominio, inserirlo in ordine inverso. (Ad esempio, se si possiede il dominio \"cupcakes.com\", inserire `com.cupcakes` come bundle). Se non si possiede un dominio proprio, accettare il bundle predefinito (`com.example`)." #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 #, fuzzy -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**Nome del progetto** - Accettare il valore predefinito: ``Hello World``." +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Nome del progetto** - Accettare il valore predefinito: `Hello World`." #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d #, fuzzy @@ -128,8 +128,8 @@ msgstr "**Email dell'autore** - Inserire il proprio indirizzo e-mail. Verrà uti #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - L'URL della pagina di destinazione dell'applicazione. Anche in questo caso, se si possiede un dominio proprio, inserire un URL di quel dominio (compreso ``https://``). Altrimenti, accettare l'URL predefinito (``https://example.com/helloworld``). Questo URL non deve esistere (per ora); sarà usato solo se si pubblica l'applicazione su un app store." +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - L'URL della pagina di destinazione dell'applicazione. Anche in questo caso, se si possiede un dominio proprio, inserire un URL di quel dominio (compreso `https://`). Altrimenti, accettare l'URL predefinito (`https://example.com/helloworld`). Questo URL non deve esistere (per ora); sarà usato solo se si pubblica l'applicazione su un app store." #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 #, fuzzy @@ -143,13 +143,13 @@ msgstr "**Quadro GUI** - Accettare l'opzione predefinita, Toga (il toolkit GUI d #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb #, fuzzy -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" -msgstr "Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete seguito questo tutorial fino a questo punto e avete accettato le impostazioni predefinite come descritto, il vostro file system dovrebbe avere un aspetto simile a::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete seguito questo tutorial fino a questo punto e avete accettato le impostazioni predefinite come descritto, il vostro file system dovrebbe avere un aspetto simile a:" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab #, fuzzy -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Questo scheletro è in realtà un'applicazione completamente funzionante, senza aggiungere altro. La cartella ``src`` contiene tutto il codice dell'applicazione, la cartella ``tests`` contiene una suite di test iniziale e il file ``pyproject.toml`` descrive come confezionare l'applicazione per la distribuzione. Se si apre ``pyproject.toml`` in un editor, si vedranno i dettagli di configurazione appena forniti a Briefcase." +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Questo scheletro è in realtà un'applicazione completamente funzionante, senza aggiungere altro. La cartella `src` contiene tutto il codice dell'applicazione, la cartella `tests` contiene una suite di test iniziale e il file `pyproject.toml` descrive come confezionare l'applicazione per la distribuzione. Se si apre `pyproject.toml` in un editor, si vedranno i dettagli di configurazione appena forniti a Briefcase." #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a #, fuzzy @@ -163,8 +163,8 @@ msgstr "Eseguire l'applicazione in modalità sviluppatore" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c #, fuzzy -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "Spostatevi nella cartella del progetto ``helloworld`` e dite a briefcase di avviare il progetto in modalità sviluppatore (o ``dev``):" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Spostatevi nella cartella del progetto `helloworld` e dite a briefcase di avviare il progetto in modalità sviluppatore (o `dev`):" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 #, fuzzy @@ -195,7 +195,7 @@ msgid "If you encounter the error:" msgstr "" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." msgstr "" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f @@ -204,7 +204,7 @@ msgstr "" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" msgstr "Premete il pulsante di chiusura (o selezionate Quit dal menu dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto un'applicazione nativa standalone in Python!" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b @@ -213,8 +213,8 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 #, fuzzy -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." -msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. Ora possiamo aggiungere un po' di logica per far fare alla nostra applicazione qualcosa di più interessante. In :doc:`Tutorial 2 `, realizzeremo un'interfaccia utente più utile per la nostra applicazione." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. Ora possiamo aggiungere un po' di logica per far fare alla nostra applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], realizzeremo un'interfaccia utente più utile per la nostra applicazione." #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Uno degli strumenti di BeeWare è **Briefcase**. Briefcase può essere utilizzato per confezionare l'applicazione da distribuire agli utenti finali, ma anche per avviare un nuovo progetto." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index de2caf22..b43058d1 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -26,8 +26,8 @@ msgstr "Esercitazione 2 - Rendere interessante" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c #, fuzzy -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "In :doc:`Tutorial 1 `, abbiamo generato un progetto stub in grado di funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che è stato generato per noi." +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che è stato generato per noi." #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 #, fuzzy @@ -36,61 +36,61 @@ msgstr "Cosa è stato generato" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e #, fuzzy -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." -msgstr "Nella cartella ``src/helloworld``, si dovrebbero vedere 3 file: ``__init__.py``, ``__main__.py`` e ``app.py``." +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "Nella cartella `src/helloworld`, si dovrebbero vedere 3 file: `__init__.py`, `__main__.py` e `app.py`." #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 #, fuzzy -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` segna la cartella ``helloworld`` come un modulo Python importabile. È un file vuoto; il solo fatto che esista indica all'interprete Python che la cartella ``helloworld`` definisce un modulo." +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` segna la cartella `helloworld` come un modulo Python importabile. È un file vuoto; il solo fatto che esista indica all'interprete Python che la cartella `helloworld` definisce un modulo." #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa #, fuzzy -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "``__main__.py`` segna il modulo ``helloworld`` come un tipo speciale di modulo, un modulo eseguibile. Se si cerca di eseguire il modulo ``helloworld`` usando ``python -m helloworld``, il file ``__main__.py`` è il punto in cui Python inizierà l'esecuzione. Il contenuto di ``__main__.py`` è relativamente semplice::" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` segna il modulo `helloworld` come un tipo speciale di modulo, un modulo eseguibile. Se si cerca di eseguire il modulo `helloworld` usando `python -m helloworld`, il file `__main__.py` è il punto in cui Python inizierà l'esecuzione. Il contenuto di `__main__.py` è relativamente semplice:" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." +msgid "It imports the `main` method from from the `helloworld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc #, fuzzy msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Cioè, importa il metodo ``main`` dall'applicazione ``helloworld`` e, se viene eseguito come punto di ingresso, chiama il metodo main() e avvia il ciclo principale dell'applicazione. Il ciclo principale è il modo in cui un'applicazione GUI ascolta gli input dell'utente (come i clic del mouse e la pressione della tastiera)." +msgstr "Cioè, importa il metodo `main` dall'applicazione `helloworld` e, se viene eseguito come punto di ingresso, chiama il metodo main() e avvia il ciclo principale dell'applicazione. Il ciclo principale è il modo in cui un'applicazione GUI ascolta gli input dell'utente (come i clic del mouse e la pressione della tastiera)." #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 #, fuzzy -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "Il file più interessante è ``app.py``: contiene la logica che crea la finestra della nostra applicazione::" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "Il file più interessante è `app.py`: contiene la logica che crea la finestra della nostra applicazione:" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 #, fuzzy -msgid "Let's go through this line by line::" -msgstr "Esaminiamo questa riga per riga::" +msgid "Let's go through this line by line:" +msgstr "Esaminiamo questa riga per riga:" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d #, fuzzy -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Per prima cosa, importiamo il toolkit di widget ``toga`` e alcune classi e costanti di utilità legate allo stile. Il nostro codice non le usa ancora, ma le useremo a breve." +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Per prima cosa, importiamo il toolkit di widget `toga` e alcune classi e costanti di utilità legate allo stile. Il nostro codice non le usa ancora, ma le useremo a breve." #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 #, fuzzy -msgid "Then, we define a class::" -msgstr "Quindi, definiamo una classe::" +msgid "Then, we define a class:" +msgstr "Quindi, definiamo una classe:" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a #, fuzzy -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Ogni applicazione Toga ha una singola istanza ``toga.App``, che rappresenta l'entità in esecuzione che è l'applicazione. L'applicazione può finire per gestire più finestre, ma per le applicazioni semplici ci sarà una sola finestra principale." +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Ogni applicazione Toga ha una singola istanza `toga.App`, che rappresenta l'entità in esecuzione che è l'applicazione. L'applicazione può finire per gestire più finestre, ma per le applicazioni semplici ci sarà una sola finestra principale." #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 #, fuzzy -msgid "Next, we define a ``startup()`` method::" -msgstr "Quindi, definiamo un metodo ``startup()``::" +msgid "Next, we define a `startup()` method:" +msgstr "Quindi, definiamo un metodo `startup()`:" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 #, fuzzy @@ -104,13 +104,13 @@ msgstr "In questa applicazione, definiamo una singola casella, ma non inseriamo #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 #, fuzzy -msgid "Next, we define a window into which we can put this empty box::" -msgstr "Quindi, definiamo una finestra in cui inserire questa casella vuota::" +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Quindi, definiamo una finestra in cui inserire questa casella vuota:" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 #, fuzzy -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Questo crea un'istanza di ``toga.MainWindow``, che avrà un titolo corrispondente al nome dell'applicazione. Una finestra principale è un tipo speciale di finestra in Toga: è una finestra strettamente legata al ciclo di vita dell'applicazione. Quando la finestra principale viene chiusa, l'applicazione esce. La finestra principale è anche la finestra che contiene il menu dell'applicazione (se si utilizza una piattaforma come Windows in cui le barre dei menu fanno parte della finestra)" +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Questo crea un'istanza di `toga.MainWindow`, che avrà un titolo corrispondente al nome dell'applicazione. Una finestra principale è un tipo speciale di finestra in Toga: è una finestra strettamente legata al ciclo di vita dell'applicazione. Quando la finestra principale viene chiusa, l'applicazione esce. La finestra principale è anche la finestra che contiene il menu dell'applicazione (se si utilizza una piattaforma come Windows in cui le barre dei menu fanno parte della finestra)" #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -122,18 +122,18 @@ msgstr "" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" -msgstr "Aggiungiamo quindi la nostra casella vuota come contenuto della finestra principale e istruiamo l'applicazione a mostrare la nostra finestra::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Aggiungiamo quindi la nostra casella vuota come contenuto della finestra principale e istruiamo l'applicazione a mostrare la nostra finestra:" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 #, fuzzy -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "Infine, definiamo un metodo ``main()``. Questo è ciò che crea l'istanza della nostra applicazione::" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Infine, definiamo un metodo `main()`. Questo è ciò che crea l'istanza della nostra applicazione:" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa #, fuzzy -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "Questo metodo ``main()`` è quello che viene importato e invocato da ``__main__.py``. Crea e restituisce un'istanza della nostra applicazione ``HelloWorld``." +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "Questo metodo `main()` è quello che viene importato e invocato da `__main__.py`. Crea e restituisce un'istanza della nostra applicazione `HelloWorld`." #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c #, fuzzy @@ -146,18 +146,18 @@ msgid "Adding some content of our own" msgstr "Aggiunta di contenuti propri" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." +msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "Non rimuovete le importazioni all'inizio del file o il ``main()`` in fondo. È necessario aggiornare solo la classe ``HelloWorld``." +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Non rimuovete le importazioni all'inizio del file o il `main()` in fondo. È necessario aggiornare solo la classe `HelloWorld`." #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 #, fuzzy -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "Modificate la classe ``HelloWorld`` all'interno di ``src/helloworld/app.py`` in modo che abbia questo aspetto::" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modificate la classe `HelloWorld` all'interno di `src/helloworld/app.py` in modo che abbia questo aspetto:" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 #, fuzzy @@ -166,22 +166,22 @@ msgstr "Vediamo nel dettaglio cosa è cambiato." #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 #, fuzzy -msgid "We're still creating a main box; however, we are now applying a style::" -msgstr "Stiamo ancora creando un riquadro principale, ma ora stiamo applicando uno stile::" +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Stiamo ancora creando un riquadro principale, ma ora stiamo applicando uno stile:" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Il sistema di layout integrato di Toga si chiama \"Pack\". Si comporta in modo molto simile ai CSS. Si definiscono gli oggetti in una gerarchia: in HTML, gli oggetti sono ``
``, ```` e altri elementi DOM; in Toga, sono widget e box. Si possono poi assegnare stili ai singoli elementi. In questo caso, stiamo indicando che si tratta di un riquadro ``COLUMN``, cioè un riquadro che consumerà tutta la larghezza disponibile e si espanderà in altezza man mano che si aggiungono contenuti, ma cercherà di essere il più corto possibile." +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Il sistema di layout integrato di Toga si chiama \"Pack\". Si comporta in modo molto simile ai CSS. Si definiscono gli oggetti in una gerarchia: in HTML, gli oggetti sono `
`, `` e altri elementi DOM; in Toga, sono widget e box. Si possono poi assegnare stili ai singoli elementi. In questo caso, stiamo indicando che si tratta di un riquadro `COLUMN`, cioè un riquadro che consumerà tutta la larghezza disponibile e si espanderà in altezza man mano che si aggiungono contenuti, ma cercherà di essere il più corto possibile." #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" msgstr "" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 #, fuzzy -msgid "Next, we define a couple of widgets::" -msgstr "Successivamente, definiamo un paio di widget::" +msgid "Next, we define a couple of widgets:" +msgstr "Successivamente, definiamo un paio di widget:" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 #, fuzzy @@ -195,18 +195,18 @@ msgstr "Il TextInput è assegnato come variabile di istanza della classe. Questo #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c #, fuzzy -msgid "Next, we define a box to hold these two widgets::" -msgstr "Quindi, definiamo un riquadro per contenere questi due widget::" +msgid "Next, we define a box to hold these two widgets:" +msgstr "Quindi, definiamo un riquadro per contenere questi due widget:" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 #, fuzzy -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "Il ``nome_box`` è un box come quello principale, ma questa volta è un box ``ROW``. Ciò significa che il contenuto sarà aggiunto orizzontalmente e cercherà di avere una larghezza il più possibile ridotta. Il riquadro ha anche un padding di 5px su tutti i lati." +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "Il `nome_box` è un box come quello principale, ma questa volta è un box `ROW`. Ciò significa che il contenuto sarà aggiunto orizzontalmente e cercherà di avere una larghezza il più possibile ridotta. Il riquadro ha anche un padding di 5px su tutti i lati." #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 #, fuzzy -msgid "Now we define a button::" -msgstr "Ora definiamo un pulsante::" +msgid "Now we define a button:" +msgstr "Ora definiamo un pulsante:" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 #, fuzzy @@ -215,18 +215,18 @@ msgstr "Il pulsante ha anche 5px di padding su tutti i lati. Definiamo anche un #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 #, fuzzy -msgid "Then, we add the name box and the button to the main box::" -msgstr "Quindi, aggiungiamo la casella del nome e il pulsante alla casella principale::" +msgid "Then, we add the name box and the button to the main box:" +msgstr "Quindi, aggiungiamo la casella del nome e il pulsante alla casella principale:" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" -msgstr "Questo completa il nostro layout; il resto del metodo di avvio è come in precedenza: definire una MainWindow e assegnare il riquadro principale come contenuto della finestra::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Questo completa il nostro layout; il resto del metodo di avvio è come in precedenza: definire una MainWindow e assegnare il riquadro principale come contenuto della finestra:" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" -msgstr "L'ultima cosa da fare è definire il gestore del pulsante. Un gestore può essere qualsiasi metodo, generatore o co-routine asincrona; accetta come argomento il widget che ha generato l'evento e sarà invocato ogni volta che il pulsante viene premuto::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "L'ultima cosa da fare è definire il gestore del pulsante. Un gestore può essere qualsiasi metodo, generatore o co-routine asincrona; accetta come argomento il widget che ha generato l'evento e sarà invocato ogni volta che il pulsante viene premuto:" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba #, fuzzy @@ -255,8 +255,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." -msgstr "Si noterà che questa volta *non* installa le dipendenze. Briefcase è in grado di rilevare che l'applicazione è già stata eseguita in precedenza e, per risparmiare tempo, eseguirà solo l'applicazione. Se si aggiungono nuove dipendenze alla propria applicazione, ci si può assicurare che vengano installate passando l'opzione ``-r`` quando si esegue ``briefcase dev```." +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Si noterà che questa volta *non* installa le dipendenze. Briefcase è in grado di rilevare che l'applicazione è già stata eseguita in precedenza e, per risparmiare tempo, eseguirà solo l'applicazione. Se si aggiungono nuove dipendenze alla propria applicazione, ci si può assicurare che vengano installate passando l'opzione `-r` quando si esegue `briefcase dev``." #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de #, fuzzy @@ -284,7 +284,7 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "Se si inserisce un nome nella casella di testo e si preme il pulsante GUI, si dovrebbe vedere l'output nella console in cui è stata avviata l'applicazione." #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc @@ -293,9 +293,9 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona solo sul nostro computer. Impacchettiamo questa applicazione per la distribuzione. In :doc:`Tutorial 3 `, impacchetteremo la nostra applicazione come un programma di installazione autonomo da inviare a un amico, a un cliente o da caricare su un App Store." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona solo sul nostro computer. Impacchettiamo questa applicazione per la distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra applicazione come un programma di installazione autonomo da inviare a un amico, a un cliente o da caricare su un App Store." -#~ msgid "Lets do something more interesting with our ``HelloWorld`` app." +#~ msgid "Lets do something more interesting with our `HelloWorld` app." #~ msgstr "" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po index e06de15c..97628c50 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -46,8 +46,8 @@ msgstr "Creare lo scaffold dell'applicazione" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "Poiché è la prima volta che impacchettiamo la nostra applicazione, dobbiamo creare alcuni file di configurazione e altre impalcature per supportare il processo di impacchettamento. Dalla cartella ``helloworld``, eseguire:" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Poiché è la prima volta che impacchettiamo la nostra applicazione, dobbiamo creare alcuni file di configurazione e altre impalcature per supportare il processo di impacchettamento. Dalla cartella `helloworld`, eseguire:" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -76,7 +76,7 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." msgstr "" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 @@ -122,8 +122,8 @@ msgstr "" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "Si tratta di **requisiti dell'applicazione installata**. L'applicazione può specificare qualsiasi modulo di terze parti richiesto in fase di esecuzione. Questi saranno installati usando ``pip`` nel programma di installazione dell'applicazione." +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Si tratta di **requisiti dell'applicazione installata**. L'applicazione può specificare qualsiasi modulo di terze parti richiesto in fase di esecuzione. Questi saranno installati usando `pip` nel programma di installazione dell'applicazione." #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f #, fuzzy @@ -137,8 +137,8 @@ msgstr "Infine, aggiunge qualsiasi risorsa aggiuntiva necessaria al programma di #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Una volta completata questa operazione, se si guarda nella cartella del progetto, si dovrebbe vedere una cartella corrispondente alla propria piattaforma (``macOS``, ``linux`` o ``windows``) che contiene file aggiuntivi. Questa è la configurazione di pacchettizzazione specifica della piattaforma per l'applicazione." +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Una volta completata questa operazione, se si guarda nella cartella del progetto, si dovrebbe vedere una cartella corrispondente alla propria piattaforma (`macOS`, `linux` o `windows`) che contiene file aggiuntivi. Questa è la configurazione di pacchettizzazione specifica della piattaforma per l'applicazione." #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece #, fuzzy @@ -152,18 +152,18 @@ msgstr "È ora possibile compilare l'applicazione. Questo passaggio esegue la co #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d #, fuzzy -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Su macOS, il comando ``build`` non ha bisogno di *compilare* nulla, ma deve firmare il contenuto del binario in modo che possa essere eseguito. Questa firma è una firma *ad hoc*: funzionerà solo sulla *vostra* macchina; se volete distribuire l'applicazione ad altri, dovrete fornire una firma completa." +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "Su macOS, il comando `build` non ha bisogno di *compilare* nulla, ma deve firmare il contenuto del binario in modo che possa essere eseguito. Questa firma è una firma *ad hoc*: funzionerà solo sulla *vostra* macchina; se volete distribuire l'applicazione ad altri, dovrete fornire una firma completa." #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 #, fuzzy -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "Una volta completato questo passaggio, la cartella ``build`` conterrà una cartella ``helloworld-0.0.1`` che contiene un mirror di un file system Linux ``/usr``. Questo file system mirror conterrà una cartella ``bin`` con un binario di ``helloworld``, oltre alle cartelle ``lib`` e ``share`` necessarie per supportare il binario." +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Una volta completato questo passaggio, la cartella `build` conterrà una cartella `helloworld-0.0.1` che contiene un mirror di un file system Linux `/usr`. Questo file system mirror conterrà una cartella `bin` con un binario di `helloworld`, oltre alle cartelle `lib` e `share` necessarie per supportare il binario." #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 #, fuzzy -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Su Windows, il comando ``build`` non ha bisogno di *compilare* nulla, ma deve scrivere alcuni metadati in modo che l'applicazione conosca il suo nome, la sua versione e così via." +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "Su Windows, il comando `build` non ha bisogno di *compilare* nulla, ma deve scrivere alcuni metadati in modo che l'applicazione conosca il suo nome, la sua versione e così via." #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa #, fuzzy @@ -172,8 +172,8 @@ msgstr "Attivazione dell'antivirus" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "Poiché questi metadati vengono scritti direttamente nel binario precompilato che viene lanciato dal modello durante il comando ``create``, è possibile che il software antivirus in esecuzione sul computer impedisca la scrittura dei metadati. In questo caso, istruire l'antivirus per consentire l'esecuzione dello strumento (chiamato ``rcedit-x64.exe``) e rieseguire il comando precedente." +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Poiché questi metadati vengono scritti direttamente nel binario precompilato che viene lanciato dal modello durante il comando `create`, è possibile che il software antivirus in esecuzione sul computer impedisca la scrittura dei metadati. In questo caso, istruire l'antivirus per consentire l'esecuzione dello strumento (chiamato `rcedit-x64.exe`) e rieseguire il comando precedente." #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 #, fuzzy @@ -187,8 +187,8 @@ msgstr "Ora è possibile utilizzare Briefcase per eseguire l'applicazione:" #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "In questo modo si avvia l'esecuzione dell'applicazione nativa, utilizzando l'output del comando ``build``." +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "In questo modo si avvia l'esecuzione dell'applicazione nativa, utilizzando l'output del comando `build`." #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 #, fuzzy @@ -196,7 +196,7 @@ msgid "You might notice some small differences in the way your application looks msgstr "È possibile notare alcune piccole differenze nell'aspetto dell'applicazione quando è in esecuzione. Ad esempio, le icone e il nome visualizzati dal sistema operativo potrebbero essere leggermente diversi da quelli visualizzati durante l'esecuzione in modalità sviluppatore. Ciò è dovuto anche al fatto che si sta utilizzando l'applicazione pacchettizzata e non solo il codice Python in esecuzione. Dal punto di vista del sistema operativo, ora si sta eseguendo \"un'applicazione\", non \"un programma Python\", e questo si riflette sull'aspetto dell'applicazione." #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -206,23 +206,23 @@ msgstr "Creazione del programma di installazione" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc #, fuzzy -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "È ora possibile pacchettizzare l'applicazione per la distribuzione, utilizzando il comando ``package``. Il comando package esegue qualsiasi compilazione necessaria per convertire il progetto scaffolded in un prodotto finale distribuibile. A seconda della piattaforma, ciò può comportare la compilazione di un programma di installazione, l'esecuzione della firma del codice o altre operazioni preliminari alla distribuzione." +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "È ora possibile pacchettizzare l'applicazione per la distribuzione, utilizzando il comando `package`. Il comando package esegue qualsiasi compilazione necessaria per convertire il progetto scaffolded in un prodotto finale distribuibile. A seconda della piattaforma, ciò può comportare la compilazione di un programma di installazione, l'esecuzione della firma del codice o altre operazioni preliminari alla distribuzione." #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 #, fuzzy -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "La cartella ``dist`` conterrà un file chiamato ``Hello World-0.0.1.dmg``. Se individuate questo file nel Finder e fate doppio clic sulla sua icona, monterete il DMG, ottenendo una copia dell'applicazione Hello World e un collegamento alla cartella Applicazioni per facilitare l'installazione. Trascinate il file dell'app in Applicazioni e avrete installato la vostra applicazione. Inviate il file DMG a un amico, che dovrebbe essere in grado di fare lo stesso." +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "La cartella `dist` conterrà un file chiamato `Hello World-0.0.1.dmg`. Se individuate questo file nel Finder e fate doppio clic sulla sua icona, monterete il DMG, ottenendo una copia dell'applicazione Hello World e un collegamento alla cartella Applicazioni per facilitare l'installazione. Trascinate il file dell'app in Applicazioni e avrete installato la vostra applicazione. Inviate il file DMG a un amico, che dovrebbe essere in grado di fare lo stesso." #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 #, fuzzy -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "In questo esempio, abbiamo usato l'opzione ``--adhoc-sign``, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su `Impostazione di un'identità di firma del codice macOS `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 #, fuzzy @@ -231,8 +231,8 @@ msgstr "L'output del passaggio del pacchetto sarà leggermente diverso a seconda #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c #, fuzzy -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "La cartella ``dist`` conterrà il file ``.deb`` generato." +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "La cartella `dist` conterrà il file `.deb` generato." #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee #, fuzzy @@ -241,8 +241,8 @@ msgstr "Se si utilizza una distribuzione basata su RHEL, si vedrà:" #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 #, fuzzy -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "La cartella ``dist`` conterrà il file ``.rpm`` generato." +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "La cartella `dist` conterrà il file `.rpm` generato." #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 #, fuzzy @@ -251,8 +251,8 @@ msgstr "Se si utilizza una distribuzione basata su Arch, si vedrà:" #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 #, fuzzy -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "La cartella ``dist`` conterrà il file ``.pkg.tar.zst`` che è stato generato." +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "La cartella `dist` conterrà il file `.pkg.tar.zst` che è stato generato." #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae #, fuzzy @@ -266,8 +266,8 @@ msgstr "Se volete creare un pacchetto per una distribuzione Linux diversa da que #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 #, fuzzy -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Gli installatori ufficiali di `Docker Engine `__ sono disponibili per diverse distribuzioni Unix. Seguite le istruzioni per la vostra piattaforma; tuttavia, assicuratevi di non installare Docker in modalità \"rootless\"." +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Gli installatori ufficiali di [Docker Engine]{1} sono disponibili per diverse distribuzioni Unix. Seguite le istruzioni per la vostra piattaforma; tuttavia, assicuratevi di non installare Docker in modalità \"rootless\"." #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe #, fuzzy @@ -276,8 +276,8 @@ msgstr "Una volta installato Docker, dovreste essere in grado di avviare un cont #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 #, fuzzy -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "mostrerà un prompt Unix (qualcosa come ``root@84444e31cff9:/#``) all'interno di un contenitore Docker Ubuntu 22.04. Digitare Ctrl-D per uscire da Docker e tornare alla shell locale." +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "mostrerà un prompt Unix (qualcosa come `root@84444e31cff9:/#`) all'interno di un contenitore Docker Ubuntu 22.04. Digitare Ctrl-D per uscire da Docker e tornare alla shell locale." #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 #, fuzzy @@ -286,23 +286,23 @@ msgstr "Una volta installato Docker, si può usare Briefcase per creare un pacch #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "Questo scaricherà l'immagine Docker per il sistema operativo selezionato, creerà un contenitore in grado di eseguire le build di Briefcase e costruirà il pacchetto dell'applicazione all'interno dell'immagine. Una volta completato, la cartella ``dist`` conterrà il pacchetto per la distribuzione Linux di destinazione." +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Questo scaricherà l'immagine Docker per il sistema operativo selezionato, creerà un contenitore in grado di eseguire le build di Briefcase e costruirà il pacchetto dell'applicazione all'interno dell'immagine. Una volta completato, la cartella `dist` conterrà il pacchetto per la distribuzione Linux di destinazione." #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 #, fuzzy msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "In questo esempio, abbiamo usato l'opzione ``--adhoc-sign``, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." +msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su `Impostazione di un'identità di firma del codice macOS `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c #, fuzzy -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Una volta completato questo passaggio, la cartella ``dist`` conterrà un file chiamato ``Hello_World-0.0.1.msi``. Se si fa doppio clic su questo programma di installazione per eseguirlo, si dovrebbe seguire il consueto processo di installazione di Windows. Una volta completata l'installazione, nel menu di avvio sarà presente una voce \"Hello World\"." +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Una volta completato questo passaggio, la cartella `dist` conterrà un file chiamato `Hello_World-0.0.1.msi`. Se si fa doppio clic su questo programma di installazione per eseguirlo, si dovrebbe seguire il consueto processo di installazione di Windows. Una volta completata l'installazione, nel menu di avvio sarà presente una voce \"Hello World\"." #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" @@ -310,9 +310,9 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita su piattaforme desktop. Ma cosa succede quando dobbiamo aggiornare il codice della nostra applicazione? Come facciamo a inserire gli aggiornamenti nella nostra applicazione pacchettizzata? Consultate :doc:`Tutorial 4 <./tutorial-4>` per scoprirlo..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita su piattaforme desktop. Ma cosa succede quando dobbiamo aggiornare il codice della nostra applicazione? Come facciamo a inserire gli aggiornamenti nella nostra applicazione pacchettizzata? Consultate [Tutorial 4][./tutorial-4] per scoprirlo..." -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." #~ msgstr "" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index 703ea728..eae2c85c 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -46,11 +46,11 @@ msgstr "La nostra applicazione attualmente stampa sulla console quando si preme #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "Aggiungiamo una finestra di dialogo per dire ciao, invece di scrivere nella console. Modificare il callback ``say_hello`` in modo che assomigli a questo::" +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Aggiungiamo una finestra di dialogo per dire ciao, invece di scrivere nella console. Modificare il callback `say_hello` in modo che assomigli a questo:" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -60,8 +60,8 @@ msgstr "Questo indica a Toga di aprire una finestra di dialogo modale quando vie #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 #, fuzzy -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Se si esegue ``briefcase dev``, si inserisce un nome e si preme il pulsante , si vedrà la nuova finestra di dialogo:" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Se si esegue `briefcase dev`, si inserisce un nome e si preme il pulsante , si vedrà la nuova finestra di dialogo:" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -98,13 +98,13 @@ msgstr "Esercitazione Hello World 4, su Windows" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 #, fuzzy -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "Tuttavia, se si esegue ``briefcase run``, la finestra di dialogo non appare." +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a #, fuzzy -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Perché? Beh, ``briefcase dev`` opera eseguendo il vostro codice sul posto - cerca di produrre un ambiente di runtime il più realistico possibile per il vostro codice, ma non fornisce o utilizza alcuna infrastruttura della piattaforma per avvolgere il vostro codice come un'applicazione. Parte del processo di impacchettamento dell'applicazione comporta la copia del codice *nel* bundle dell'applicazione e, al momento, l'applicazione contiene ancora il vecchio codice." +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Perché? Beh, `briefcase dev` opera eseguendo il vostro codice sul posto - cerca di produrre un ambiente di runtime il più realistico possibile per il vostro codice, ma non fornisce o utilizza alcuna infrastruttura della piattaforma per avvolgere il vostro codice come un'applicazione. Parte del processo di impacchettamento dell'applicazione comporta la copia del codice *nel* bundle dell'applicazione e, al momento, l'applicazione contiene ancora il vecchio codice." #: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 #, fuzzy @@ -113,18 +113,18 @@ msgstr "Quindi, dobbiamo dire a briefcase di aggiornare l'applicazione, copiando #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "Se Briefcase non riesce a trovare il modello impalcabile, invocherà automaticamente ``create`` per generare un nuovo scaffold." +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Se Briefcase non riesce a trovare il modello impalcabile, invocherà automaticamente `create` per generare un nuovo scaffold." #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 #, fuzzy -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." -msgstr "Ora che abbiamo aggiornato il codice dell'installatore, possiamo eseguire ``briefcase build`` per ricompilare l'applicazione, ``briefcase run`` per eseguire l'applicazione aggiornata e ``briefcase package`` per riconfezionare l'applicazione per la distribuzione." +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Ora che abbiamo aggiornato il codice dell'installatore, possiamo eseguire `briefcase build` per ricompilare l'applicazione, `briefcase run` per eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare l'applicazione per la distribuzione." #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 #, fuzzy -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Per gli utenti di macOS, ricordate che, come indicato in :doc:`Tutorial 3 `, per il tutorial si consiglia di eseguire il pacchetto ``briefcase`` con il flag ``--adhoc-sign`` per evitare la complessità di impostare un'identità di firma del codice e mantenere il tutorial il più semplice possibile)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3][tutorial-3], per il tutorial si consiglia di eseguire il pacchetto `briefcase` con il flag `--adhoc-sign` per evitare la complessità di impostare un'identità di firma del codice e mantenere il tutorial il più semplice possibile)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 #, fuzzy @@ -133,33 +133,33 @@ msgstr "Aggiornamento ed esecuzione in un unico passaggio" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." -msgstr "Se state iterando rapidamente le modifiche al codice, è probabile che vogliate apportare una modifica al codice, aggiornare l'applicazione e rieseguirla immediatamente. Per la maggior parte degli scopi, la modalità sviluppatore (``briefcase dev```) è il modo più semplice per eseguire questo tipo di iterazione rapida; tuttavia, se si sta testando qualcosa sul modo in cui l'applicazione viene eseguita come binario nativo, o si sta cercando un bug che si manifesta solo quando l'applicazione è in forma pacchettizzata, potrebbe essere necessario utilizzare ripetute chiamate a ``briefcase run``. Per semplificare il processo di aggiornamento ed esecuzione dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare questo modello di utilizzo: l'opzione ``-u`` (o ``--update``) del comando ``run``." +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Se state iterando rapidamente le modifiche al codice, è probabile che vogliate apportare una modifica al codice, aggiornare l'applicazione e rieseguirla immediatamente. Per la maggior parte degli scopi, la modalità sviluppatore (`briefcase dev``) è il modo più semplice per eseguire questo tipo di iterazione rapida; tuttavia, se si sta testando qualcosa sul modo in cui l'applicazione viene eseguita come binario nativo, o si sta cercando un bug che si manifesta solo quando l'applicazione è in forma pacchettizzata, potrebbe essere necessario utilizzare ripetute chiamate a `briefcase run`. Per semplificare il processo di aggiornamento ed esecuzione dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." -msgstr "Proviamo a fare un'altra modifica. Si sarà notato che se non si digita un nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". Modifichiamo di nuovo la funzione ``say_hello`` per gestire questo caso limite." +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Proviamo a fare un'altra modifica. Si sarà notato che se non si digita un nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db #, fuzzy -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "All'inizio del file, tra le importazioni e la definizione della ``classe HelloWorld``, aggiungiamo un metodo di utilità per generare un saluto appropriato a seconda del valore del nome fornito::" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "All'inizio del file, tra le importazioni e la definizione della `classe HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto appropriato a seconda del valore del nome fornito:" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e #, fuzzy -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "Quindi, modificare il callback ``say_hello`` per utilizzare questo nuovo metodo di utilità::" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Quindi, modificare il callback `say_hello` per utilizzare questo nuovo metodo di utilità:" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 #, fuzzy -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Eseguire l'applicazione in modalità di sviluppo (con ``briefcase dev``) per verificare che la nuova logica funzioni; quindi aggiornare, compilare ed eseguire l'applicazione con un solo comando:" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Eseguire l'applicazione in modalità di sviluppo (con `briefcase dev`) per verificare che la nuova logica funzioni; quindi aggiornare, compilare ed eseguire l'applicazione con un solo comando:" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 #, fuzzy -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." -msgstr "Il comando package accetta anche l'argomento ``-u``, per cui se si apporta una modifica al codice dell'applicazione e si desidera eseguire immediatamente il repackaging, si può eseguire ``briefcase package -u``." +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "Il comando package accetta anche l'argomento `-u`, per cui se si apporta una modifica al codice dell'applicazione e si desidera eseguire immediatamente il repackaging, si può eseguire `briefcase package -u`." #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -172,6 +172,6 @@ msgstr "Ora abbiamo la nostra applicazione confezionata per la distribuzione su #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 #, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Ma che dire della telefonia mobile? In :doc:`Tutorial 5 `, convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Ma che dire della telefonia mobile? In [Tutorial 5][tutorial-5/index], convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po index bca1044a..5f4d50a8 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -41,8 +41,8 @@ msgstr "Creare un'applicazione Android e compilarla" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 #, fuzzy -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "Per prima cosa, eseguire il comando ``create``. Questo scarica un modello di applicazione Android e vi aggiunge il codice Python." +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Per prima cosa, eseguire il comando `create`. Questo scarica un modello di applicazione Android e vi aggiunge il codice Python." #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -73,18 +73,18 @@ msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f #, fuzzy -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Quando si esegue ``briefcase create android`` per la prima volta, Briefcase scarica un JDK Java e l'SDK Android. Le dimensioni dei file e i tempi di download possono essere considerevoli; il download può richiedere un po' di tempo (10 minuti o più, a seconda della velocità della connessione a Internet). Al termine del download, verrà richiesto di accettare la licenza Android SDK di Google." +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Quando si esegue `briefcase create android` per la prima volta, Briefcase scarica un JDK Java e l'SDK Android. Le dimensioni dei file e i tempi di download possono essere considerevoli; il download può richiedere un po' di tempo (10 minuti o più, a seconda della velocità della connessione a Internet). Al termine del download, verrà richiesto di accettare la licenza Android SDK di Google." #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 #, fuzzy -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Una volta completata questa operazione, nel nostro progetto avremo una cartella ``buildhelloworld\\android\\gradle``, che conterrà un progetto Android con una configurazione di compilazione Gradle. Questo progetto conterrà il codice dell'applicazione e un pacchetto di supporto contenente l'interprete Python." +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Una volta completata questa operazione, nel nostro progetto avremo una cartella `buildhelloworld\\android\\gradle`, che conterrà un progetto Android con una configurazione di compilazione Gradle. Questo progetto conterrà il codice dell'applicazione e un pacchetto di supporto contenente l'interprete Python." #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 #, fuzzy -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "Possiamo quindi usare il comando ``build`` di Briefcase per compilare questo file in un'applicazione Android APK." +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Possiamo quindi usare il comando `build` di Briefcase per compilare questo file in un'applicazione Android APK." #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 #, fuzzy @@ -93,8 +93,8 @@ msgstr "Gradle può sembrare bloccato" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 #, fuzzy -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante il passaggio ``briefcase build android``, Gradle (lo strumento di creazione della piattaforma Android) stampa ``CONFIGURING: 100%`` e sembra non fare nulla. Non preoccupatevi, non è bloccato: sta scaricando altri componenti dell'SDK Android. A seconda della velocità della connessione a Internet, potrebbero essere necessari altri 10 minuti (o più). Questo ritardo dovrebbe verificarsi solo la prima volta che si esegue ``build``; gli strumenti vengono memorizzati nella cache e nella compilazione successiva verranno utilizzate le versioni memorizzate nella cache." +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Durante il passaggio `briefcase build android`, Gradle (lo strumento di creazione della piattaforma Android) stampa `CONFIGURING: 100%` e sembra non fare nulla. Non preoccupatevi, non è bloccato: sta scaricando altri componenti dell'SDK Android. A seconda della velocità della connessione a Internet, potrebbero essere necessari altri 10 minuti (o più). Questo ritardo dovrebbe verificarsi solo la prima volta che si esegue `build`; gli strumenti vengono memorizzati nella cache e nella compilazione successiva verranno utilizzate le versioni memorizzate nella cache." #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 #, fuzzy @@ -103,23 +103,23 @@ msgstr "Eseguire l'applicazione su un dispositivo virtuale" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 #, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Ora siamo pronti a eseguire la nostra applicazione. È possibile utilizzare il comando ``run`` di Briefcase per eseguire l'applicazione su un dispositivo Android. Cominciamo con l'esecuzione su un emulatore Android." +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Ora siamo pronti a eseguire la nostra applicazione. È possibile utilizzare il comando `run` di Briefcase per eseguire l'applicazione su un dispositivo Android. Cominciamo con l'esecuzione su un emulatore Android." #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d #, fuzzy -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Per eseguire la vostra applicazione, eseguite ``briefcase run android``. In questo modo, verrà richiesto un elenco di dispositivi su cui è possibile eseguire l'applicazione. L'ultima voce sarà sempre un'opzione per creare un nuovo emulatore Android." +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Per eseguire la vostra applicazione, eseguite `briefcase run android`. In questo modo, verrà richiesto un elenco di dispositivi su cui è possibile eseguire l'applicazione. L'ultima voce sarà sempre un'opzione per creare un nuovo emulatore Android." #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 #, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." -msgstr "Ora possiamo scegliere il dispositivo desiderato. Selezionate l'opzione \"Crea un nuovo emulatore Android\" e accettate la scelta predefinita per il nome del dispositivo (``beePhone``)." +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Ora possiamo scegliere il dispositivo desiderato. Selezionate l'opzione \"Crea un nuovo emulatore Android\" e accettate la scelta predefinita per il nome del dispositivo (`beePhone`)." #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc #, fuzzy -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase ``run`` avvierà automaticamente il dispositivo virtuale. Quando il dispositivo si avvia, si vedrà il logo di Android:" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` avvierà automaticamente il dispositivo virtuale. Quando il dispositivo si avvia, si vedrà il logo di Android:" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -159,8 +159,8 @@ msgstr "L'emulatore non si è avviato!" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." -msgstr "L'emulatore Android è un software complesso che si basa su una serie di caratteristiche dell'hardware e del sistema operativo, caratteristiche che potrebbero non essere disponibili o abilitate su macchine più vecchie. In caso di difficoltà nell'avvio dell'emulatore Android, consultare la sezione `Requisiti e raccomandazioni `__ della documentazione per sviluppatori Android." +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "L'emulatore Android è un software complesso che si basa su una serie di caratteristiche dell'hardware e del sistema operativo, caratteristiche che potrebbero non essere disponibili o abilitate su macchine più vecchie. In caso di difficoltà nell'avvio dell'emulatore Android, consultare la sezione [Requisiti e raccomandazioni]{1} della documentazione per sviluppatori Android." #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a #, fuzzy @@ -179,8 +179,8 @@ msgstr "Applicazione demo completamente lanciata" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "Se non si riesce a vedere l'avvio dell'applicazione, potrebbe essere necessario controllare il terminale in cui è stato eseguito ``briefcase run`` e cercare eventuali messaggi di errore." +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Se non si riesce a vedere l'avvio dell'applicazione, potrebbe essere necessario controllare il terminale in cui è stato eseguito `briefcase run` e cercare eventuali messaggi di errore." #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." @@ -188,8 +188,8 @@ msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il nome dell'emulatore a Briefcase, usando ``briefcase run android -d @beePhone`` per eseguire direttamente sul dispositivo virtuale." +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 #, fuzzy @@ -218,18 +218,18 @@ msgstr "Abilitare il debug USB" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 #, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "I dettagli su come apportare queste modifiche sono disponibili nella documentazione per sviluppatori Android `__." +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "I dettagli su come apportare queste modifiche sono disponibili [nella documentazione per sviluppatori Android]{1}." #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "Una volta completati questi passaggi, il dispositivo dovrebbe apparire nell'elenco dei dispositivi disponibili quando si esegue ``briefcase run android``." +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Una volta completati questi passaggi, il dispositivo dovrebbe apparire nell'elenco dei dispositivi disponibili quando si esegue `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "Qui possiamo vedere un nuovo dispositivo fisico con il suo numero di serie nell'elenco di distribuzione - in questo caso, un Pixel 3a. In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il numero di serie del telefono a Briefcase (in questo caso, ``briefcase run android -d 94ZZY0LNE8``). In questo modo si eseguirà direttamente sul dispositivo, senza richiedere nulla." +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Qui possiamo vedere un nuovo dispositivo fisico con il suo numero di serie nell'elenco di distribuzione - in questo caso, un Pixel 3a. In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il numero di serie del telefono a Briefcase (in questo caso, `briefcase run android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul dispositivo, senza richiedere nulla." #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd #, fuzzy @@ -243,8 +243,8 @@ msgstr "Se il dispositivo non compare in questo elenco, significa che non è sta #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "Se il dispositivo appare, ma è elencato come \"Dispositivo sconosciuto (non autorizzato per lo sviluppo)\", la modalità sviluppatore non è stata abilitata correttamente. Eseguire nuovamente \"i passaggi per abilitare le opzioni per gli sviluppatori `__ e rieseguire ``briefcase run android``." +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Se il dispositivo appare, ma è elencato come \"Dispositivo sconosciuto (non autorizzato per lo sviluppo)\", la modalità sviluppatore non è stata abilitata correttamente. Eseguire nuovamente [i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" @@ -252,6 +252,6 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate :doc:`Tutorial 6 <../tutorial-6>` per scoprirlo..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po index b8c915e0..7ef4949d 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -25,7 +25,7 @@ msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "Esercitazione 5 - Il mobile: iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae @@ -35,23 +35,23 @@ msgstr "Una volta installato Xcode, possiamo prendere la nostra applicazione e d #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 #, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "Il processo di distribuzione di un'applicazione su iOS è molto simile a quello per la distribuzione come applicazione desktop. Per prima cosa, si esegue il comando ``create``, ma questa volta si specifica che si vuole creare un'applicazione iOS:" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "Il processo di distribuzione di un'applicazione su iOS è molto simile a quello per la distribuzione come applicazione desktop. Per prima cosa, si esegue il comando `create`, ma questa volta si specifica che si vuole creare un'applicazione iOS:" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 #, fuzzy -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Una volta completata questa operazione, avremo una cartella ``build/helloworld/ios/xcode`` contenente un progetto Xcode, oltre alle librerie di supporto e al codice dell'applicazione necessario per l'applicazione." +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Una volta completata questa operazione, avremo una cartella `build/helloworld/ios/xcode` contenente un progetto Xcode, oltre alle librerie di supporto e al codice dell'applicazione necessario per l'applicazione." #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d #, fuzzy -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "Si può quindi usare Briefcase per compilare l'applicazione usando ``briefcase build iOS``:" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Si può quindi usare Briefcase per compilare l'applicazione usando `briefcase build iOS`:" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed #, fuzzy -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Ora siamo pronti a eseguire la nostra applicazione, usando ``briefcase run iOS``. Verrà richiesto di selezionare un dispositivo per il quale compilare; se sono stati installati simulatori per più versioni dell'SDK di iOS, potrebbe anche essere richiesto quale versione di iOS si desidera utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle mostrate in questo output; come minimo, l'elenco dei dispositivi sarà diverso. Per i nostri scopi, non importa quale simulatore si sceglie." +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Ora siamo pronti a eseguire la nostra applicazione, usando `briefcase run iOS`. Verrà richiesto di selezionare un dispositivo per il quale compilare; se sono stati installati simulatori per più versioni dell'SDK di iOS, potrebbe anche essere richiesto quale versione di iOS si desidera utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle mostrate in questo output; come minimo, l'elenco dei dispositivi sarà diverso. Per i nostri scopi, non importa quale simulatore si sceglie." #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 #, fuzzy @@ -69,8 +69,8 @@ msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a Briefcase di usare quel simulatore fornendo un'opzione ``-d`` (o ``--device``). Utilizzando il nome del dispositivo selezionato al momento della creazione dell'applicazione, eseguite:" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a Briefcase di usare quel simulatore fornendo un'opzione `-d` (o `--device`). Utilizzando il nome del dispositivo selezionato al momento della creazione dell'applicazione, eseguite:" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 #, fuzzy @@ -88,12 +88,12 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate :doc:`Tutorial 6 <../tutorial-6>` per scoprirlo..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." -#~ msgstr "Per compilare le applicazioni iOS è necessario Xcode, disponibile gratuitamente sull'App Store di macOS `__." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Per compilare le applicazioni iOS è necessario Xcode, disponibile gratuitamente sull [App Store di macOS]{1}." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po index ba2fdf59..48d96b2e 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -47,9 +47,9 @@ msgstr "Android" msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Le applicazioni Android possono essere compilate su macOS, Windows o Linux." -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`Costruiamo la nostra applicazione per iOS! `" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Costruiamo la nostra applicazione per iOS!][iOS]" -#~ msgid ":doc:`Let's build our app for Android! `" -#~ msgstr ":doc:`Costruiamo la nostra applicazione per Android! `" +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Costruiamo la nostra applicazione per Android!][android]" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po index 7a0a5d3c..aa8fee9e 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po @@ -69,8 +69,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 e62f6dea44a24de49600b7b2b9b6e3ca #, fuzzy -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "Si aprirà un browser web che punta a `http://127.0.0.1:8080 `__:" +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Si aprirà un browser web che punta a [http://127.0.0.1:8080](http://127.0.0.1:8080):" #: ../../tutorial/tutorial-6.rst:-1 f5801eb897c7486d8cebe14cb60393ea #, fuzzy @@ -88,13 +88,13 @@ msgstr "Come funziona?" #: ../../tutorial/tutorial-6.rst:159 fe172eec14ff48e09bf660601f4eda7e #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." -msgstr "Questa applicazione web è un sito web statico - una singola pagina sorgente HTML, con alcuni CSS e altre risorse. Briefcase ha avviato un server web locale per servire questa pagina, in modo che il browser possa visualizzarla. Se si volesse mettere in produzione questa pagina web, si potrebbe copiare il contenuto della cartella ``www`` su qualsiasi server web in grado di servire contenuti statici." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Questa applicazione web è un sito web statico - una singola pagina sorgente HTML, con alcuni CSS e altre risorse. Briefcase ha avviato un server web locale per servire questa pagina, in modo che il browser possa visualizzarla. Se si volesse mettere in produzione questa pagina web, si potrebbe copiare il contenuto della cartella `www` su qualsiasi server web in grado di servire contenuti statici." #: ../../tutorial/tutorial-6.rst:165 cd4d0b53fe834650860a16b3f85fd352 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Ma quando si preme il pulsante, si esegue codice Python... Come funziona? Toga utilizza `PyScript `__ per fornire un interprete Python nel browser. Briefcase impacchetta il codice dell'applicazione come ruote che PyScript può caricare nel browser. Quando la pagina viene caricata, il codice dell'applicazione viene eseguito nel browser, costruendo l'interfaccia utente utilizzando il DOM del browser. Quando si fa clic su un pulsante, questo esegue il codice di gestione degli eventi nel browser." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgstr "Ma quando si preme il pulsante, si esegue codice Python... Come funziona? Toga utilizza [PyScript]{1} per fornire un interprete Python nel browser. Briefcase impacchetta il codice dell'applicazione come ruote che PyScript può caricare nel browser. Quando la pagina viene caricata, il codice dell'applicazione viene eseguito nel browser, costruendo l'interfaccia utente utilizzando il DOM del browser. Quando si fa clic su un pulsante, questo esegue il codice di gestione degli eventi nel browser." #: ../../tutorial/tutorial-6.rst:173 377320977bf14da0a7a0794a0e7353b4 msgid "Next steps" @@ -102,5 +102,5 @@ msgstr "Prossimi passi" #: ../../tutorial/tutorial-6.rst:175 b07028ccc7aa474898a9ed21e4908c2e #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." -msgstr "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. Possiamo includere nella nostra applicazione le librerie del Python Package Index (PyPI)? Consultate :doc:`Tutorial 7 ` per scoprirlo..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. Possiamo includere nella nostra applicazione le librerie del Python Package Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index 7a03dbcb..bc8c204b 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -43,18 +43,18 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e #, fuzzy -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "Aggiungiamo una chiamata API ``httpx`` alla nostra applicazione. Aggiungiamo un'importazione all'inizio di ``app.py`` per importare ``httpx``::" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Aggiungiamo una chiamata API `httpx` alla nostra applicazione. Aggiungiamo un'importazione all'inizio di `app.py` per importare `httpx`:" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Modificare quindi il callback ``say_hello()`` in modo che assomigli a questo::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Modificare quindi il callback `say_hello()` in modo che assomigli a questo:" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 #, fuzzy @@ -109,8 +109,8 @@ msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f #, fuzzy -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" -msgstr "Cosa è successo? Abbiamo aggiunto ``httpx`` al nostro *codice*, ma non l'abbiamo aggiunto al nostro ambiente virtuale di sviluppo. Possiamo risolvere il problema installando ``httpx`` con ``pip`` e poi eseguendo nuovamente ``briefcase dev```:" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "Cosa è successo? Abbiamo aggiunto `httpx` al nostro *codice*, ma non l'abbiamo aggiunto al nostro ambiente virtuale di sviluppo. Possiamo risolvere il problema installando `httpx` con `pip` e poi eseguendo nuovamente `briefcase dev``:" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -146,8 +146,8 @@ msgstr "Esecuzione dell'applicazione aggiornata" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "Facciamo in modo che il codice aggiornato dell'applicazione venga confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche al codice, dobbiamo seguire gli stessi passi di :doc:`Tutorial 4 `:" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Facciamo in modo che il codice aggiornato dell'applicazione venga confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -208,8 +208,8 @@ msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un er #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "Ancora una volta, l'applicazione non è riuscita ad avviarsi perché ``httpx`` è stato installato - ma perché? Non abbiamo già installato ``httpx``?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Ancora una volta, l'applicazione non è riuscita ad avviarsi perché `httpx` è stato installato - ma perché? Non abbiamo già installato `httpx`?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -218,8 +218,8 @@ msgstr "È così, ma solo nell'ambiente di sviluppo. L'ambiente di sviluppo è i #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "L'unico modo per garantire che qualcun altro abbia un ambiente Python che contiene tutto ciò di cui ha bisogno è costruire un ambiente Python completamente isolato. Questo significa che c'è un'installazione di Python completamente isolata e un insieme di dipendenze completamente isolato. Questo è ciò che Briefcase costruisce quando si lancia ``briefcase build`` - un ambiente Python isolato. Questo spiega anche perché ``httpx`` non è installato: è stato installato nell'ambiente di *sviluppo*, ma non nell'applicazione confezionata." +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "L'unico modo per garantire che qualcun altro abbia un ambiente Python che contiene tutto ciò di cui ha bisogno è costruire un ambiente Python completamente isolato. Questo significa che c'è un'installazione di Python completamente isolata e un insieme di dipendenze completamente isolato. Questo è ciò che Briefcase costruisce quando si lancia `briefcase build` - un ambiente Python isolato. Questo spiega anche perché `httpx` non è installato: è stato installato nell'ambiente di *sviluppo*, ma non nell'applicazione confezionata." #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -233,43 +233,43 @@ msgstr "Aggiornamento delle dipendenze" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "Nella directory principale dell'applicazione, c'è un file chiamato ``pyproject.toml``. Questo file contiene tutti i dettagli di configurazione dell'applicazione forniti al momento dell'esecuzione di ``briefcase new``." +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "Nella directory principale dell'applicazione, c'è un file chiamato `pyproject.toml`. Questo file contiene tutti i dettagli di configurazione dell'applicazione forniti al momento dell'esecuzione di `briefcase new`." #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" -msgstr "il file ``pyproject.toml`` è suddiviso in sezioni; una delle sezioni descrive le impostazioni per l'applicazione::" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "il file `pyproject.toml` è suddiviso in sezioni; una delle sezioni descrive le impostazioni per l'applicazione:" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "L'opzione ``requires`` descrive le dipendenze della nostra applicazione. Si tratta di un elenco di stringhe, che specificano le librerie (e, opzionalmente, le versioni) delle librerie che si vogliono includere nella propria applicazione." +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "L'opzione `requires` descrive le dipendenze della nostra applicazione. Si tratta di un elenco di stringhe, che specificano le librerie (e, opzionalmente, le versioni) delle librerie che si vogliono includere nella propria applicazione." #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "Modificare l'impostazione ``requires`` in modo che si legga::" +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modificare l'impostazione `requires` in modo che si legga:" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "Aggiungendo questa impostazione, si dice a Briefcase \"quando costruisci la mia applicazione, esegui ``pip install httpx`` nel bundle dell'applicazione\". Qualsiasi cosa che sia un input legale per ``pip install`` può essere usato qui, quindi si può specificare:" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Aggiungendo questa impostazione, si dice a Briefcase \"quando costruisci la mia applicazione, esegui `pip install httpx` nel bundle dell'applicazione\". Qualsiasi cosa che sia un input legale per `pip install` può essere usato qui, quindi si può specificare:" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "Una versione specifica della libreria (ad esempio, ``\"httpx==0.19.0\"``);" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Una versione specifica della libreria (ad esempio, `\"httpx==0.19.0\"`);" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "Un intervallo di versioni della libreria (ad esempio, ``\"httpx>=0.19\"``);" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Un intervallo di versioni della libreria (ad esempio, `\"httpx>=0.19\"`);" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "Un percorso a un repository git (ad esempio, ``git+https://github.com/encode/httpx\"``); oppure" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Un percorso a un repository git (ad esempio, `git+https://github.com/encode/httpx\"`); oppure" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 #, fuzzy @@ -278,84 +278,84 @@ msgstr "Un percorso di file locale (tuttavia, attenzione: se si dà il codice a #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Più avanti in ``pyproject.toml``, si noteranno altre sezioni che dipendono dal sistema operativo, come ``[tool.briefcase.app.helloworld.macOS]`` e ``[tool.briefcase.app.helloworld.windows]``. Queste sezioni hanno anche un'impostazione ``requires``. Queste impostazioni consentono di definire dipendenze aggiuntive specifiche per la piattaforma; quindi, ad esempio, se si ha bisogno di una libreria specifica per la piattaforma per gestire alcuni aspetti dell'applicazione, si può specificare tale libreria nella sezione ``requires`` specifica per la piattaforma, e tale impostazione sarà utilizzata solo per quella piattaforma. Si noterà che le librerie ``toga`` sono tutte specificate nella sezione ``requires`` specifica della piattaforma, perché le librerie necessarie per visualizzare l'interfaccia utente sono specifiche della piattaforma." +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Più avanti in `pyproject.toml`, si noteranno altre sezioni che dipendono dal sistema operativo, come `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Queste sezioni hanno anche un'impostazione `requires`. Queste impostazioni consentono di definire dipendenze aggiuntive specifiche per la piattaforma; quindi, ad esempio, se si ha bisogno di una libreria specifica per la piattaforma per gestire alcuni aspetti dell'applicazione, si può specificare tale libreria nella sezione `requires` specifica per la piattaforma, e tale impostazione sarà utilizzata solo per quella piattaforma. Si noterà che le librerie `toga` sono tutte specificate nella sezione `requires` specifica della piattaforma, perché le librerie necessarie per visualizzare l'interfaccia utente sono specifiche della piattaforma." #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "Nel nostro caso, vogliamo che ``httpx`` sia installato su tutte le piattaforme, quindi usiamo l'impostazione ``requires`` a livello di applicazione. Le dipendenze a livello di applicazione saranno sempre installate; le dipendenze specifiche della piattaforma sono installate *in aggiunta* a quelle a livello di applicazione." +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "Nel nostro caso, vogliamo che `httpx` sia installato su tutte le piattaforme, quindi usiamo l'impostazione `requires` a livello di applicazione. Le dipendenze a livello di applicazione saranno sempre installate; le dipendenze specifiche della piattaforma sono installate *in aggiunta* a quelle a livello di applicazione." #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Ora che abbiamo comunicato a Briefcase i nostri requisiti aggiuntivi, possiamo riprovare a pacchettizzare la nostra applicazione. Assicurarsi di aver salvato le modifiche a ``pyproject.toml`` e poi aggiornare di nuovo l'applicazione, questa volta inserendo il flag ``-r``. Questo indica a Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Ora che abbiamo comunicato a Briefcase i nostri requisiti aggiuntivi, possiamo riprovare a pacchettizzare la nostra applicazione. Assicurarsi di aver salvato le modifiche a `pyproject.toml` e poi aggiornare di nuovo l'applicazione, questa volta inserendo il flag `-r`. Questo indica a Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "Una volta effettuato l'aggiornamento, si può eseguire ``briefcase build`` e ``briefcase run`` e si dovrebbe vedere l'applicazione confezionata, con il nuovo comportamento della finestra di dialogo." +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Una volta effettuato l'aggiornamento, si può eseguire `briefcase build` e `briefcase run` e si dovrebbe vedere l'applicazione confezionata, con il nuovo comportamento della finestra di dialogo." #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "L'opzione ``-r`` per l'aggiornamento dei requisiti viene rispettata anche dai comandi ``build`` e ``run``, quindi se si vuole aggiornare, compilare ed eseguire in un unico passaggio, si può usare ``briefcase run -u -r``." +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "L'opzione `-r` per l'aggiornamento dei requisiti viene rispettata anche dai comandi `build` e `run`, quindi se si vuole aggiornare, compilare ed eseguire in un unico passaggio, si può usare `briefcase run -u -r`." #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "Sulle piattaforme desktop (macOS, Windows, Linux), qualsiasi ``pip`` installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e web, le opzioni sono leggermente limitate `__." +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Sulle piattaforme desktop (macOS, Windows, Linux), qualsiasi `pip` installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e web, [le opzioni sono leggermente limitate]{1}." #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{2}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 #, fuzzy msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare può fornire binari per alcuni moduli binari popolari (tra cui ``numpy``, ``pandas`` e ``cryptography``). È *di solito* possibile compilare pacchetti per le piattaforme mobili, ma non è facile da configurare, il che esula dallo scopo di un tutorial introduttivo come questo." +msgstr "BeeWare può fornire binari per alcuni moduli binari popolari (tra cui `numpy`, `pandas` e `cryptography`). È *di solito* possibile compilare pacchetti per le piattaforme mobili, ma non è facile da configurare, il che esula dallo scopo di un tutorial introduttivo come questo." #: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 msgid "Next steps" msgstr "Prossimi passi" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "Accesso a un'API" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "Un compito comune che un'applicazione deve svolgere è quello di fare una richiesta a un'API web per recuperare dati e mostrarli all'utente. Questa è un'applicazione giocattolo, quindi non abbiamo un'API *reale* con cui lavorare, quindi useremo l'API segnaposto `{JSON} `__ come fonte di dati." +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Un compito comune che un'applicazione deve svolgere è quello di fare una richiesta a un'API web per recuperare dati e mostrarli all'utente. Questa è un'applicazione giocattolo, quindi non abbiamo un'API *reale* con cui lavorare, quindi useremo l'API segnaposto [{JSON}]{1} come fonte di dati." -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "L'API {JSON} Placeholder ha una serie di endpoint API \"falsi\" che si possono usare come dati di prova. Una di queste API è l'endpoint ``/posts/``, che restituisce finti post del blog. Se si apre ``https://jsonplaceholder.typicode.com/posts/42`` nel browser, si otterrà un payload JSON che descrive un singolo post - un contenuto `Lorum ipsum `__ per un post di un blog con ID 42." +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "L'API {JSON} Placeholder ha una serie di endpoint API \"falsi\" che si possono usare come dati di prova. Una di queste API è l'endpoint `/posts/`, che restituisce finti post del blog. Se si apre `https://jsonplaceholder.typicode.com/posts/42` nel browser, si otterrà un payload JSON che descrive un singolo post - un contenuto [Lorum ipsum]{1} per un post di un blog con ID 42." #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." #~ msgstr "La libreria standard di Python contiene tutti gli strumenti necessari per accedere a un'API. Tuttavia, le API integrate sono di livello molto basso. Sono buone implementazioni del protocollo HTTP, ma richiedono all'utente di gestire molti dettagli di basso livello, come il reindirizzamento degli URL, le sessioni, l'autenticazione e la codifica del payload. Come \"normale utente di browser\", probabilmente siete abituati a dare per scontati questi dettagli, che il browser gestisce per voi." -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "Di conseguenza, sono state sviluppate librerie di terze parti che avvolgono le API integrate e forniscono un'API più semplice e più vicina all'esperienza quotidiana del browser. Utilizzeremo una di queste librerie per accedere all'API {JSON} Placeholder: una libreria chiamata `httpx `__." +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Di conseguenza, sono state sviluppate librerie di terze parti che avvolgono le API integrate e forniscono un'API più semplice e più vicina all'esperienza quotidiana del browser. Utilizzeremo una di queste librerie per accedere all'API {JSON} Placeholder: una libreria chiamata [httpx]{1}." -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "Questo modificherà il callback ``say_hello()`` in modo che quando viene invocato, lo farà:" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Questo modificherà il callback `say_hello()` in modo che quando viene invocato, lo farà:" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "effettuare una richiesta GET all'API JSON dei segnaposto per ottenere il post 42;" @@ -375,6 +375,6 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "In breve, qualsiasi pacchetto *puro* Python (cioè i pacchetti che *non* contengono un modulo binario) può essere usato senza problemi. Tuttavia, se la vostra dipendenza contiene un componente binario, deve essere compilata; al momento, la maggior parte dei pacchetti Python non fornisce supporto alla compilazione per piattaforme non desktop." -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." -#~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate :doc:`Tutorial 8 ` per scoprirlo..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate [Tutorial 8][tutorial-8] per scoprirlo..." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po index 193360ed..5bf7ba5d 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -42,7 +42,7 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 @@ -51,24 +51,24 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento ``say_hello()`` in modo che assomigli a questo::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -88,7 +88,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -163,8 +163,8 @@ msgstr "Per capire perché questo accade, dobbiamo entrare nei dettagli del funz #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 #, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like::" -msgstr "Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a:" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 #, fuzzy @@ -173,13 +173,13 @@ msgstr "Questo ciclo è chiamato *Event Loop*. (Non si tratta di nomi di metodi #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "Quando si fa clic su un pulsante, si trascina una barra di scorrimento o si digita un tasto, si genera un \"evento\". Questo \"evento\" viene inserito in una coda e l'applicazione elaborerà la coda di eventi quando ne avrà l'opportunità. Il codice utente che viene attivato in risposta all'evento è chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come parte della chiamata ``process_events()``." +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Quando si fa clic su un pulsante, si trascina una barra di scorrimento o si digita un tasto, si genera un \"evento\". Questo \"evento\" viene inserito in una coda e l'applicazione elaborerà la coda di eventi quando ne avrà l'opportunità. Il codice utente che viene attivato in risposta all'evento è chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come parte della chiamata `process_events()`." #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 #, fuzzy -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Una volta che un'applicazione ha elaborato tutti gli eventi disponibili, essa ``ridisegna()`` la GUI. Questa operazione tiene conto di tutti i cambiamenti che gli eventi hanno causato alla visualizzazione dell'applicazione, nonché di qualsiasi altra cosa stia accadendo nel sistema operativo: ad esempio, le finestre di un'altra applicazione possono oscurare o rivelare parte della finestra della nostra applicazione, e il ridisegno della nostra applicazione dovrà riflettere la porzione di finestra attualmente visibile." +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Una volta che un'applicazione ha elaborato tutti gli eventi disponibili, essa `ridisegna()` la GUI. Questa operazione tiene conto di tutti i cambiamenti che gli eventi hanno causato alla visualizzazione dell'applicazione, nonché di qualsiasi altra cosa stia accadendo nel sistema operativo: ad esempio, le finestre di un'altra applicazione possono oscurare o rivelare parte della finestra della nostra applicazione, e il ridisegno della nostra applicazione dovrà riflettere la porzione di finestra attualmente visibile." #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 #, fuzzy @@ -223,8 +223,8 @@ msgstr "Le funzioni asincrone (note come *co-routine*) devono essere dichiarate #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "In Python, la programmazione asincrona è implementata utilizzando le parole chiave ``async`` e ``await`` e il modulo `asyncio `__ della libreria standard. La parola chiave ``async`` ci permette di dichiarare che una funzione è una co-routine asincrona. La parola chiave ``await`` fornisce un modo per dichiarare quando esiste l'opportunità di cambiare contesto a un'altra co-routine. Il modulo `asyncio `__ fornisce altri strumenti e primitive utili per la codifica asincrona." +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "In Python, la programmazione asincrona è implementata utilizzando le parole chiave `async` e `await` e il modulo [asyncio]{1} della libreria standard. La parola chiave `async` ci permette di dichiarare che una funzione è una co-routine asincrona. La parola chiave `await` fornisce un modo per dichiarare quando esiste l'opportunità di cambiare contesto a un'altra co-routine. Il modulo [asyncio]{2} fornisce altri strumenti e primitive utili per la codifica asincrona." #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -233,8 +233,8 @@ msgstr "Rendere l'esercitazione asincrona" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 #, fuzzy -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" -msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento ``say_hello()`` in modo che assomigli a questo::" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 #, fuzzy @@ -243,20 +243,20 @@ msgstr "In questo codice ci sono solo 4 modifiche rispetto alla versione precede #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d #, fuzzy -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Il client creato è un asincrono ``AsyncClient()``, invece di un sincrono ``Client()``. Questo indica a ``httpx`` che deve operare in modalità asincrona, anziché sincrona." +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "Il client creato è un asincrono `AsyncClient()`, invece di un sincrono `Client()`. Questo indica a `httpx` che deve operare in modalità asincrona, anziché sincrona." #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d #, fuzzy -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Il gestore di contesto usato per creare il client è contrassegnato come ``async``. Questo indica a Python che c'è l'opportunità di rilasciare il controllo quando il gestore di contesto viene inserito e abbandonato." +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "Il gestore di contesto usato per creare il client è contrassegnato come `async`. Questo indica a Python che c'è l'opportunità di rilasciare il controllo quando il gestore di contesto viene inserito e abbandonato." #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -267,7 +267,7 @@ msgstr "Toga consente di utilizzare metodi regolari o co-routine asincrone come #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Se si salvano queste modifiche e si esegue nuovamente l'applicazione (con ``briefcase dev`` in modalità di sviluppo, oppure aggiornando ed eseguendo nuovamente l'applicazione confezionata), non ci saranno cambiamenti evidenti nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la finestra di dialogo, si possono notare alcuni sottili miglioramenti:" +msgstr "Se si salvano queste modifiche e si esegue nuovamente l'applicazione (con `briefcase dev` in modalità di sviluppo, oppure aggiornando ed eseguendo nuovamente l'applicazione confezionata), non ci saranno cambiamenti evidenti nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la finestra di dialogo, si possono notare alcuni sottili miglioramenti:" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 #, fuzzy @@ -290,7 +290,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "Se si tenta di aprire il menu di un'applicazione, il menu viene visualizzato immediatamente." #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -342,35 +342,35 @@ msgid "So - where to from here?" msgstr "" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." msgstr "" #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." msgstr "" #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "Ora abbiamo un'applicazione che è efficiente e reattiva, anche quando è in attesa di un'API lenta. Ma come possiamo assicurarci che l'applicazione continui a funzionare mentre continuiamo a svilupparla? Come possiamo testare la nostra applicazione? Consultate :doc:`Tutorial 9 ` per scoprirlo..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Ora abbiamo un'applicazione che è efficiente e reattiva, anche quando è in attesa di un'API lenta. Ma come possiamo assicurarci che l'applicazione continui a funzionare mentre continuiamo a svilupparla? Come possiamo testare la nostra applicazione? Consultate [Tutorial 9][tutorial-9] per scoprirlo..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "Il metodo è definito come ``async def``, invece che semplicemente ``def``. Questo indica a Python che il metodo è una co-routine asincrona." +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "Il metodo è definito come `async def`, invece che semplicemente `def`. Questo indica a Python che il metodo è una co-routine asincrona." -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "La chiamata ``get`` viene effettuata con la parola chiave ``await``. Questo indica all'applicazione che, mentre si attende la risposta dalla rete, l'applicazione può rilasciare il controllo al ciclo degli eventi." +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "La chiamata `get` viene effettuata con la parola chiave `await`. Questo indica all'applicazione che, mentre si attende la risposta dalla rete, l'applicazione può rilasciare il controllo al ciclo degli eventi." -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." #~ msgstr "" -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." #~ msgstr "" diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po index 97d337fa..760f216c 100644 --- a/locales/pt/LC_MESSAGES/how-to/index.po +++ b/locales/pt/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po index 3b58c683..a744fa87 100644 --- a/locales/pt/LC_MESSAGES/index.po +++ b/locales/pt/LC_MESSAGES/index.po @@ -36,8 +36,8 @@ msgstr "Traduções estão disponíveis" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 #, fuzzy -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "Se você não se sente confortável com o Português, as traduções deste tutorial estão disponíveis em `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `English `__, e `汉语 `__." +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "Se você não se sente confortável com o Português, as traduções deste tutorial estão disponíveis em [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [English]{5}, e [汉语]{6}." #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 msgid "This is a machine translation!" @@ -49,8 +49,8 @@ msgstr "Esta versão do tutorial foi gerada por tradução automática. Sabemos #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "Se você quiser ajudar a melhorar a tradução, entre em contato! Temos um canal ``#translations`` no `Discord `__. Apresente-se lá e nós o adicionaremos à equipe de tradução." +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "Se você quiser ajudar a melhorar a tradução, entre em contato! Temos um canal `#translations` no [Discord]{1}. Apresente-se lá e nós o adicionaremos à equipe de tradução." #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 msgid "This is a translation!" @@ -70,18 +70,18 @@ msgstr "O BeeWare não é um único produto, ferramenta ou biblioteca - é uma c #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e #, fuzzy -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__, um kit de ferramentas de widget multiplataforma;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1}, um kit de ferramentas de widget multiplataforma;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e #, fuzzy -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__, uma ferramenta para empacotar projetos Python como pacotes distribuíveis que podem ser enviados aos usuários finais;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1}, uma ferramenta para empacotar projetos Python como pacotes distribuíveis que podem ser enviados aos usuários finais;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc #, fuzzy -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "Bibliotecas (como `Rubicon ObjC `__) para acessar bibliotecas nativas da plataforma;" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acessar bibliotecas nativas da plataforma;" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." @@ -101,6 +101,6 @@ msgid "Let's go!" msgstr "Vamos lá!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "Pronto para experimentar o BeeWare por conta própria? :doc:`Vamos construir um aplicativo multiplataforma em Python! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "Pronto para experimentar o BeeWare por conta própria? [Vamos construir um aplicativo multiplataforma em Python!][tutorial/tutorial-0]" diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po index 77319f52..ea38dbd2 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po @@ -52,11 +52,11 @@ msgid "Start a new project" msgstr "" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "" #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" msgstr "" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f @@ -64,7 +64,7 @@ msgid "Add code to take a photo" msgstr "" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" msgstr "" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd @@ -72,15 +72,15 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." msgstr "" #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." msgstr "" #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." msgstr "" #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 @@ -96,7 +96,7 @@ msgid "However, this request comes in two parts. The first is in the code we've msgstr "" #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" msgstr "" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b @@ -124,10 +124,10 @@ msgid "Adding more permissions" msgstr "" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "" -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.helloworld]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" #~ msgstr "" #~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po index cfcd55cf..de970751 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -37,7 +37,7 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "" #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 @@ -45,7 +45,7 @@ msgid "This icon definition doesn't specify any file extension. The value will b msgstr "" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/topics/custom-icons.rst:36 @@ -88,7 +88,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -100,11 +100,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -112,30 +112,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**Em breve**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "Agora temos um aplicativo com um ícone personalizado em nossa área de trabalho e em nosso telefone! Como podemos compartilhar esse aplicativo com outras pessoas? Consulte o :doc:`Tutorial 11 ` para descobrir..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "Agora temos um aplicativo com um ícone personalizado em nossa área de trabalho e em nosso telefone! Como podemos compartilhar esse aplicativo com outras pessoas? Consulte o [Tutorial 11][tutorial-11] para descobrir..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "Tutorial 10 - Crie seu próprio aplicativo" @@ -143,6 +143,6 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "Próximos passos" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po index 1dc35ab2..d848afda 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po @@ -35,18 +35,18 @@ msgstr "Executar o conjunto de testes" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "Acontece que nosso projeto já tem um conjunto de testes! Quando geramos nosso projeto originalmente, foram gerados dois diretórios de nível superior: ``src`` e ``tests``. A pasta ``src`` contém o código do nosso aplicativo; a pasta ``tests`` contém nosso conjunto de testes. Dentro da pasta ``tests`` há um arquivo chamado ``test_app.py`` com o seguinte conteúdo::" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "Acontece que nosso projeto já tem um conjunto de testes! Quando geramos nosso projeto originalmente, foram gerados dois diretórios de nível superior: `src` e `tests`. A pasta `src` contém o código do nosso aplicativo; a pasta `tests` contém nosso conjunto de testes. Dentro da pasta `tests` há um arquivo chamado `test_app.py` com o seguinte conteúdo:" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 #, fuzzy -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Este é um `Pytest `__ *caso de teste* - um bloco de código que pode ser executado para verificar algum comportamento do seu aplicativo. Nesse caso, o teste é um espaço reservado e não testa nada sobre nosso aplicativo, mas é um teste que podemos executar." +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "Este é um [Pytest]{1} *caso de teste* - um bloco de código que pode ser executado para verificar algum comportamento do seu aplicativo. Nesse caso, o teste é um espaço reservado e não testa nada sobre nosso aplicativo, mas é um teste que podemos executar." #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 #, fuzzy -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "Podemos executar esse conjunto de testes usando a opção ``--test`` do ``briefcase dev``. Como esta é a primeira vez que estamos executando testes, também precisamos passar a opção ``-r`` para garantir que os requisitos de teste também sejam instalados:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "Podemos executar esse conjunto de testes usando a opção `--test` do `briefcase dev`. Como esta é a primeira vez que estamos executando testes, também precisamos passar a opção `-r` para garantir que os requisitos de teste também sejam instalados:" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 #: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 @@ -79,8 +79,8 @@ msgstr "Sucesso! Acabamos de executar um único teste que verifica se a matemát #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "Vamos substituir esse teste de espaço reservado por um teste para verificar se o nosso método ``greeting()`` se comporta da maneira esperada. Substitua o conteúdo de ``test_app.py`` pelo seguinte::" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "Vamos substituir esse teste de espaço reservado por um teste para verificar se o nosso método `greeting()` se comporta da maneira esperada. Substitua o conteúdo de `test_app.py` pelo seguinte:" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe #, fuzzy @@ -89,13 +89,13 @@ msgstr "Isso define dois novos testes, verificando os dois comportamentos que es #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "Agora podemos executar novamente o conjunto de testes. Dessa vez, não precisamos fornecer a opção ``-r``, pois os requisitos de teste já foram instalados; precisamos apenas usar a opção ``--test``:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "Agora podemos executar novamente o conjunto de testes. Dessa vez, não precisamos fornecer a opção `-r`, pois os requisitos de teste já foram instalados; precisamos apenas usar a opção `--test`:" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 #, fuzzy -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "Excelente! Nosso método utilitário ``greeting()`` está funcionando como esperado." +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "Excelente! Nosso método utilitário `greeting()` está funcionando como esperado." #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 #, fuzzy @@ -104,8 +104,8 @@ msgstr "Desenvolvimento orientado por testes" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "Agora que temos um conjunto de testes, podemos usá-lo para impulsionar o desenvolvimento de novos recursos. Vamos modificar nosso aplicativo para ter uma saudação especial para um determinado usuário. Podemos começar adicionando um caso de teste para o novo comportamento que gostaríamos de ver na parte inferior do ``test_app.py``::" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "Agora que temos um conjunto de testes, podemos usá-lo para impulsionar o desenvolvimento de novos recursos. Vamos modificar nosso aplicativo para ter uma saudação especial para um determinado usuário. Podemos começar adicionando um caso de teste para o novo comportamento que gostaríamos de ver na parte inferior do `test_app.py`:" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 #, fuzzy @@ -114,8 +114,8 @@ msgstr "Em seguida, execute o conjunto de testes com esse novo teste:" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "Dessa vez, vemos uma falha no teste - e a saída explica a origem da falha: o teste está esperando a saída \"BeeWare the IDEs of Python!\", mas nossa implementação de ``greeting()`` está retornando \"Hello, Brutus\". Vamos modificar a implementação de ``greeting()`` em ``src/helloworld/app.py`` para obter o novo comportamento::" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "Dessa vez, vemos uma falha no teste - e a saída explica a origem da falha: o teste está esperando a saída \"BeeWare the IDEs of Python!\", mas nossa implementação de `greeting()` está retornando \"Hello, Brutus\". Vamos modificar a implementação de `greeting()` em `src/helloworld/app.py` para obter o novo comportamento:" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 #, fuzzy @@ -134,18 +134,18 @@ msgstr "Até o momento, estamos executando os testes no modo de desenvolvimento. #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 #, fuzzy -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "As opções ``--test`` e ``-r`` também podem ser passadas para o comando ``run``. Se você usar ``briefcase run --test -r``, o mesmo conjunto de testes será executado, mas dentro do pacote de aplicativos empacotados, e não no seu ambiente de desenvolvimento:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "As opções `--test` e `-r` também podem ser passadas para o comando `run`. Se você usar `briefcase run --test -r`, o mesmo conjunto de testes será executado, mas dentro do pacote de aplicativos empacotados, e não no seu ambiente de desenvolvimento:" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 #, fuzzy -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Como no caso do ``briefcase dev --test``, a opção ``-r`` só é necessária na primeira vez em que você executa o conjunto de testes para garantir que as dependências de teste estejam presentes. Nas execuções subsequentes, você pode omitir essa opção." +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "Como no caso do `briefcase dev --test`, a opção `-r` só é necessária na primeira vez em que você executa o conjunto de testes para garantir que as dependências de teste estejam presentes. Nas execuções subsequentes, você pode omitir essa opção." #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c #, fuzzy -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "Você também pode usar a opção ``--test`` em back-ends móveis: - assim, ``briefcase run iOS --test`` e ``briefcase run android --test`` funcionarão, executando o conjunto de testes no dispositivo móvel que você selecionar." +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "Você também pode usar a opção `--test` em back-ends móveis: - assim, `briefcase run iOS --test` e `briefcase run android --test` funcionarão, executando o conjunto de testes no dispositivo móvel que você selecionar." #~ msgid "Next steps" #~ msgstr "Próximos passos" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po index 26b5d80f..5b5078b0 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po @@ -42,13 +42,13 @@ msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial `no site do Python `_. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 #, fuzzy -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." -msgstr "Existem várias maneiras diferentes de instalar o Python. Você pode instalar o Python através do `homebrew `__. Pode usar o `pyenv `__ para gerenciar várias instalações do Python na mesma máquina. Usuários do Windows podem instalar o Python pela Windows App Store. Usuários com foco em ciência de dados podem preferir utilizar o `Anaconda `__ ou o `Miniconda `__." +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "Existem várias maneiras diferentes de instalar o Python. Você pode instalar o Python através do [homebrew]{1}. Pode usar o [pyenv]{2} para gerenciar várias instalações do Python na mesma máquina. Usuários do Windows podem instalar o Python pela Windows App Store. Usuários com foco em ciência de dados podem preferir utilizar o [Anaconda]{3} ou o [Miniconda]{4}." #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -69,8 +69,8 @@ msgid "Linux" msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "Se você estiver usando Linux, será necessário instalar o Python por meio do gerenciador de pacotes do sistema (`apt` no Debian/Ubuntu/Mint, `dnf` no Fedora, ou `pacman` no Arch)." +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "Se você estiver usando Linux, será necessário instalar o Python por meio do gerenciador de pacotes do sistema ([apt` no Debian/Ubuntu/Mint, `dnf` no Fedora, ou `pacman` no Arch)." #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -93,8 +93,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial `no site do Python `_. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." +msgid "If you're on Windows, you can get the official installer from `the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -103,8 +103,8 @@ msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "Se você estiver usando macOS ou Windows, não importa a *forma* que usou ao instalar o Python. o importante é ter um interpretador Python operando ao executar o comando ``python3`` no prompt de comando/terminal do seu sistema operacional." +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "Se você estiver usando macOS ou Windows, não importa a *forma* que usou ao instalar o Python. o importante é ter um interpretador Python operando ao executar o comando `python3` no prompt de comando/terminal do seu sistema operacional." #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 msgid "Install dependencies" @@ -149,8 +149,8 @@ msgid "Building BeeWare apps on Windows requires:" msgstr "Para criar aplicativos BeeWare no Windows, é necessário:" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git**, um sistema de controle de versão. Você pode baixar o Git em `git-scm.com `__." +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**, um sistema de controle de versão. Você pode baixar o Git em [git-scm.com]{1}." #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." @@ -165,7 +165,7 @@ msgid "We're now going to create a virtual environment - a \"sandbox\" that we c msgstr "Agora vamos criar um ambiente virtual - uma \"sandbox\" que podemos usar para isolar nosso trabalho neste tutorial de nossa instalação principal do Python. Se instalarmos pacotes no ambiente virtual, nossa instalação principal do Python (e qualquer outro projeto Python em nosso computador) não será afetada. Se bagunçarmos completamente nosso ambiente virtual, podemos simplesmente excluí-lo e começar novamente, sem afetar nenhum outro projeto Python em nosso computador e sem a necessidade de reinstalar o Python." #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." msgstr "" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 @@ -173,7 +173,7 @@ msgid "Errors running PowerShell Scripts" msgstr "Erros ao executar scripts do PowerShell" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error::" +msgid "If you're using PowerShell, and you receive the error:" msgstr "Se você estiver usando o PowerShell e receber o erro:" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c @@ -181,40 +181,40 @@ msgid "Your Windows account doesn't have permissions to run scripts. To fix this msgstr "Sua conta do Windows não possui permissões para executar scripts. Para corrigir isso:" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." +msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "Execute ``set-executionpolicy RemoteSigned``" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "Execute `set-executionpolicy RemoteSigned`" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select ``Y`` to change the execution policy." -msgstr "Selecione ``Y`` para alterar a política de execução." +msgid "Select `Y` to change the execution policy." +msgstr "Selecione `Y` para alterar a política de execução." #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "Depois de fazer isso, você pode executar novamente o comando ``beeware-venv\\Scripts\\activate.ps1`` na mesma janela do PowerShell em que você fez as alterações nas permissões (a janela original) ou em uma nova janela do PowerShell no mesmo diretório." +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "Depois de fazer isso, você pode executar novamente o comando `beeware-venv\\Scripts\\activate.ps1` na mesma janela do PowerShell em que você fez as alterações nas permissões (a janela original) ou em uma nova janela do PowerShell no mesmo diretório." #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "Se isso funcionou, seu prompt deve estar diferente agora - ele deve ter um prefixo ``(beeware-venv)``. Isso indica que você está atualmente no seu ambiente virtual BeeWare. Sempre que estiver trabalhando neste tutorial, certifique-se de que seu ambiente virtual esteja ativado. Se não estiver, execute novamente o último comando (o comando ``activate``) para reativar seu ambiente." +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "Se isso funcionou, seu prompt deve estar diferente agora - ele deve ter um prefixo `(beeware-venv)`. Isso indica que você está atualmente no seu ambiente virtual BeeWare. Sempre que estiver trabalhando neste tutorial, certifique-se de que seu ambiente virtual esteja ativado. Se não estiver, execute novamente o último comando (o comando `activate`) para reativar seu ambiente." #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd msgid "Alternative virtual environments" msgstr "Ambientes virtuais alternativos" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "Caso esteja usando o Anaconda ou Miniconda, você pode estar mais familiarizado com o uso de ambientes conda. Você também deve ter ouvido falar do ``virtualenv``, um antecessor do módulo ``venv`` integrado ao Python. Da mesma forma que as instalações do Python - se você estiver no macOS ou Windows, não importa *como* você cria seu ambiente virtual, desde que tenha um. Se estiver no Linux, é recomendado usar o ``venv`` e o Python do sistema." +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "Caso esteja usando o Anaconda ou Miniconda, você pode estar mais familiarizado com o uso de ambientes conda. Você também deve ter ouvido falar do `virtualenv`, um antecessor do módulo `venv` integrado ao Python. Da mesma forma que as instalações do Python - se você estiver no macOS ou Windows, não importa *como* você cria seu ambiente virtual, desde que tenha um. Se estiver no Linux, é recomendado usar o `venv` e o Python do sistema." #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" msgstr "Próximos passos" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "Agora que configuramos nosso ambiente, estamos prontos para :doc:`criar nossa primeira aplicação BeeWare `." +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "Agora que configuramos nosso ambiente, estamos prontos para [criar nossa primeira aplicação BeeWare][tutorial-1]." #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "Execute o Windows PowerShell como Administrador." @@ -234,6 +234,6 @@ msgstr "Agora que configuramos nosso ambiente, estamos prontos para :doc:`criar #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "Se o Python estiver instalado, você verá o número da versão. Caso contrário, será solicitado que instale as ferramentas de linha de comando para desenvolvedores." -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial `no site do Python `_. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po index 3c35d87d..9d25c4d6 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po @@ -31,8 +31,8 @@ msgid "Install the BeeWare tools" msgstr "Instale as ferramentas do BeeWare" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" -msgstr "Primeiro, precisamos instalar o **Briefcase**. Briefcase é uma ferramenta do BeeWare que pode ser usada para empacotar sua aplicação para distribuição aos usuários finais - mas também pode ser usada para iniciar um novo projeto. Certifique-se de estar no diretório ``beeware-tutorial`` que você criou no :doc:`Tutorial 0 `, com o ambiente virtual ``beeware-venv`` ativado, e execute:" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "Primeiro, precisamos instalar o **Briefcase**. Briefcase é uma ferramenta do BeeWare que pode ser usada para empacotar sua aplicação para distribuição aos usuários finais - mas também pode ser usada para iniciar um novo projeto. Certifique-se de estar no diretório `beeware-tutorial` que você criou no [Tutorial 0][tutorial-0], com o ambiente virtual `beeware-venv` ativado, e execute:" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -54,8 +54,8 @@ msgid "Possible errors during installation" msgstr "Possíveis erros durante a instalação" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." -msgstr "Se você encontrar erros durante a instalação, é bem provável que alguns dos requisitos do sistema não estejam instalados. Certifique-se de ter :ref:`instalado todas os pré-requisitos da plataforma `." +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "Se você encontrar erros durante a instalação, é bem provável que alguns dos requisitos do sistema não estejam instalados. Certifique-se de ter [instalado todas os pré-requisitos da plataforma ][install-dependencies]." #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -65,37 +65,37 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "É importante usar o comando ``python -m pip``, em vez de apenas ``pip``. Isso porque o Briefcase precisa garantir que as versões do ``pip`` e ``setuptools`` estejam atualizadas, pois o ``pip`` usado sozinho não consegue se atualizar. Se quiser entender melhor o motivo, o `Brett Cannon escreveu um post detalhado no blog dele `__." +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "É importante usar o comando `python -m pip`, em vez de apenas `pip`. Isso porque o Briefcase precisa garantir que as versões do `pip` e `setuptools` estejam atualizadas, pois o `pip` usado sozinho não consegue se atualizar. Se quiser entender melhor o motivo, o [Brett Cannon escreveu um post detalhado no blog dele]{1}." #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd msgid "Bootstrap a new project" msgstr "Iniciar um novo projeto" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Vamos começar nosso primeiro projeto BeeWare! Usaremos o comando ``new`` do Briefcase para criar um aplicativo chamado **Hello World**. Execute o seguinte comando no seu prompt de comando/terminal:" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "Vamos começar nosso primeiro projeto BeeWare! Usaremos o comando `new` do Briefcase para criar um aplicativo chamado **Hello World**. Execute o seguinte comando no seu prompt de comando/terminal:" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" msgstr "O Briefcase solicitará alguns detalhes sobre nosso novo aplicativo. Para os propósitos deste tutorial, utilize o seguinte:" #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**Formal Name** - Aceite o valor padrão: ``Hello World``." +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formal Name** - Aceite o valor padrão: `Hello World`." #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**App Name** - Aceite o valor padrão: ``helloworld``." +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** - Aceite o valor padrão: `helloworld`." #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." -msgstr "**Bundle** - Se você possui seu próprio domínio, insira esse domínio invertido. (Por exemplo, se você possui o domínio \"cupcakes.com\", insira ``com.cupcakes`` como nome do bundle). Se você não possui seu próprio domínio, aceite o padrão (``com.example``)." +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**Bundle** - Se você possui seu próprio domínio, insira esse domínio invertido. (Por exemplo, se você possui o domínio \"cupcakes.com\", insira `com.cupcakes` como nome do bundle). Se você não possui seu próprio domínio, aceite o padrão (`com.example`)." #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**Project Name** - Aceite o valor padrão: ``Hello World``." +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Project Name** - Aceite o valor padrão: `Hello World`." #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" @@ -112,8 +112,8 @@ msgstr "**Author's email** - Insira seu próprio endereço de e-mail. Ele será #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - A URL da página inicial do seu aplicativo. Novamente, se você possui seu próprio domínio, insira uma URL nesse domínio (incluindo o ``https://``). Caso contrário, apenas aceite a URL padrão (``https://example.com/helloworld``). Esta URL não precisa realmente existir (por enquanto); ela será usada apenas se você publicar sua aplicação em uma loja de aplicativos." +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - A URL da página inicial do seu aplicativo. Novamente, se você possui seu próprio domínio, insira uma URL nesse domínio (incluindo o `https://`). Caso contrário, apenas aceite a URL padrão (`https://example.com/helloworld`). Esta URL não precisa realmente existir (por enquanto); ela será usada apenas se você publicar sua aplicação em uma loja de aplicativos." #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 #, fuzzy @@ -125,12 +125,12 @@ msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI to msgstr "**GUI framework** - Aceite a opção padrão, Toga (a própria biblioteca de interface gráfica da BeeWare)." #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" msgstr "O Briefcase então gerará uma estrutura básica de projeto para você usar. Se você seguiu este tutorial até agora e aceitou as configurações padrão como descrito, seu sistema de arquivos deve se parecer com algo assim:" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Essa estrutura atual já é um aplicativo totalmente funcional sem adicionar mais nada. A pasta ``src`` contém todo o código do aplicativo, a pasta ``tests`` contém uma suíte de testes inicial, e o arquivo ``pyproject.toml`` descreve como empacotar o aplicativo para distribuição. Se você abrir o ``pyproject.toml`` em um editor, verá os detalhes de configuração que você acabou de fornecer ao Briefcase." +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "Essa estrutura atual já é um aplicativo totalmente funcional sem adicionar mais nada. A pasta `src` contém todo o código do aplicativo, a pasta `tests` contém uma suíte de testes inicial, e o arquivo `pyproject.toml` descreve como empacotar o aplicativo para distribuição. Se você abrir o `pyproject.toml` em um editor, verá os detalhes de configuração que você acabou de fornecer ao Briefcase." #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a msgid "Now that we have a stub application, we can use Briefcase to run the application." @@ -141,8 +141,8 @@ msgid "Run the app in developer mode" msgstr "Inicie o app no modo de desenvolvedor" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "Vá para o diretório do projeto ``helloworld`` e peça ao Briefcase para iniciar o projeto no modo de Desenvolvedor (ou ``dev``):" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "Vá para o diretório do projeto `helloworld` e peça ao Briefcase para iniciar o projeto no modo de Desenvolvedor (ou `dev`):" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 msgid "This should open a GUI window:" @@ -150,15 +150,15 @@ msgstr "Isso deve abrir uma janela GUI:" #: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Janela do Tutorial 1 ``Hello World``, no macOS" +msgstr "Janela do Tutorial 1 `Hello World`, no macOS" #: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Janela do Tutorial 1 ``Hello World``, no Linux" +msgstr "Janela do Tutorial 1 `Hello World`, no Linux" #: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Janela do Tutorial 1 ``Hello World``, no Windows" +msgstr "Janela do Tutorial 1 `Hello World`, no Windows" #: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d msgid "Invalid requirements or pip unable to connect" @@ -169,7 +169,7 @@ msgid "If you encounter the error:" msgstr "" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." msgstr "" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f @@ -178,16 +178,16 @@ msgstr "" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Pressione o botão de fechar (ou selecione ``Sair`` no menu do aplicativo) e pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgstr "Pressione o botão de fechar (ou selecione `Sair` no menu do aplicativo) e pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em Python!" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b msgid "Next steps" msgstr "Próximos passos" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." -msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. Podemos adicionar alguma lógica própria para tornar nosso aplicativo um pouco mais interessante. No :doc:`Tutorial 2 `, vamos colocar uma interface de usuário mais útil em nossa aplicação." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. Podemos adicionar alguma lógica própria para tornar nosso aplicativo um pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma interface de usuário mais útil em nossa aplicação." #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." #~ msgstr "Uma das ferramentas do BeeWare é o Briefcase. O Briefcase pode ser usado para empacotar sua aplicação para distribuição aos usuários finais - mas ele também pode ser usado para iniciar um novo projeto." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po index b692dea1..4adfeaa3 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -23,62 +23,62 @@ msgid "Tutorial 2 - Making it interesting" msgstr "Tutorial 2 - Tornando as coisas interessantes" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "No :doc:`Tutorial 1 `, geramos um projeto inicial que executava, mas não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que foi criado para nós." +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "No [Tutorial 1][tutorial-1], geramos um projeto inicial que executava, mas não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que foi criado para nós." #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 msgid "What was generated" msgstr "O que foi gerado" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." -msgstr "No diretório ``src/helloworld``, você deverá ver 3 arquivos: ``__init__.py``, ``__main__.py`` e ``app.py``." +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "No diretório `src/helloworld`, você deverá ver 3 arquivos: `__init__.py`, `__main__.py` e `app.py`." #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` torna o diretório ``helloworld`` um módulo Python importável. Trata-se de um arquivo vazio; sua simples existência indica ao interpretador Python que há um módulo definido pelo diretório `helloworld`." +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` torna o diretório `helloworld` um módulo Python importável. Trata-se de um arquivo vazio; sua simples existência indica ao interpretador Python que há um módulo definido pelo diretório `helloworld`." #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "``__main__.py`` define o módulo ``helloworld`` como um tipo especial de módulo - um módulo executável. Ao tentar executar o módulo ``helloworld`` usando ``python -m helloworld``, o Python iniciará a execução no arquivo ``__main__.py``. O conteúdo de ``__main__.py`` é relativamente simples::" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` define o módulo `helloworld` como um tipo especial de módulo - um módulo executável. Ao tentar executar o módulo `helloworld` usando `python -m helloworld`, o Python iniciará a execução no arquivo `__main__.py`. O conteúdo de `__main__.py` é relativamente simples:" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." +msgid "It imports the `main` method from from the `helloworld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc #, fuzzy msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Isto é - ele importa o método ``main`` do aplicativo ``helloworld``; quando executado como ponto de entrada, esse método main() é chamado, dando início ao loop principal da aplicação. Nesse loop, a aplicação de interface gráfica (GUI) espera pelas interações do usuário (como cliques do mouse e pressionamentos de teclas)." +msgstr "Isto é - ele importa o método `main` do aplicativo `helloworld`; quando executado como ponto de entrada, esse método main() é chamado, dando início ao loop principal da aplicação. Nesse loop, a aplicação de interface gráfica (GUI) espera pelas interações do usuário (como cliques do mouse e pressionamentos de teclas)." #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "O arquivo mais interessante é o ``app.py`` - nele está contido a lógica que cria a janela da nossa aplicação::" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "O arquivo mais interessante é o `app.py` - nele está contido a lógica que cria a janela da nossa aplicação:" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -msgid "Let's go through this line by line::" -msgstr "Vamos analisar isso linha por linha::" +msgid "Let's go through this line by line:" +msgstr "Vamos analisar isso linha por linha:" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d #, fuzzy -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Primeiro, importamos a biblioteca de widgets ``toga``, juntamente com algumas classes e constantes que são úteis para o estilo. Por enquanto, nosso código ainda não faz uso delas, mas em breve começaremos a utilizá-las." +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "Primeiro, importamos a biblioteca de widgets `toga`, juntamente com algumas classes e constantes que são úteis para o estilo. Por enquanto, nosso código ainda não faz uso delas, mas em breve começaremos a utilizá-las." #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class::" -msgstr "Em seguida, definimos uma classe::" +msgid "Then, we define a class:" +msgstr "Em seguida, definimos uma classe:" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Cada aplicação Toga possui uma única instância chamada ``toga.App``, que representa o aplicativo em si sendo executado. A aplicação pode acabar gerenciando várias janelas; mas para aplicativos simples, haverá uma única janela principal." +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "Cada aplicação Toga possui uma única instância chamada `toga.App`, que representa o aplicativo em si sendo executado. A aplicação pode acabar gerenciando várias janelas; mas para aplicativos simples, haverá uma única janela principal." #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -msgid "Next, we define a ``startup()`` method::" -msgstr "Depois, definimos um método chamado ``startup()``::" +msgid "Next, we define a `startup()` method:" +msgstr "Depois, definimos um método chamado `startup()`:" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." @@ -89,13 +89,13 @@ msgid "In this application, we define a single box, but we don't put anything in msgstr "Neste aplicativo, definimos um único container, mas não colocamos nada dentro dele." #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -msgid "Next, we define a window into which we can put this empty box::" -msgstr "Em seguida, definimos uma janela na qual podemos colocar o container vazio::" +msgid "Next, we define a window into which we can put this empty box:" +msgstr "Em seguida, definimos uma janela na qual podemos colocar o container vazio:" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 #, fuzzy -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Isso cria uma instância de ``toga.MainWindow``, que terá um título correspondente ao nome do aplicativo. A MainWindow (Janela Principal) é um tipo especial de janela no Toga, pois está intimamente ligada ao ciclo de vida da aplicação. Quando a MainWindow é fechada, a aplicação também se encerra. Além disso, a MainWindow também é a janela que contém o menu do aplicativo (se você estiver em uma plataforma como o Windows, onde as barras de menu fazem parte da janela)" +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "Isso cria uma instância de `toga.MainWindow`, que terá um título correspondente ao nome do aplicativo. A MainWindow (Janela Principal) é um tipo especial de janela no Toga, pois está intimamente ligada ao ciclo de vida da aplicação. Quando a MainWindow é fechada, a aplicação também se encerra. Além disso, a MainWindow também é a janela que contém o menu do aplicativo (se você estiver em uma plataforma como o Windows, onde as barras de menu fazem parte da janela)" #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -106,17 +106,17 @@ msgid "If you have made an error in your code, the main window of the app may no msgstr "" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" -msgstr "Então, adicionamos nosso container vazio como conteúdo da janela principal e instruímos o aplicativo a mostrar nossa janela::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "Então, adicionamos nosso container vazio como conteúdo da janela principal e instruímos o aplicativo a mostrar nossa janela:" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 #, fuzzy -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "Por último, definimos um método chamado ``main()``. Isso é o que cria a instância de nossa aplicação::" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "Por último, definimos um método chamado `main()`. Isso é o que cria a instância de nossa aplicação:" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "O método ``main()`` é aquele que é importado e chamado pelo arquivo ``__main__.py``. Ele cria e retorna uma instância da nossa aplicação ``HelloWorld``." +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "O método `main()` é aquele que é importado e chamado pelo arquivo `__main__.py`. Ele cria e retorna uma instância da nossa aplicação `HelloWorld`." #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." @@ -127,38 +127,38 @@ msgid "Adding some content of our own" msgstr "Adicionando conteúdo personalizado" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." +msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "Não remova as importações já feitas no topo do arquivo ou o ``main()`` ao final. Você só precisa atualizar a classe ``HelloWorld``." +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "Não remova as importações já feitas no topo do arquivo ou o `main()` ao final. Você só precisa atualizar a classe `HelloWorld`." #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "Modifique sua classe ``HelloWorld`` dentro de ``src/helloworld/app.py`` para que fique assim:" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "Modifique sua classe `HelloWorld` dentro de `src/helloworld/app.py` para que fique assim:" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 msgid "Let's look in detail at what has changed." msgstr "Vamos ver em detalhes o que mudou." #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -msgid "We're still creating a main box; however, we are now applying a style::" -msgstr "Ainda estamos fazendo o container principal; porém, agora estamos aplicando um estilo::" +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "Ainda estamos fazendo o container principal; porém, agora estamos aplicando um estilo:" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "O Toga possui um sistema de layout interno denominado \"Pack\". Seu funcionamento se assemelha ao CSS. Você define objetos em uma hierarquia - no HTML, os objetos são ``
`` e ````, e outros elementos do DOM; enquanto no Toga, são widgets e containers. Estilos podem ser atribuídos a cada elemento individualmente. Neste caso específico, estamos indicando que o container é um ``'COLUMN'`` - isto é, ele ocupará toda a largura disponível e aumentará sua altura à medida que conteúdo for adicionado, porém buscando sempre ser o mais compacto possível." +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "O Toga possui um sistema de layout interno denominado \"Pack\". Seu funcionamento se assemelha ao CSS. Você define objetos em uma hierarquia - no HTML, os objetos são `
` e ``, e outros elementos do DOM; enquanto no Toga, são widgets e containers. Estilos podem ser atribuídos a cada elemento individualmente. Neste caso específico, estamos indicando que o container é um `'COLUMN'` - isto é, ele ocupará toda a largura disponível e aumentará sua altura à medida que conteúdo for adicionado, porém buscando sempre ser o mais compacto possível." #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" msgstr "" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets::" -msgstr "A seguir, vamos definir dois widgets::" +msgid "Next, we define a couple of widgets:" +msgstr "A seguir, vamos definir dois widgets:" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 #, fuzzy @@ -170,17 +170,17 @@ msgid "The TextInput is assigned as an instance variable of the class. This give msgstr "O TextInput é atribuído como uma variável de instância da classe. Isso nos permite acessar facilmente a instância do widget, o que será utilizado em breve." #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -msgid "Next, we define a box to hold these two widgets::" -msgstr "Após isso, definimos um container para colocar esses dois widgets::" +msgid "Next, we define a box to hold these two widgets:" +msgstr "Após isso, definimos um container para colocar esses dois widgets:" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 #, fuzzy -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "A container ``name_box`` é parecido com o container principal, só que agora ele é do tipo ``ROW``. Isso significa que o conteúdo será adicionado horizontalmente e tentará ficar o mais estreito possível. Esse container também possui preenchimento - 5px em todos os lados." +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "A container `name_box` é parecido com o container principal, só que agora ele é do tipo `ROW`. Isso significa que o conteúdo será adicionado horizontalmente e tentará ficar o mais estreito possível. Esse container também possui preenchimento - 5px em todos os lados." #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -msgid "Now we define a button::" -msgstr "Agora definimos um botão::" +msgid "Now we define a button:" +msgstr "Agora definimos um botão:" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 #, fuzzy @@ -188,18 +188,18 @@ msgid "The button also has 5px of margin on all sides. We also define a *handler msgstr "O botão também possui 5px de preenchimento em todos os lados. Além disso, definimos um *gatilho* - um método a ser invocado quando o botão for pressionado." #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -msgid "Then, we add the name box and the button to the main box::" -msgstr "Então, adicionamos o container name_box e o botão ao container principal::" +msgid "Then, we add the name box and the button to the main box:" +msgstr "Então, adicionamos o container name_box e o botão ao container principal:" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" -msgstr "Com isso, finalizamos o layout; o restante do código do método startup() permanece como antes - definindo uma MainWindow (Janela principal) e a atribuição do container principal como conteúdo dessa janela::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "Com isso, finalizamos o layout; o restante do código do método startup() permanece como antes - definindo uma MainWindow (Janela principal) e a atribuição do container principal como conteúdo dessa janela:" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" -msgstr "A última etapa consiste na definição do gatilho do botão. Um gatilho pode ser qualquer método, gerador ou corrotina assíncrona; ele aceita como argumento o widget que gerou o evento e será invocado sempre que o botão for pressionado::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "A última etapa consiste na definição do gatilho do botão. Um gatilho pode ser qualquer método, gerador ou corrotina assíncrona; ele aceita como argumento o widget que gerou o evento e será invocado sempre que o botão for pressionado:" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." @@ -226,8 +226,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." -msgstr "Dessa vez, você vai reparar que as dependências *não são* instaladas. O Briefcase consegue identificar se o app já foi aberto antes e, pra economizar tempo, só executa ele. Se você adicionar novas dependências, pode garantir que elas sejam instaladas usando a opção ``-r`` quando executar o comando ``briefcase dev``." +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "Dessa vez, você vai reparar que as dependências *não são* instaladas. O Briefcase consegue identificar se o app já foi aberto antes e, pra economizar tempo, só executa ele. Se você adicionar novas dependências, pode garantir que elas sejam instaladas usando a opção `-r` quando executar o comando `briefcase dev`." #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de msgid "This should open a GUI window:" @@ -250,7 +250,7 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "Se você escrever um nome na caixa de texto e clicar no botão da interface, vai ver uma mensagem aparecer no console onde você abriu a aplicação." #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc @@ -258,9 +258,9 @@ msgid "Next steps" msgstr "Próximos passos" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela somente funciona em nosso computador. Vamos empacotar esta aplicação para distribuição. No :doc:`Tutorial 3 `, encapsularemos nossa aplicação em um instalador independente, que poderemos enviar a amigos, clientes ou publicar em uma App Store." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela somente funciona em nosso computador. Vamos empacotar esta aplicação para distribuição. No [Tutorial 3][tutorial-3], encapsularemos nossa aplicação em um instalador independente, que poderemos enviar a amigos, clientes ou publicar em uma App Store." -#~ msgid "Lets do something more interesting with our ``HelloWorld`` app." +#~ msgid "Lets do something more interesting with our `HelloWorld` app." #~ msgstr "" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po index f93d3a74..27cbfc75 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po @@ -39,8 +39,8 @@ msgid "Creating your application scaffold" msgstr "Criando a estrutura da sua aplicação" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "Como esta é a primeira vez que estamos empacotando nossa aplicação, precisamos criar alguns arquivos de configuração e outras estruturas de suporte ao processo de empacotamento. No diretório ``helloworld``, execute:" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "Como esta é a primeira vez que estamos empacotando nossa aplicação, precisamos criar alguns arquivos de configuração e outras estruturas de suporte ao processo de empacotamento. No diretório `helloworld`, execute:" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -69,7 +69,7 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." msgstr "" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 @@ -109,8 +109,8 @@ msgid "As noted above, when Briefcase packages an app as a native Linux system p msgstr "" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "Ele **instalou os requisitos da aplicação**. Seu aplicativo pode especificar quaisquer módulos de terceiros necessários em tempo de execução. Estes serão instalados utilizando o ``pip`` no instalador da sua aplicação." +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "Ele **instalou os requisitos da aplicação**. Seu aplicativo pode especificar quaisquer módulos de terceiros necessários em tempo de execução. Estes serão instalados utilizando o `pip` no instalador da sua aplicação." #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." @@ -121,8 +121,8 @@ msgid "It **installed your resources needed by your application.** Lastly, it ad msgstr "Ele **instalou os recursos requeridos pela sua aplicação.** Por fim, são adicionados recursos adicionais requeridos pelo próprio instalador. Isso inclui elementos como ícones que serão anexados à aplicação final e imagens de tela de abertura." #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Assim que concluído, ao verificar o diretório do projeto, você deverá encontrar um diretório correspondente à sua plataforma (``macOS``, ``linux`` ou ``windows``) contendo arquivos adicionais. Esta é a configuração de empacotamento específica para a plataforma da sua aplicação." +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "Assim que concluído, ao verificar o diretório do projeto, você deverá encontrar um diretório correspondente à sua plataforma (`macOS`, `linux` ou `windows`) contendo arquivos adicionais. Esta é a configuração de empacotamento específica para a plataforma da sua aplicação." #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece msgid "Building your application" @@ -133,24 +133,24 @@ msgid "You can now compile your application. This step performs any binary compi msgstr "Agora você pode compilar sua aplicação. Este passo executa qualquer compilação binária necessária para que sua aplicação seja executável na plataforma de destino." #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "No macOS, o comando ``build`` não necessita *compilar* nada, mas precisa assinar o conteúdo do binário para que ele possa ser executado. Essa assinatura é do tipo *ad hoc* - só funcionará no *seu* computador. Se você deseja distribuir a aplicação para outras pessoas, será necessário fornecer uma assinatura completa." +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "No macOS, o comando `build` não necessita *compilar* nada, mas precisa assinar o conteúdo do binário para que ele possa ser executado. Essa assinatura é do tipo *ad hoc* - só funcionará no *seu* computador. Se você deseja distribuir a aplicação para outras pessoas, será necessário fornecer uma assinatura completa." #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "Após a conclusão dessa etapa, a pasta ``build`` conterá uma pasta ``helloworld-0.0.1`` com uma estrutura semelhante ao sistema de arquivos ``/usr`` do Linux. Ela conterá uma pasta ``bin`` com um binário ``helloworld``, além das pastas ``lib`` e ``share`` necessárias para dar suporte ao binário." +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "Após a conclusão dessa etapa, a pasta `build` conterá uma pasta `helloworld-0.0.1` com uma estrutura semelhante ao sistema de arquivos `/usr` do Linux. Ela conterá uma pasta `bin` com um binário `helloworld`, além das pastas `lib` e `share` necessárias para dar suporte ao binário." #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "No Windows, o comando ``build`` não precisa *compilar* nada, mas é preciso registrar alguns metadados para que a aplicação reconheça seu nome, versão e outras coisas assim." +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "No Windows, o comando `build` não precisa *compilar* nada, mas é preciso registrar alguns metadados para que a aplicação reconheça seu nome, versão e outras coisas assim." #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa msgid "Triggering antivirus" msgstr "Notificação de antivírus" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "Como esses metadados estão sendo gravados diretamente no binário pré-compilado que sai do modelo durante o comando ``create``, isso pode acionar o software antivírus em execução no computador e impedir que os metadados sejam gravados. Nesse caso, instrua o antivírus a permitir que a ferramenta (denominada ``rcedit-x64.exe``) seja executada e execute novamente o comando acima." +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "Como esses metadados estão sendo gravados diretamente no binário pré-compilado que sai do modelo durante o comando `create`, isso pode acionar o software antivírus em execução no computador e impedir que os metadados sejam gravados. Nesse caso, instrua o antivírus a permitir que a ferramenta (denominada `rcedit-x64.exe`) seja executada e execute novamente o comando acima." #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 msgid "Running your app" @@ -162,8 +162,8 @@ msgstr "Agora você pode utilizar o Briefcase para executar sua aplicação:" #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "Isso iniciará a execução de seu aplicativo nativo, usando a saída do comando ``build``." +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "Isso iniciará a execução de seu aplicativo nativo, usando a saída do comando `build`." #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 #, fuzzy @@ -171,7 +171,7 @@ msgid "You might notice some small differences in the way your application looks msgstr "Você pode notar algumas pequenas diferenças na aparência do seu aplicativo quando ele estiver em execução. Por exemplo, os ícones e o nome exibidos pelo sistema operacional podem ser ligeiramente diferentes daqueles vistos durante a execução no modo de desenvolvedor. Isso também ocorre porque você está usando o aplicativo empacotado, e não apenas executando o código Python. Do ponto de vista do sistema operacional, agora você está executando \"um aplicativo\", não \"um programa Python\", e isso se reflete na aparência do aplicativo." #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -180,23 +180,23 @@ msgstr "Criando o seu instalador" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc #, fuzzy -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Agora você pode empacotar seu aplicativo para distribuição, usando o comando ``package``. O comando package faz qualquer compilação necessária para converter o projeto de andaime em um produto final e distribuível. Dependendo da plataforma, isso pode envolver a compilação de um instalador, a execução de assinatura de código ou outras tarefas de pré-distribuição." +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "Agora você pode empacotar seu aplicativo para distribuição, usando o comando `package`. O comando package faz qualquer compilação necessária para converter o projeto de andaime em um produto final e distribuível. Dependendo da plataforma, isso pode envolver a compilação de um instalador, a execução de assinatura de código ou outras tarefas de pré-distribuição." #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 #, fuzzy -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "A pasta ``dist`` conterá um arquivo chamado ``Hello World-0.0.1.dmg``. Se você localizar esse arquivo no Finder e clicar duas vezes em seu ícone, montará o DMG, fornecendo uma cópia do aplicativo Hello World e um link para a pasta Applications para facilitar a instalação. Arraste o arquivo do aplicativo para Applications e você terá instalado o aplicativo. Envie o arquivo DMG para um amigo e ele poderá fazer o mesmo." +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "A pasta `dist` conterá um arquivo chamado `Hello World-0.0.1.dmg`. Se você localizar esse arquivo no Finder e clicar duas vezes em seu ícone, montará o DMG, fornecendo uma cópia do aplicativo Hello World e um link para a pasta Applications para facilitar a instalação. Arraste o arquivo do aplicativo para Applications e você terá instalado o aplicativo. Envie o arquivo DMG para um amigo e ele poderá fazer o mesmo." #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 #, fuzzy -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "Neste exemplo, usamos a opção ``--adhoc-sign``, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre `Configuração de uma identidade de assinatura de código do macOS `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 #, fuzzy @@ -205,8 +205,8 @@ msgstr "A saída da etapa do pacote será ligeiramente diferente, dependendo de #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c #, fuzzy -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "A pasta ``dist`` conterá o arquivo ``.deb`` que foi gerado." +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "A pasta `dist` conterá o arquivo `.deb` que foi gerado." #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee #, fuzzy @@ -215,8 +215,8 @@ msgstr "Se estiver em uma distribuição baseada em RHEL, você verá:" #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 #, fuzzy -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "A pasta ``dist`` conterá o arquivo ``.rpm`` que foi gerado." +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "A pasta `dist` conterá o arquivo `.rpm` que foi gerado." #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 #, fuzzy @@ -225,8 +225,8 @@ msgstr "Se estiver em uma distribuição baseada no Arch, você verá:" #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 #, fuzzy -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "A pasta ``dist`` conterá o arquivo ``.pkg.tar.zst`` que foi gerado." +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "A pasta `dist` conterá o arquivo `.pkg.tar.zst` que foi gerado." #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae #, fuzzy @@ -240,8 +240,8 @@ msgstr "Se quiser criar um pacote para uma distribuição Linux diferente da que #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 #, fuzzy -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Os instaladores oficiais do `Docker Engine `__ estão disponíveis para uma série de distribuições Unix. Siga as instruções para sua plataforma; no entanto, certifique-se de não instalar o Docker no modo \"sem raiz\"." +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "Os instaladores oficiais do [Docker Engine]{1} estão disponíveis para uma série de distribuições Unix. Siga as instruções para sua plataforma; no entanto, certifique-se de não instalar o Docker no modo \"sem raiz\"." #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe #, fuzzy @@ -250,8 +250,8 @@ msgstr "Depois de instalar o Docker, você deve ser capaz de iniciar um contêin #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 #, fuzzy -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "mostrará um prompt do Unix (algo como ``root@84444e31cff9:/#``) dentro de um contêiner do Docker do Ubuntu 22.04. Digite Ctrl-D para sair do Docker e retornar ao seu shell local." +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "mostrará um prompt do Unix (algo como `root@84444e31cff9:/#`) dentro de um contêiner do Docker do Ubuntu 22.04. Digite Ctrl-D para sair do Docker e retornar ao seu shell local." #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 #, fuzzy @@ -260,23 +260,23 @@ msgstr "Depois de instalar o Docker, você pode usar o Briefcase para criar um p #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "Isso fará o download da imagem do Docker para o sistema operacional selecionado, criará um contêiner capaz de executar as compilações do Briefcase e compilará o pacote do aplicativo dentro da imagem. Após a conclusão, a pasta ``dist`` conterá o pacote para a distribuição Linux de destino." +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "Isso fará o download da imagem do Docker para o sistema operacional selecionado, criará um contêiner capaz de executar as compilações do Briefcase e compilará o pacote do aplicativo dentro da imagem. Após a conclusão, a pasta `dist` conterá o pacote para a distribuição Linux de destino." #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 #, fuzzy msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "Neste exemplo, usamos a opção ``--adhoc-sign``, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." +msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre `Configuração de uma identidade de assinatura de código do macOS `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c #, fuzzy -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Quando essa etapa for concluída, a pasta ``dist`` conterá um arquivo chamado ``Hello_World-0.0.1.msi``. Se você clicar duas vezes nesse instalador para executá-lo, deverá passar por um processo familiar de instalação do Windows. Após a conclusão da instalação, haverá uma entrada \"Hello World\" em seu menu Iniciar." +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "Quando essa etapa for concluída, a pasta `dist` conterá um arquivo chamado `Hello_World-0.0.1.msi`. Se você clicar duas vezes nesse instalador para executá-lo, deverá passar por um processo familiar de instalação do Windows. Após a conclusão da instalação, haverá uma entrada \"Hello World\" em seu menu Iniciar." #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" @@ -284,9 +284,9 @@ msgstr "Próximos passos" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop. Mas o que acontece quando precisamos atualizar o código em nosso aplicativo? Como podemos colocar essas atualizações em nosso aplicativo empacotado? Consulte o :doc:`Tutorial 4 <./tutorial-4>` para descobrir..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop. Mas o que acontece quando precisamos atualizar o código em nosso aplicativo? Como podemos colocar essas atualizações em nosso aplicativo empacotado? Consulte o [Tutorial 4][./tutorial-4] para descobrir..." -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." #~ msgstr "" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po index 5a70753c..57d290db 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po @@ -44,11 +44,11 @@ msgstr "Atualmente, nosso aplicativo imprime no console quando você pressiona o #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "Vamos adicionar uma caixa de diálogo para dizer olá, em vez de escrever no console. Modifique o retorno de chamada ``say_hello`` para que ele tenha a seguinte aparência::" +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "Vamos adicionar uma caixa de diálogo para dizer olá, em vez de escrever no console. Modifique o retorno de chamada `say_hello` para que ele tenha a seguinte aparência:" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -58,8 +58,8 @@ msgstr "Isso instrui o Toga a abrir uma caixa de diálogo modal quando o botão #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 #, fuzzy -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Se você executar ``briefcase dev``, digitar um nome e pressionar o botão, verá a nova caixa de diálogo:" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "Se você executar `briefcase dev`, digitar um nome e pressionar o botão, verá a nova caixa de diálogo:" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -96,13 +96,13 @@ msgstr "Caixa de diálogo Hello World Tutorial 4, no Windows" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 #, fuzzy -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "No entanto, se você executar o ``briefcase run``, a caixa de diálogo não será exibida." +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "No entanto, se você executar o `briefcase run`, a caixa de diálogo não será exibida." #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a #, fuzzy -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Por que isso acontece? Bem, o ``briefcase dev`` opera executando seu código no local - ele tenta produzir o ambiente de tempo de execução mais realista possível para seu código, mas não fornece nem usa nenhuma infraestrutura da plataforma para empacotar seu código como um aplicativo. Parte do processo de empacotamento do aplicativo envolve a cópia do código *para* o pacote de aplicativos e, no momento, o aplicativo ainda contém o código antigo." +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "Por que isso acontece? Bem, o `briefcase dev` opera executando seu código no local - ele tenta produzir o ambiente de tempo de execução mais realista possível para seu código, mas não fornece nem usa nenhuma infraestrutura da plataforma para empacotar seu código como um aplicativo. Parte do processo de empacotamento do aplicativo envolve a cópia do código *para* o pacote de aplicativos e, no momento, o aplicativo ainda contém o código antigo." #: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 #, fuzzy @@ -111,18 +111,18 @@ msgstr "Portanto, precisamos dizer ao briefcase para atualizar seu aplicativo, c #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "Se o Briefcase não conseguir encontrar o modelo de andaime, ele invocará automaticamente o ``create`` para gerar um novo andaime." +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "Se o Briefcase não conseguir encontrar o modelo de andaime, ele invocará automaticamente o `create` para gerar um novo andaime." #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 #, fuzzy -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." -msgstr "Agora que atualizamos o código do instalador, podemos executar o ``briefcase build`` para recompilar o aplicativo, o ``briefcase run`` para executar o aplicativo atualizado e o ``briefcase package`` para reembalar o aplicativo para distribuição." +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "Agora que atualizamos o código do instalador, podemos executar o `briefcase build` para recompilar o aplicativo, o `briefcase run` para executar o aplicativo atualizado e o `briefcase package` para reembalar o aplicativo para distribuição." #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 #, fuzzy -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Usuários do macOS, lembrem-se de que, conforme observado em :doc:`Tutorial 3 `, para o tutorial, recomendamos executar o ``briefcase package`` com o sinalizador ``--adhoc-sign`` para evitar a complexidade da configuração de uma identidade de assinatura de código e manter o tutorial o mais simples possível)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(Usuários do macOS, lembrem-se de que, conforme observado em [Tutorial 3][tutorial-3], para o tutorial, recomendamos executar o `briefcase package` com o sinalizador `--adhoc-sign` para evitar a complexidade da configuração de uma identidade de assinatura de código e manter o tutorial o mais simples possível)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 #, fuzzy @@ -131,33 +131,33 @@ msgstr "Atualize e execute em uma única etapa" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." -msgstr "Se estiver iterando rapidamente as alterações no código, provavelmente desejará fazer uma alteração no código, atualizar o aplicativo e executá-lo novamente de imediato. Para a maioria das finalidades, o modo de desenvolvedor (``briefcase dev``) será a maneira mais fácil de fazer esse tipo de iteração rápida; no entanto, se estiver testando algo sobre como o aplicativo é executado como um binário nativo ou procurando um bug que só se manifesta quando o aplicativo está no formato empacotado, talvez seja necessário usar chamadas repetidas para ``briefcase run``. Para simplificar o processo de atualização e execução do aplicativo empacotado, o Briefcase tem um atalho para suportar esse padrão de uso - a opção ``-u`` (ou ``--update``) no comando ``run``." +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "Se estiver iterando rapidamente as alterações no código, provavelmente desejará fazer uma alteração no código, atualizar o aplicativo e executá-lo novamente de imediato. Para a maioria das finalidades, o modo de desenvolvedor (`briefcase dev`) será a maneira mais fácil de fazer esse tipo de iteração rápida; no entanto, se estiver testando algo sobre como o aplicativo é executado como um binário nativo ou procurando um bug que só se manifesta quando o aplicativo está no formato empacotado, talvez seja necessário usar chamadas repetidas para `briefcase run`. Para simplificar o processo de atualização e execução do aplicativo empacotado, o Briefcase tem um atalho para suportar esse padrão de uso - a opção `-u` (ou `--update`) no comando `run`." #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." -msgstr "Vamos tentar fazer outra alteração. Você deve ter notado que, se não digitar um nome na caixa de entrada de texto, a caixa de diálogo dirá \"Hello, \". Vamos modificar a função ``say_hello`` novamente para lidar com esse caso extremo." +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "Vamos tentar fazer outra alteração. Você deve ter notado que, se não digitar um nome na caixa de entrada de texto, a caixa de diálogo dirá \"Hello, \". Vamos modificar a função `say_hello` novamente para lidar com esse caso extremo." #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db #, fuzzy -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "Na parte superior do arquivo, entre as importações e a definição da ``classe HelloWorld``, adicione um método utilitário para gerar uma saudação apropriada, dependendo do valor do nome que foi fornecido::" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "Na parte superior do arquivo, entre as importações e a definição da `classe HelloWorld`, adicione um método utilitário para gerar uma saudação apropriada, dependendo do valor do nome que foi fornecido:" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e #, fuzzy -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "Em seguida, modifique a chamada de retorno ``say_hello`` para usar esse novo método utilitário::" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "Em seguida, modifique a chamada de retorno `say_hello` para usar esse novo método utilitário:" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 #, fuzzy -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Execute seu aplicativo no modo de desenvolvimento (com ``briefcase dev``) para confirmar que a nova lógica funciona; em seguida, atualize, crie e execute o aplicativo com um único comando:" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "Execute seu aplicativo no modo de desenvolvimento (com `briefcase dev`) para confirmar que a nova lógica funciona; em seguida, atualize, crie e execute o aplicativo com um único comando:" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 #, fuzzy -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." -msgstr "O comando package também aceita o argumento ``-u``, portanto, se você fizer uma alteração no código do aplicativo e quiser reempacotar imediatamente, poderá executar ``briefcase package -u``." +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "O comando package também aceita o argumento `-u`, portanto, se você fizer uma alteração no código do aplicativo e quiser reempacotar imediatamente, poderá executar `briefcase package -u`." #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -170,6 +170,6 @@ msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataform #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 #, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Mas e quanto ao celular? No :doc:`Tutorial 5 `, converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." +msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "Mas e quanto ao celular? No [Tutorial 5][tutorial-5/index], converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po index 67568eed..ef92d378 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -39,8 +39,8 @@ msgstr "Criar um aplicativo Android e compilá-lo" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 #, fuzzy -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "Primeiro, execute o comando ``create``. Isso faz o download de um modelo de aplicativo Android e adiciona seu código Python a ele." +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "Primeiro, execute o comando `create`. Isso faz o download de um modelo de aplicativo Android e adiciona seu código Python a ele." #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -71,18 +71,18 @@ msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f #, fuzzy -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Quando você executa o ``briefcase create android`` pela primeira vez, o Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos arquivos e o tempo de download podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a Internet). Quando o download for concluído, você será solicitado a aceitar a licença do Android SDK do Google." +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "Quando você executa o `briefcase create android` pela primeira vez, o Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos arquivos e o tempo de download podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a Internet). Quando o download for concluído, você será solicitado a aceitar a licença do Android SDK do Google." #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 #, fuzzy -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Quando isso for concluído, teremos um diretório ``build\\helloworld\\android\\gradle`` em nosso projeto, que conterá um projeto Android com uma configuração de compilação do Gradle. Esse projeto conterá o código do seu aplicativo e um pacote de suporte que contém o interpretador Python." +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "Quando isso for concluído, teremos um diretório `build\\helloworld\\android\\gradle` em nosso projeto, que conterá um projeto Android com uma configuração de compilação do Gradle. Esse projeto conterá o código do seu aplicativo e um pacote de suporte que contém o interpretador Python." #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 #, fuzzy -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "Em seguida, podemos usar o comando ``build`` do Briefcase para compilar isso em um arquivo de aplicativo APK para Android." +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "Em seguida, podemos usar o comando `build` do Briefcase para compilar isso em um arquivo de aplicativo APK para Android." #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 #, fuzzy @@ -91,8 +91,8 @@ msgstr "O Gradle pode parecer travado" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 #, fuzzy -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante a etapa ``briefcase build android``, o Gradle (a ferramenta de compilação da plataforma Android) imprimirá ``CONFIGURING: 100%`` e parecerá não estar fazendo nada. Não se preocupe, ele não está travado - está baixando mais componentes do Android SDK. Dependendo da velocidade da sua conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que você executar o ``build``; as ferramentas são armazenadas em cache e, na próxima compilação, as versões armazenadas em cache serão usadas." +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "Durante a etapa `briefcase build android`, o Gradle (a ferramenta de compilação da plataforma Android) imprimirá `CONFIGURING: 100%` e parecerá não estar fazendo nada. Não se preocupe, ele não está travado - está baixando mais componentes do Android SDK. Dependendo da velocidade da sua conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que você executar o `build`; as ferramentas são armazenadas em cache e, na próxima compilação, as versões armazenadas em cache serão usadas." #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 #, fuzzy @@ -101,23 +101,23 @@ msgstr "Execute o aplicativo em um dispositivo virtual" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 #, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Agora estamos prontos para executar nosso aplicativo. Você pode usar o comando ``run`` do Briefcase para executar o aplicativo em um dispositivo Android. Vamos começar com a execução em um emulador de Android." +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "Agora estamos prontos para executar nosso aplicativo. Você pode usar o comando `run` do Briefcase para executar o aplicativo em um dispositivo Android. Vamos começar com a execução em um emulador de Android." #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d #, fuzzy -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Para executar seu aplicativo, execute ``briefcase run android``. Ao fazer isso, será exibida uma lista de dispositivos nos quais você pode executar o aplicativo. O último item sempre será uma opção para criar um novo emulador de Android." +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "Para executar seu aplicativo, execute `briefcase run android`. Ao fazer isso, será exibida uma lista de dispositivos nos quais você pode executar o aplicativo. O último item sempre será uma opção para criar um novo emulador de Android." #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 #, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." -msgstr "Agora podemos escolher o dispositivo desejado. Selecione a opção \"Create a new Android emulator\" e aceite a opção padrão para o nome do dispositivo (``beePhone``)." +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "Agora podemos escolher o dispositivo desejado. Selecione a opção \"Create a new Android emulator\" e aceite a opção padrão para o nome do dispositivo (`beePhone`)." #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc #, fuzzy -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "O ``run`` do Briefcase inicializará automaticamente o dispositivo virtual. Quando o dispositivo estiver sendo inicializado, você verá o logotipo do Android:" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "O `run` do Briefcase inicializará automaticamente o dispositivo virtual. Quando o dispositivo estiver sendo inicializado, você verá o logotipo do Android:" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -157,7 +157,7 @@ msgstr "O emulador não foi iniciado!" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." msgstr "O emulador do Android é um software complexo que depende de vários recursos de hardware e do sistema operacional - recursos que podem não estar disponíveis ou habilitados em máquinas mais antigas. Se tiver alguma dificuldade para iniciar o emulador do Android, consulte a seção \"Requisitos e recomendações\" da documentação do desenvolvedor do Android." #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a @@ -177,8 +177,8 @@ msgstr "Aplicativo de demonstração totalmente lançado" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário verificar o terminal em que você executou o ``briefcase run`` e procurar mensagens de erro." +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário verificar o terminal em que você executou o `briefcase run` e procurar mensagens de erro." #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." @@ -186,8 +186,8 @@ msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "No futuro, se você quiser executar nesse dispositivo sem usar o menu, poderá fornecer o nome do emulador ao Briefcase, usando ``briefcase run android -d @beePhone`` para executar diretamente no dispositivo virtual." +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "No futuro, se você quiser executar nesse dispositivo sem usar o menu, poderá fornecer o nome do emulador ao Briefcase, usando `briefcase run android -d @beePhone` para executar diretamente no dispositivo virtual." #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 #, fuzzy @@ -216,18 +216,18 @@ msgstr "Ativar a depuração USB" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 #, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "Detalhes sobre como fazer essas alterações podem ser encontrados `na documentação do desenvolvedor do Android `__." +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "Detalhes sobre como fazer essas alterações podem ser encontrados [na documentação do desenvolvedor do Android]{1}." #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando você executar o ``briefcase run android``." +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando você executar o `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "Aqui podemos ver um novo dispositivo físico com seu número de série na lista de implantação - neste caso, um Pixel 3a. No futuro, se quiser executar nesse dispositivo sem usar o menu, você poderá fornecer o número de série do telefone ao Briefcase (nesse caso, ``briefcase run android -d 94ZZY0LNE8``). Isso será executado diretamente no dispositivo, sem avisos." +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "Aqui podemos ver um novo dispositivo físico com seu número de série na lista de implantação - neste caso, um Pixel 3a. No futuro, se quiser executar nesse dispositivo sem usar o menu, você poderá fornecer o número de série do telefone ao Briefcase (nesse caso, `briefcase run android -d 94ZZY0LNE8`). Isso será executado diretamente no dispositivo, sem avisos." #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd #, fuzzy @@ -241,8 +241,8 @@ msgstr "Se o seu dispositivo não aparecer nessa lista, você não ativou a depu #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "Se o seu dispositivo aparecer, mas estiver listado como \"Dispositivo desconhecido (não autorizado para desenvolvimento)\", o modo de desenvolvedor não foi ativado corretamente. Execute novamente `as etapas para ativar as opções de desenvolvedor `__ e execute novamente ``briefcase run android``." +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "Se o seu dispositivo aparecer, mas estiver listado como \"Dispositivo desconhecido (não autorizado para desenvolvimento)\", o modo de desenvolvedor não foi ativado corretamente. Execute novamente [as etapas para ativar as opções de desenvolvedor]{1} e execute novamente `briefcase run android`." #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" @@ -250,6 +250,6 @@ msgstr "Próximos passos" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte :doc:`Tutorial 6 <../tutorial-6>` para descobrir..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 44ed426c..fba83ccb 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -23,7 +23,7 @@ msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "Tutorial 5 - Levando para o Mobile: iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae @@ -33,23 +33,23 @@ msgstr "Depois de instalar o Xcode, podemos pegar nosso aplicativo e implantá-l #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 #, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "O processo de implantação de um aplicativo no iOS é muito semelhante ao processo de implantação como um aplicativo de desktop. Primeiro, você executa o comando ``create``, mas, desta vez, especificamos que queremos criar um aplicativo iOS:" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "O processo de implantação de um aplicativo no iOS é muito semelhante ao processo de implantação como um aplicativo de desktop. Primeiro, você executa o comando `create`, mas, desta vez, especificamos que queremos criar um aplicativo iOS:" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 #, fuzzy -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Quando isso for concluído, teremos um diretório ``build/helloworld/ios/xcode`` contendo um projeto Xcode, bem como as bibliotecas de suporte e o código do aplicativo necessários para o aplicativo." +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "Quando isso for concluído, teremos um diretório `build/helloworld/ios/xcode` contendo um projeto Xcode, bem como as bibliotecas de suporte e o código do aplicativo necessários para o aplicativo." #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d #, fuzzy -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "Em seguida, você pode usar o Briefcase para compilar o aplicativo usando ``briefcase build iOS``:" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "Em seguida, você pode usar o Briefcase para compilar o aplicativo usando `briefcase build iOS`:" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed #, fuzzy -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Agora estamos prontos para executar nosso aplicativo, usando o ``briefcase run iOS``. Será solicitado que você selecione um dispositivo para o qual compilar; se você tiver simuladores para várias versões do SDK do iOS instalados, também poderá ser perguntado qual versão do iOS deseja usar como alvo. As opções mostradas a você podem ser diferentes das opções mostradas nesta saída - no mínimo, a lista de dispositivos provavelmente será diferente. Para nossos propósitos, não importa qual simulador você escolherá." +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "Agora estamos prontos para executar nosso aplicativo, usando o `briefcase run iOS`. Será solicitado que você selecione um dispositivo para o qual compilar; se você tiver simuladores para várias versões do SDK do iOS instalados, também poderá ser perguntado qual versão do iOS deseja usar como alvo. As opções mostradas a você podem ser diferentes das opções mostradas nesta saída - no mínimo, a lista de dispositivos provavelmente será diferente. Para nossos propósitos, não importa qual simulador você escolherá." #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 #, fuzzy @@ -67,8 +67,8 @@ msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "Se você souber antecipadamente qual simulador de iOS deseja usar, poderá dizer ao Briefcase para usar esse simulador fornecendo uma opção ``-d`` (ou ``--device``). Usando o nome do dispositivo que você selecionou ao criar o aplicativo, execute:" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "Se você souber antecipadamente qual simulador de iOS deseja usar, poderá dizer ao Briefcase para usar esse simulador fornecendo uma opção `-d` (ou `--device`). Usando o nome do dispositivo que você selecionou ao criar o aplicativo, execute:" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 #, fuzzy @@ -86,12 +86,12 @@ msgstr "Próximos passos" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte :doc:`Tutorial 6 <../tutorial-6>` para descobrir..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." -#~ msgstr "Para compilar aplicativos iOS, precisaremos do Xcode, que está disponível gratuitamente na macOS App Store `__." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "Para compilar aplicativos iOS, precisaremos do Xcode, que está disponível gratuitamente [na macOS App Store]{1}." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po index 373c8296..7ffb13c6 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -42,9 +42,9 @@ msgstr "Android" msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Os aplicativos Android podem ser compilados no macOS, Windows ou Linux." -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`Vamos criar nosso aplicativo para iOS! `" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Vamos criar nosso aplicativo para iOS!][iOS]" -#~ msgid ":doc:`Let's build our app for Android! `" -#~ msgstr ":doc:`Vamos criar nosso aplicativo para Android! `" +#~ msgid "[Let's build our app for Android!][android]" +#~ msgstr "[Vamos criar nosso aplicativo para Android!][android]" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po index a55018a0..69007428 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po @@ -69,8 +69,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 0034a6c6fdf54c2ea2cd4cc09384f99d #, fuzzy -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "Isso abrirá um navegador da Web, apontando para `http://127.0.0.1:8080 `__:" +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "Isso abrirá um navegador da Web, apontando para [http://127.0.0.1:8080](http://127.0.0.1:8080):" #: ../../tutorial/tutorial-6.rst:-1 497aa7152b48453ba4b2c1f28cab0817 #, fuzzy @@ -88,14 +88,14 @@ msgstr "Como isso funciona?" #: ../../tutorial/tutorial-6.rst:159 94a41e02bcb447d8865ed42d40deb712 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." -msgstr "Este aplicativo da Web é um site estático - uma única página de origem HTML, com alguns recursos CSS e outros. O Briefcase iniciou um servidor da Web local para servir essa página para que o seu navegador possa visualizá-la. Se você quiser colocar essa página da Web em produção, poderá copiar o conteúdo da pasta ``www`` em qualquer servidor da Web que possa servir conteúdo estático." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +msgstr "Este aplicativo da Web é um site estático - uma única página de origem HTML, com alguns recursos CSS e outros. O Briefcase iniciou um servidor da Web local para servir essa página para que o seu navegador possa visualizá-la. Se você quiser colocar essa página da Web em produção, poderá copiar o conteúdo da pasta `www` em qualquer servidor da Web que possa servir conteúdo estático." #: ../../tutorial/tutorial-6.rst:165 457368c5d7494291b2411badef1db4ac #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." msgstr "" -"Mas quando você pressiona o botão, está executando código Python... como isso funciona? O Toga usa o `PyScript `__ para fornecer um interpretador Python no navegador. O Briefcase empacota o código do seu aplicativo como rodas que o PyScript pode carregar no navegador. Quando a página é carregada, o código do aplicativo é executado no navegador, criando a interface do usuário usando o DOM do navegador. Quando você clica em um botão, esse botão executa o código de " +"Mas quando você pressiona o botão, está executando código Python... como isso funciona? O Toga usa o [PyScript]{1} para fornecer um interpretador Python no navegador. O Briefcase empacota o código do seu aplicativo como rodas que o PyScript pode carregar no navegador. Quando a página é carregada, o código do aplicativo é executado no navegador, criando a interface do usuário usando o DOM do navegador. Quando você clica em um botão, esse botão executa o código de " "manipulação de eventos no navegador." #: ../../tutorial/tutorial-6.rst:173 122d17f0ad0d4e8ab0e442f96fad590b @@ -104,5 +104,5 @@ msgstr "Próximos passos" #: ../../tutorial/tutorial-6.rst:175 212de898d2df409dbbc74628b3ba00f4 #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." -msgstr "Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos móveis e na Web, ele é bastante simples e não envolve bibliotecas de terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em nosso aplicativo? Consulte o :doc:`Tutorial 7 ` para descobrir..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +msgstr "Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos móveis e na Web, ele é bastante simples e não envolve bibliotecas de terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em nosso aplicativo? Consulte o [Tutorial 7][tutorial-7] para descobrir..." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po index 79936de5..95eecd83 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po @@ -41,18 +41,18 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e #, fuzzy -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "Vamos adicionar uma chamada de API ``httpx`` ao nosso aplicativo. Adicione uma importação na parte superior do ``app.py`` para importar ``httpx``::" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "Vamos adicionar uma chamada de API `httpx` ao nosso aplicativo. Adicione uma importação na parte superior do `app.py` para importar `httpx`:" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Em seguida, modifique a chamada de retorno ``say_hello()`` para que fique assim::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Em seguida, modifique a chamada de retorno `say_hello()` para que fique assim:" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 #, fuzzy @@ -107,8 +107,8 @@ msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f #, fuzzy -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" -msgstr "O que aconteceu? Adicionamos o ``httpx`` ao nosso *código*, mas não o adicionamos ao nosso ambiente virtual de desenvolvimento. Podemos corrigir isso instalando o ``httpx`` com o ``pip`` e, em seguida, executando novamente o ``briefcase dev``:" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "O que aconteceu? Adicionamos o `httpx` ao nosso *código*, mas não o adicionamos ao nosso ambiente virtual de desenvolvimento. Podemos corrigir isso instalando o `httpx` com o `pip` e, em seguida, executando novamente o `briefcase dev`:" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -144,8 +144,8 @@ msgstr "Executando o aplicativo atualizado" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "Vamos empacotar esse código de aplicativo atualizado como um aplicativo autônomo. Como fizemos alterações no código, precisamos seguir as mesmas etapas do :doc:`Tutorial 4 `:" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "Vamos empacotar esse código de aplicativo atualizado como um aplicativo autônomo. Como fizemos alterações no código, precisamos seguir as mesmas etapas do [Tutorial 4][tutorial-4]:" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -206,8 +206,8 @@ msgstr "No entanto, quando o aplicativo for executado, você verá um erro no co #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "Mais uma vez, o aplicativo não foi iniciado porque o ``httpx`` foi instalado - mas por quê? Já não instalamos o ``httpx``?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "Mais uma vez, o aplicativo não foi iniciado porque o `httpx` foi instalado - mas por quê? Já não instalamos o `httpx`?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -216,8 +216,8 @@ msgstr "Temos, mas somente no ambiente de desenvolvimento. O ambiente de desenvo #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "A única maneira de garantir que outra pessoa tenha um ambiente Python que contenha tudo o que ela precisa é criar um ambiente Python completamente isolado. Isso significa que há uma instalação completamente isolada do Python e um conjunto completamente isolado de dependências. Isso é o que o Briefcase está construindo quando você executa o ``briefcase build`` - um ambiente Python isolado. Isso também explica por que o ``httpx`` não está instalado - ele foi instalado em seu ambiente de *desenvolvimento*, mas não no aplicativo empacotado." +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "A única maneira de garantir que outra pessoa tenha um ambiente Python que contenha tudo o que ela precisa é criar um ambiente Python completamente isolado. Isso significa que há uma instalação completamente isolada do Python e um conjunto completamente isolado de dependências. Isso é o que o Briefcase está construindo quando você executa o `briefcase build` - um ambiente Python isolado. Isso também explica por que o `httpx` não está instalado - ele foi instalado em seu ambiente de *desenvolvimento*, mas não no aplicativo empacotado." #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -231,43 +231,43 @@ msgstr "Atualização de dependências" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "No diretório raiz do seu aplicativo, há um arquivo chamado ``pyproject.toml``. Esse arquivo contém todos os detalhes de configuração do aplicativo que você forneceu quando executou originalmente o ``briefcase new``." +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "No diretório raiz do seu aplicativo, há um arquivo chamado `pyproject.toml`. Esse arquivo contém todos os detalhes de configuração do aplicativo que você forneceu quando executou originalmente o `briefcase new`." #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" -msgstr "o ``pyproject.toml`` é dividido em seções; uma das seções descreve as configurações do seu aplicativo::" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "o `pyproject.toml` é dividido em seções; uma das seções descreve as configurações do seu aplicativo:" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "A opção ``requires`` descreve as dependências do nosso aplicativo. É uma lista de cadeias de caracteres, especificando as bibliotecas (e, opcionalmente, as versões) das bibliotecas que você deseja incluir em seu aplicativo." +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "A opção `requires` descreve as dependências do nosso aplicativo. É uma lista de cadeias de caracteres, especificando as bibliotecas (e, opcionalmente, as versões) das bibliotecas que você deseja incluir em seu aplicativo." #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "Modifique a configuração ``requires`` para que fique assim::" +msgid "Modify the `requires` setting so that it reads:" +msgstr "Modifique a configuração `requires` para que fique assim:" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "Ao adicionar essa configuração, estamos dizendo ao Briefcase \"quando você compilar meu aplicativo, execute ``pip install httpx`` no pacote de aplicativos\". Qualquer coisa que seja uma entrada legal para ``pip install`` pode ser usada aqui - portanto, você poderia especificar:" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "Ao adicionar essa configuração, estamos dizendo ao Briefcase \"quando você compilar meu aplicativo, execute `pip install httpx` no pacote de aplicativos\". Qualquer coisa que seja uma entrada legal para `pip install` pode ser usada aqui - portanto, você poderia especificar:" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "Uma versão específica da biblioteca (por exemplo, ``\"httpx==0.19.0\"``);" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "Uma versão específica da biblioteca (por exemplo, `\"httpx==0.19.0\"`);" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "Um intervalo de versões de biblioteca (por exemplo, ``\"httpx>=0.19\"``);" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "Um intervalo de versões de biblioteca (por exemplo, `\"httpx>=0.19\"`);" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "Um caminho para um repositório git (por exemplo, ``\"git+https://github.com/encode/httpx\"``); ou" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "Um caminho para um repositório git (por exemplo, `\"git+https://github.com/encode/httpx\"`); ou" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 #, fuzzy @@ -276,84 +276,84 @@ msgstr "Um caminho de arquivo local (no entanto, esteja avisado: se você fornec #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Mais abaixo no ``pyproject.toml``, você notará outras seções que dependem do sistema operacional, como ``[tool.briefcase.app.helloworld.macOS]`` e ``[tool.briefcase.app.helloworld.windows]``. Essas seções *também* têm uma configuração ``requires``. Essas configurações permitem definir dependências adicionais específicas da plataforma. Assim, por exemplo, se você precisar de uma biblioteca específica da plataforma para lidar com algum aspecto do seu aplicativo, poderá especificar essa biblioteca na seção ``requires`` específica da plataforma, e essa configuração será usada somente para essa plataforma. Você notará que as bibliotecas ``toga`` são todas especificadas na seção ``requires`` específica da plataforma - isso ocorre porque as bibliotecas necessárias para exibir uma interface de usuário são específicas da plataforma." +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "Mais abaixo no `pyproject.toml`, você notará outras seções que dependem do sistema operacional, como `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Essas seções *também* têm uma configuração `requires`. Essas configurações permitem definir dependências adicionais específicas da plataforma. Assim, por exemplo, se você precisar de uma biblioteca específica da plataforma para lidar com algum aspecto do seu aplicativo, poderá especificar essa biblioteca na seção `requires` específica da plataforma, e essa configuração será usada somente para essa plataforma. Você notará que as bibliotecas `toga` são todas especificadas na seção `requires` específica da plataforma - isso ocorre porque as bibliotecas necessárias para exibir uma interface de usuário são específicas da plataforma." #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "No nosso caso, queremos que o ``httpx`` seja instalado em todas as plataformas, portanto, usamos a configuração ``requires`` em nível de aplicativo. As dependências no nível do aplicativo sempre serão instaladas; as dependências específicas da plataforma são instaladas *além* das dependências no nível do aplicativo." +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "No nosso caso, queremos que o `httpx` seja instalado em todas as plataformas, portanto, usamos a configuração `requires` em nível de aplicativo. As dependências no nível do aplicativo sempre serão instaladas; as dependências específicas da plataforma são instaladas *além* das dependências no nível do aplicativo." #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Agora que informamos o Briefcase sobre nossos requisitos adicionais, podemos tentar empacotar nosso aplicativo novamente. Certifique-se de que salvou suas alterações no ``pyproject.toml`` e, em seguida, atualize seu aplicativo novamente - desta vez, passando o sinalizador ``-r``. Isso diz ao Briefcase para atualizar os requisitos no aplicativo empacotado:" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "Agora que informamos o Briefcase sobre nossos requisitos adicionais, podemos tentar empacotar nosso aplicativo novamente. Certifique-se de que salvou suas alterações no `pyproject.toml` e, em seguida, atualize seu aplicativo novamente - desta vez, passando o sinalizador `-r`. Isso diz ao Briefcase para atualizar os requisitos no aplicativo empacotado:" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "Depois de atualizar, você pode executar ``briefcase build`` e ``briefcase run`` e verá o aplicativo empacotado com o novo comportamento de diálogo." +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "Depois de atualizar, você pode executar `briefcase build` e `briefcase run` e verá o aplicativo empacotado com o novo comportamento de diálogo." #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "A opção ``-r`` para atualizar os requisitos também é aceita pelos comandos ``build`` e ``run``, portanto, se quiser atualizar, compilar e executar em uma única etapa, você pode usar ``briefcase run -u -r``." +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "A opção `-r` para atualizar os requisitos também é aceita pelos comandos `build` e `run`, portanto, se quiser atualizar, compilar e executar em uma única etapa, você pode usar `briefcase run -u -r`." #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "Em plataformas de desktop (macOS, Windows, Linux), qualquer ``pip`` instalável pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, `suas opções são ligeiramente limitadas `__." +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "Em plataformas de desktop (macOS, Windows, Linux), qualquer `pip` instalável pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, [suas opções são ligeiramente limitadas]{1}." #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{2}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 #, fuzzy msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "O BeeWare pode fornecer binários para alguns módulos binários populares (incluindo ``numpy``, ``pandas`` e ``cryptography``). Normalmente, é possível compilar pacotes para plataformas móveis, mas isso não é fácil de configurar, o que está fora do escopo de um tutorial introdutório como este." +msgstr "O BeeWare pode fornecer binários para alguns módulos binários populares (incluindo `numpy`, `pandas` e `cryptography`). Normalmente, é possível compilar pacotes para plataformas móveis, mas isso não é fácil de configurar, o que está fora do escopo de um tutorial introdutório como este." #: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 msgid "Next steps" msgstr "Próximos passos" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "Acesso a uma API" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "Uma tarefa comum que um aplicativo precisará executar é fazer uma solicitação em uma API da Web para recuperar dados e exibir esses dados ao usuário. Como este é um aplicativo de brinquedo, não temos uma API *real* para trabalhar, portanto, usaremos a `{JSON} Placeholder API `__ como fonte de dados." +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "Uma tarefa comum que um aplicativo precisará executar é fazer uma solicitação em uma API da Web para recuperar dados e exibir esses dados ao usuário. Como este é um aplicativo de brinquedo, não temos uma API *real* para trabalhar, portanto, usaremos a [{JSON} Placeholder API]{1} como fonte de dados." -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "A API {JSON} Placeholder tem vários endpoints de API \"falsos\" que você pode usar como dados de teste. Uma dessas APIs é o ponto de extremidade ``/posts/``, que retorna publicações de blog falsas. Se você abrir ``https://jsonplaceholder.typicode.com/posts/42`` em seu navegador, obterá uma carga JSON que descreve uma única publicação - algum conteúdo `Lorum ipsum `__ para uma publicação de blog com ID 42." +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "A API {JSON} Placeholder tem vários endpoints de API \"falsos\" que você pode usar como dados de teste. Uma dessas APIs é o ponto de extremidade `/posts/`, que retorna publicações de blog falsas. Se você abrir `https://jsonplaceholder.typicode.com/posts/42` em seu navegador, obterá uma carga JSON que descreve uma única publicação - algum conteúdo [Lorum ipsum]{1} para uma publicação de blog com ID 42." #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." #~ msgstr "A biblioteca padrão do Python contém todas as ferramentas necessárias para acessar uma API. Entretanto, as APIs incorporadas são de nível muito baixo. Elas são boas implementações do protocolo HTTP, mas exigem que o usuário gerencie muitos detalhes de baixo nível, como redirecionamento de URL, sessões, autenticação e codificação de carga útil. Como um \"usuário normal de navegador\", você provavelmente está acostumado a considerar esses detalhes como garantidos, pois o navegador gerencia esses detalhes para você." -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "Como resultado, as pessoas desenvolveram bibliotecas de terceiros que envolvem as APIs incorporadas e fornecem uma API mais simples que se aproxima da experiência cotidiana do navegador. Vamos usar uma dessas bibliotecas para acessar a API {JSON} Placeholder - uma biblioteca chamada `httpx `__." +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "Como resultado, as pessoas desenvolveram bibliotecas de terceiros que envolvem as APIs incorporadas e fornecem uma API mais simples que se aproxima da experiência cotidiana do navegador. Vamos usar uma dessas bibliotecas para acessar a API {JSON} Placeholder - uma biblioteca chamada [httpx]{1}." -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "Isso alterará a chamada de retorno ``say_hello()`` para que, quando for chamada, ela o faça:" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "Isso alterará a chamada de retorno `say_hello()` para que, quando for chamada, ela o faça:" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "faça uma solicitação GET na API do espaço reservado JSON para obter o post 42;" @@ -373,6 +373,6 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "Resumindo: qualquer pacote Python *puro* (ou seja, pacotes que *não* contêm um módulo binário) pode ser usado sem dificuldade. No entanto, se sua dependência contiver um componente binário, ele deverá ser compilado; no momento, a maioria dos pacotes Python não oferece suporte à compilação para plataformas que não sejam de desktop." -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." -#~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o :doc:`Tutorial 8 ` para descobrir..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o [Tutorial 8][tutorial-8] para descobrir..." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po index 384590c7..ae4ee0aa 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po @@ -40,7 +40,7 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 @@ -49,24 +49,24 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos ``say_hello()`` para que ele tenha a seguinte aparência::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -86,7 +86,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -161,8 +161,8 @@ msgstr "Para entender por que isso acontece, precisamos nos aprofundar nos detal #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 #, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like::" -msgstr "Um aplicativo de GUI é, basicamente, um único loop que se parece com::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "Um aplicativo de GUI é, basicamente, um único loop que se parece com:" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 #, fuzzy @@ -171,13 +171,13 @@ msgstr "Esse loop é chamado de *Event Loop*. (Esses não são nomes de métodos #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "Quando você clica em um botão, arrasta uma barra de rolagem ou digita uma tecla, está gerando um \"evento\". Esse \"evento\" é colocado em uma fila, e o aplicativo processará a fila de eventos quando tiver a oportunidade de fazê-lo. O código do usuário que é acionado em resposta ao evento é chamado de *manipulador de eventos*. Esses manipuladores de eventos são invocados como parte da chamada ``process_events()``." +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "Quando você clica em um botão, arrasta uma barra de rolagem ou digita uma tecla, está gerando um \"evento\". Esse \"evento\" é colocado em uma fila, e o aplicativo processará a fila de eventos quando tiver a oportunidade de fazê-lo. O código do usuário que é acionado em resposta ao evento é chamado de *manipulador de eventos*. Esses manipuladores de eventos são invocados como parte da chamada `process_events()`." #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 #, fuzzy -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Depois que um aplicativo tiver processado todos os eventos disponíveis, ele ``redraw()`` a GUI. Isso leva em conta todas as alterações que os eventos causaram na exibição do aplicativo, bem como qualquer outra coisa que esteja acontecendo no sistema operacional - por exemplo, as janelas de outro aplicativo podem obscurecer ou revelar parte da janela do nosso aplicativo, e o redesenho do nosso aplicativo precisará refletir a parte da janela que está visível no momento." +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "Depois que um aplicativo tiver processado todos os eventos disponíveis, ele `redraw()` a GUI. Isso leva em conta todas as alterações que os eventos causaram na exibição do aplicativo, bem como qualquer outra coisa que esteja acontecendo no sistema operacional - por exemplo, as janelas de outro aplicativo podem obscurecer ou revelar parte da janela do nosso aplicativo, e o redesenho do nosso aplicativo precisará refletir a parte da janela que está visível no momento." #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 #, fuzzy @@ -221,8 +221,8 @@ msgstr "As funções assíncronas (conhecidas como *co-rotinas*) precisam ser ex #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "Em Python, a programação assíncrona é implementada usando as palavras-chave ``async`` e ``await`` e o módulo `asyncio `__ na biblioteca padrão. A palavra-chave ``async`` nos permite declarar que uma função é uma co-rotina assíncrona. A palavra-chave ``await`` fornece uma maneira de declarar quando existe uma oportunidade de mudar o contexto para outra co-rotina. O módulo `asyncio `__ fornece algumas outras ferramentas e primitivas úteis para codificação assíncrona." +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "Em Python, a programação assíncrona é implementada usando as palavras-chave `async` e `await` e o módulo [asyncio]{1} na biblioteca padrão. A palavra-chave `async` nos permite declarar que uma função é uma co-rotina assíncrona. A palavra-chave `await` fornece uma maneira de declarar quando existe uma oportunidade de mudar o contexto para outra co-rotina. O módulo [asyncio]{2} fornece algumas outras ferramentas e primitivas úteis para codificação assíncrona." #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -231,8 +231,8 @@ msgstr "Tornando o tutorial assíncrono" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 #, fuzzy -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" -msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos ``say_hello()`` para que ele tenha a seguinte aparência::" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 #, fuzzy @@ -241,20 +241,20 @@ msgstr "Há apenas 4 alterações nesse código em relação à versão anterior #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d #, fuzzy -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "O cliente criado é um ``AsyncClient()`` assíncrono, em vez de um ``Client()`` síncrono. Isso informa ao ``httpx`` que ele deve operar no modo assíncrono, e não no modo síncrono." +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "O cliente criado é um `AsyncClient()` assíncrono, em vez de um `Client()` síncrono. Isso informa ao `httpx` que ele deve operar no modo assíncrono, e não no modo síncrono." #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d #, fuzzy -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "O gerenciador de contexto usado para criar o cliente é marcado como ``async``. Isso informa ao Python que há uma oportunidade de liberar o controle à medida que o gerenciador de contexto entra e sai." +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "O gerenciador de contexto usado para criar o cliente é marcado como `async`. Isso informa ao Python que há uma oportunidade de liberar o controle à medida que o gerenciador de contexto entra e sai." #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -265,7 +265,7 @@ msgstr "A Toga permite que você use métodos regulares ou co-rotinas assíncron #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Se você salvar essas alterações e executar novamente o aplicativo (com o ``briefcase dev`` no modo de desenvolvimento ou atualizando e executando novamente o aplicativo empacotado), não haverá nenhuma alteração óbvia no aplicativo. No entanto, ao clicar no botão para acionar a caixa de diálogo, você poderá notar uma série de melhorias sutis:" +msgstr "Se você salvar essas alterações e executar novamente o aplicativo (com o `briefcase dev` no modo de desenvolvimento ou atualizando e executando novamente o aplicativo empacotado), não haverá nenhuma alteração óbvia no aplicativo. No entanto, ao clicar no botão para acionar a caixa de diálogo, você poderá notar uma série de melhorias sutis:" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 #, fuzzy @@ -288,7 +288,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "Se você tentar abrir um menu de aplicativo, o menu será exibido imediatamente." #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -340,35 +340,35 @@ msgid "So - where to from here?" msgstr "" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." msgstr "" #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." msgstr "" #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "Agora temos um aplicativo que é elegante e responsivo, mesmo quando está esperando em uma API lenta. Mas como podemos ter certeza de que o aplicativo continuará funcionando à medida que continuarmos a desenvolvê-lo? Como testamos nosso aplicativo? Consulte o :doc:`Tutorial 9 ` para descobrir..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "Agora temos um aplicativo que é elegante e responsivo, mesmo quando está esperando em uma API lenta. Mas como podemos ter certeza de que o aplicativo continuará funcionando à medida que continuarmos a desenvolvê-lo? Como testamos nosso aplicativo? Consulte o [Tutorial 9][tutorial-9] para descobrir..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "O método é definido como ``async def``, em vez de apenas ``def``. Isso informa ao Python que o método é uma co-rotina assíncrona." +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "O método é definido como `async def`, em vez de apenas `def`. Isso informa ao Python que o método é uma co-rotina assíncrona." -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "A chamada ``get`` é feita com uma palavra-chave ``await``. Isso instrui o aplicativo que, enquanto aguardamos a resposta da rede, ele pode liberar o controle para o loop de eventos." +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "A chamada `get` é feita com uma palavra-chave `await`. Isso instrui o aplicativo que, enquanto aguardamos a resposta da rede, ele pode liberar o controle para o loop de eventos." -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." #~ msgstr "" -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." #~ msgstr "" diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po index 888b88d9..dbb4e824 100644 --- a/locales/zh_CN/LC_MESSAGES/how-to/index.po +++ b/locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po index 111dae7d..80e8bdfd 100644 --- a/locales/zh_CN/LC_MESSAGES/index.po +++ b/locales/zh_CN/LC_MESSAGES/index.po @@ -31,8 +31,8 @@ msgid "Translations are available" msgstr "有翻译版本" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "如果您不熟悉中文,本教程提供了以下语言的翻译:`Deutsch `__ (德语)、`Español `__ (西班牙语)、`Français `__ (法语)、`Italiano `__ (意大利语)、`Português `__ (葡萄牙语)、`中文(简体) `__ (中文(简体))和 `中文(繁體) `__ (中文(繁体))。" +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "如果您不熟悉中文,本教程提供了以下语言的翻译:[Deutsch]{1} (德语)、[Español]{2} (西班牙语)、[Français]{3} (法语)、[Italiano]{4} (意大利语)、[Português]{5} (葡萄牙语)、[中文(简体)]{6} (中文(简体))和 [中文(繁體)]{7} (中文(繁体))。" #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 msgid "This is a machine translation!" @@ -44,8 +44,8 @@ msgstr "本教程版本由机器翻译生成。我们知道这并不理想,但 #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "如果您想帮助改进翻译,请联系我们!我们在 `Discord `__ 中有一个 ``#translations`` 频道;在那儿介绍自己,我们会邀请您加入翻译团队。" +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "如果您想帮助改进翻译,请联系我们!我们在 [Discord]{1} 中有一个 `#translations` 频道;在那儿介绍自己,我们会邀请您加入翻译团队。" #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 msgid "This is a translation!" @@ -64,16 +64,16 @@ msgid "BeeWare is not a single product, or tool, or library - it's a collection msgstr "BeeWare 并不是一个单独的产品、工具或库 (library),它是一系列工具和库的集合:每个工具和库都能协同工作,帮助您编写跨平台、具有本地图形用户界面的 Python 应用程序。它包括:" #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__,一个跨平台控件工具包;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1},一个跨平台控件工具包;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__,一个用于将 Python 项目打包为可分发给最终用户的的成品的工具;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1},一个用于将 Python 项目打包为可分发给最终用户的的成品的工具;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "用于访问平台原生库的库(如 `Rubicon ObjC `__);" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "用于访问平台原生库的库(如 [Rubicon ObjC]{1});" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." @@ -93,6 +93,6 @@ msgid "Let's go!" msgstr "让我们开始吧!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "准备好亲身体验 BeeWare 了吗?:doc:`让我们用 Python 构建一个跨平台应用程序! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "准备好亲身体验 BeeWare 了吗?[让我们用 Python 构建一个跨平台应用程序!][tutorial/tutorial-0]" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po index a01604ff..8498486f 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po @@ -58,11 +58,11 @@ msgid "Start a new project" msgstr "" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "" #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" msgstr "" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f @@ -70,7 +70,7 @@ msgid "Add code to take a photo" msgstr "" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" msgstr "" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd @@ -78,15 +78,15 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." msgstr "" #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." msgstr "" #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." msgstr "" #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 @@ -102,7 +102,7 @@ msgid "However, this request comes in two parts. The first is in the code we've msgstr "" #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" msgstr "" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b @@ -130,10 +130,10 @@ msgid "Adding more permissions" msgstr "" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "" -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.helloworld]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" #~ msgstr "" #~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po index f211da6c..f22e2392 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -36,10 +36,10 @@ msgstr "" "所需要的图标。" #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" -"编辑您的 ``project.toml``,在 ``[tool.briefcase.app.helloworld]`` " -"配置部分中,在 ``sources`` 的正上方添加一个 ``icon`` 配置项::" +"编辑您的 `project.toml`,在 `[tool.briefcase.app.helloworld]` " +"配置部分中,在 `sources` 的正上方添加一个 `icon` 配置项:" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." @@ -51,10 +51,10 @@ msgstr "" "。" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" -"我们现在可以重新运行 ``briefcase update`` — 但这次,我们传入 ``--update-" -"resources`` 标志,以告诉 Briefcase 我们想要安装新的应用资源(图标):" +"我们现在可以重新运行 `briefcase update` — 但这次,我们传入 `--update-" +"resources` 标志,以告诉 Briefcase 我们想要安装新的应用资源(图标):" #: ../../tutorial/topics/custom-icons.rst:36 #: ../../tutorial/topics/custom-icons.rst:203 @@ -96,7 +96,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -108,11 +108,11 @@ msgid "Icon of green snake with a light blue background" msgstr "在浅蓝背景上的绿蛇图标" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -120,30 +120,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**即将推出**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 [Tutorial 11` 了解更多..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "教程 10 - 制作属于自己的应用程序" @@ -151,5 +151,5 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "下一步" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po index 1272cbe3..64e47572 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po @@ -31,25 +31,25 @@ msgid "Running the test suite" msgstr "运行测试套件" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" msgstr "" -"原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:`" -"`src``\\ 和\\ ``tests``。``src``\\ 文件夹包含应用程序的代码;``tests``\\ " -"文件夹包含测试套件。在\\ ``tests``\\ 文件夹中,有一个名为\\ ``test_app.py``\\" -" 的文件,内容如下::" +"原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:[" +"`src`\\ 和\\ `tests`。`src`\\ 文件夹包含应用程序的代码;`tests`\\ " +"文件夹包含测试套件。在\\ `tests`\\ 文件夹中,有一个名为\\ `test_app.py`\\" +" 的文件,内容如下:" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgid "This is a `Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." msgstr "" -"这是一个 `Pytest `__ *测试用例* - " +"这是一个 [Pytest]{1} *测试用例* - " "用于验证应用程序的某些行为的可以执行的代码块。在本例中,该测试是一个占位符," "并不测试我们应用程序的任何内容,但我们可以执行该测试。" #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" msgstr "" -"我们可以使用 ``briefcase dev`` 的 ``--test`` " -"选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 ``-r`` " +"我们可以使用 `briefcase dev` 的 `--test` " +"选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` " "选项,以确保测试以来想也已安装:" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 @@ -82,10 +82,10 @@ msgstr "成功了!我们刚刚执行了一个测试,验证了 Python " "数学以我们预期的方式运行(真是松了一口气!)。" #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" msgstr "" -"让我们用一个测试来替换这个占位符测试,以验证我们的 ``greeting()`` " -"方法是否按照我们预期的方式运行。用以下内容替换 ``test_app.py`` 中的内容::" +"让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` " +"方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容:" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." @@ -93,37 +93,37 @@ msgstr "这将定义两个新测试,验证我们期望看到的两种行为: "的输出。" #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" msgstr "" -"现在我们可以重新运行测试套件。这一次,我们不需要提供 ``-r`` " -"选项,因为测试需求已经安装完毕;我们只需要使用 ``--test`` 选项:" +"现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` " +"选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "非常好!我们的 ``greeting()`` 实用程序方法如期工作了。" +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "非常好!我们的 `greeting()` 实用程序方法如期工作了。" #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 msgid "Test driven development" msgstr "测试驱动开发" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" msgstr "" "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位" -"用户添加特殊的问候语。首先,我们可以在 ``test_app.py`` " -"的底部为我们希望看到的新行为添加一个测试用例::" +"用户添加特殊的问候语。首先,我们可以在 `test_app.py` " +"的底部为我们希望看到的新行为添加一个测试用例:" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 msgid "Then, run the test suite with this new test:" msgstr "然后,用这个新测试运行测试套件:" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" msgstr "" "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 " -"\"BeeWare the IDEs of Python!\",但我们的 ``greeting()`` 实现却返回 " -"\"Hello, Brutus\"。让我们修改 ``src/helloworld/app.py`` 中 ``greeting()`` " -"的实现,使其具有新的行为::" +"\"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 " +"\"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` " +"的实现,使其具有新的行为:" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 msgid "If we run the tests again, we'll now see our tests pass:" @@ -141,23 +141,23 @@ msgstr "" "的代码在捆绑应用程序环境下是否也能正确运行。" #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" msgstr "" -"``-test`` 和 ``-r`` 选项也可以传递给 ``run`` 命令。如果使用 ``briefcase run " +"`-test` 和 `-r` 选项也可以传递给 `run` 命令。如果使用 `briefcase run " "--test " -"-r``,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发" +"-r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发" "环境中运行:" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." msgstr "" -"与 ``briefcase dev --test`` 一样,只有在第一次运行测试套件时才需要使用 ``-r``" +"与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r`" " 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." msgstr "" -"你也可以在移动后端使用 ``--test`` 选项:``briefcase run iOS --test`` 和 ``" +"你也可以在移动后端使用 `--test` 选项:`briefcase run iOS --test` 和 `" "briefcase run android --test`` 都可以在你选择的移动设备上运行测试套件。" #~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" @@ -166,11 +166,11 @@ msgstr "" #~ msgid "Some places to go from here:" #~ msgstr "从这里可以去一些地方:" -#~ msgid "Tutorials demonstrating `features of the Toga widget toolkit `__." -#~ msgstr "演示 \"Toga widget 工具包 `__ 的功能 \"的教程。" +#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" -#~ msgid "Details on the `options available when configuring your Briefcase project `__." -#~ msgstr "配置您的 Briefcase 项目 `__ 时可用选项的详细信息。" +#~ msgid "Details on the `options available when configuring your Briefcase project]{1}." +#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" #~ msgid "Next steps" #~ msgstr "下一步" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po index b4a4172a..4b7daefe 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po @@ -38,22 +38,18 @@ msgid "macOS" msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." msgstr "" -"如果您使用 macOS,您可以从 `Python 网站 `" +"如果您使用 macOS,您可以从 [Python 网站]{1}" "_\\ 获取官方安装程序。您可以使用 Python 3.10 以上时任何版本,但避免使用 " "Alpha、Beta 和候选版本。我们强烈建议使用 Python 3.13 或更新版本。" #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." msgstr "" -"安装 Python 也有很多其他不同的方法。您可以通过 `homebrew `__ 安装 Python,或使用 `pyenv `__ " -"来管理同一台机器上的多个 Python 安装,或使用 `Anaconda `__ 或 `Miniconda `__。*怎么*\\ 安装 Python 并不重要," -"只要可以从终端运行 ``python3`` 并获取到支持的、正常工作的 Python 解释器即可。" +"安装 Python 也有很多其他不同的方法。您可以通过 [homebrew]{1} 安装 Python,或使用 [pyenv]{2}" +"来管理同一台机器上的多个 Python 安装,或使用 [Anaconda]{3} 或 [Miniconda]{4}。*怎么*\\ 安装 Python 并不重要," +"只要可以从终端运行 `python3` 并获取到支持的、正常工作的 Python 解释器即可。" #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -74,8 +70,8 @@ msgid "Linux" msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "如果您使用的是 Linux,您将使用系统软件包管理器(Debian/Ubuntu/Mint 上的 ``apt``,Fedora 上的 ``dnf``,或 Arch 上的 ``pacman``)安装 Python。" +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "如果您使用的是 Linux,您将使用系统软件包管理器(Debian/Ubuntu/Mint 上的 `apt`,Fedora 上的 `dnf`,或 Arch 上的 `pacman`)安装 Python。" #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -98,8 +94,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "如果您使用的是 Windows,您可以从 `Python 网站 `_\\ 获取官方安装程序。您可以使用 Python 3.9 到 3.13 的任何稳定版本。我们还建议避免使用 Alpha、Beta 和候选版本,除非你\\ *真的*\\ 知道自己在做什么。" +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "如果您使用的是 Windows,您可以从 [Python 网站]{1}\\ 获取官方安装程序。您可以使用 Python 3.9 到 3.13 的任何稳定版本。我们还建议避免使用 Alpha、Beta 和候选版本,除非你\\ *真的*\\ 知道自己在做什么。" #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -108,8 +104,8 @@ msgstr "目前对 Raspberry Pi 的支持有限。" #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "如果您使用的是 macOS 或 Windows 操作系统,如何安装 Python 并不重要,重要的是您能从操作系统的命令提示符/终端应用程序中运行 ``python3``,并获得一个正常工作的 Python 解释器。" +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "如果您使用的是 macOS 或 Windows 操作系统,如何安装 Python 并不重要,重要的是您能从操作系统的命令提示符/终端应用程序中运行 `python3`,并获得一个正常工作的 Python 解释器。" #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 msgid "Install dependencies" @@ -152,8 +148,8 @@ msgid "Building BeeWare apps on Windows requires:" msgstr "在 Windows 上构建 BeeWare 应用程序需要:" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git**,一个版本控制系统。您可以从 `git-scm.com `__ 下载 Git。" +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git**,一个版本控制系统。您可以从 [git-scm.com]{1} 下载 Git。" #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." @@ -168,56 +164,56 @@ msgid "We're now going to create a virtual environment - a \"sandbox\" that we c msgstr "我们现在要创建一个虚拟环境--一个 \"沙箱\",用来将本教程的工作与我们的主 Python 安装隔离开来。如果我们将软件包安装到虚拟环境中,我们的主 Python 安装(以及计算机上的任何其他 Python 项目)将不会受到影响。如果我们把虚拟环境弄得一团糟,我们可以简单地删除它,然后重新开始,不会影响计算机上的任何其他 Python 项目,也不需要重新安装 Python。" #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." -msgstr "如果您不在使用 Python 3.12,将指示中的 ``-3.12`` 替换为您在使用的版本号。" +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgstr "如果您不在使用 Python 3.12,将指示中的 `-3.12` 替换为您在使用的版本号。" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 msgid "Errors running PowerShell Scripts" msgstr "运行 PowerShell 脚本时出现的错误" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error::" -msgstr "如果使用 PowerShell 时收到以下错误信息::" +msgid "If you're using PowerShell, and you receive the error:" +msgstr "如果使用 PowerShell 时收到以下错误信息:" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "您的 Windows 账户没有运行脚本的权限。要解决这个问题:" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." -msgstr "`以管理员身份运行 PowerShell `_." +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "[以管理员身份运行 PowerShell]{1}." #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "运行 ``set-executionpolicy RemoteSigned``" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "运行 `set-executionpolicy RemoteSigned`" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select ``Y`` to change the execution policy." -msgstr "选择 ``Y`` 更改执行策略。" +msgid "Select `Y` to change the execution policy." +msgstr "选择 `Y` 更改执行策略。" #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "完成后,您就可以在原来的 PowerShell 会话(或同一目录下的新会话)中重新运行 ``beeware-venv\\scripts\\activate.ps1``。" +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "完成后,您就可以在原来的 PowerShell 会话(或同一目录下的新会话)中重新运行 `beeware-venv\\scripts\\activate.ps1`。" #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "如果这样做成功了,您的提示符现在应该有所改变--它会带有 ``(beeware-venv)`` 前缀。这样,您就可以知道您当前正处于 BeeWare 虚拟环境中。无论何时运行本教程,都应确保虚拟环境已激活。如果没有激活,请重新执行前一条命令(``activate``)以重新激活虚拟环境。" +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "如果这样做成功了,您的提示符现在应该有所改变--它会带有 `(beeware-venv)` 前缀。这样,您就可以知道您当前正处于 BeeWare 虚拟环境中。无论何时运行本教程,都应确保虚拟环境已激活。如果没有激活,请重新执行前一条命令(`activate`)以重新激活虚拟环境。" #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd msgid "Alternative virtual environments" msgstr "替代虚拟环境" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "如果您使用的是 Anaconda 或 miniconda,那么您可能对使用 conda 环境更为熟悉。您可能还听说过 ``virtualenv``,它是 Python 内置的 ``venv`` 模块的前身。就像 Python 安装一样,如您使用的是 macOS 或 Windows,那么如何创建虚拟环境并不重要,只要有就够了。如果在 Linux 上,则应坚持使用 ``venv`` 和系统 Python。" +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "如果您使用的是 Anaconda 或 miniconda,那么您可能对使用 conda 环境更为熟悉。您可能还听说过 `virtualenv`,它是 Python 内置的 `venv` 模块的前身。就像 Python 安装一样,如您使用的是 macOS 或 Windows,那么如何创建虚拟环境并不重要,只要有就够了。如果在 Linux 上,则应坚持使用 `venv` 和系统 Python。" #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "现在我们已经设置好了环境。我们已经准备创建\\ :doc:`您的第一个应用程序 `\\ 了。" +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序][tutorial-1]\\ 了。" #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "以管理员身份运行 Windows PowerShell。" @@ -237,5 +233,5 @@ msgstr "现在我们已经设置好了环境。我们已经准备创建\\ :doc:` #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "如果已安装 Python,则会看到其版本号。否则,系统会提示您安装命令行开发工具。" -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "您应该确保您使用的是 Python 3.9 或更高版本。如果不是,则需要升级 Python 安装。您可以从 `Python 官网 `_ 获取官方安装程序。从 3.9 开始,您可以使用任何稳定版本的 Python。我们建议避免使用 Alpha、Beta 和候选版本,除非你真的知道自己在做什么。" +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "您应该确保您使用的是 Python 3.9 或更高版本。如果不是,则需要升级 Python 安装。您可以从 [Python 官网]{1} 获取官方安装程序。从 3.9 开始,您可以使用任何稳定版本的 Python。我们建议避免使用 Alpha、Beta 和候选版本,除非你真的知道自己在做什么。" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po index 5597b9c9..5d50fcf0 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po @@ -28,12 +28,12 @@ msgid "Install the BeeWare tools" msgstr "安装 BeeWare 工具" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" msgstr "" "首先,我们需要安装 **Briefcase**。Briefcase 是一款 BeeWare " "工具,可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" -"确保您在 :doc:`教程0 ` 中创建的 ``beeware-tutorial`` 目录中," -"并已激活 ``beeware-venv`` 虚拟环境,然后运行:" +"确保您在 [教程0][tutorial-0] 中创建的 `beeware-tutorial` 目录中," +"并已激活 `beeware-venv` 虚拟环境,然后运行:" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -55,10 +55,10 @@ msgid "Possible errors during installation" msgstr "安装过程中可能出现的错误" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." msgstr "" "如果在安装过程中出现错误,几乎可以肯定是因为某些系统要求尚未安装。" -"请确保您已\\ :ref:`安装了所有您的平台的先决条件 `。" +"请确保您已\\ [安装了所有您的平台的先决条件 ][install-dependencies]。" #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -68,40 +68,40 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "请务必使用 ``python -m pip``,而不是简单的 ``pip``。Briefcase 需要确保它拥有最新版本的 ``pip`` 和 ``setuptools`` ,而裸调用的 ``pip`` 无法自我更新。如果您想了解更多,`Brett Cannon 有一篇关于这个问题的详细博文 `__。" +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "请务必使用 `python -m pip`,而不是简单的 `pip`。Briefcase 需要确保它拥有最新版本的 `pip` 和 `setuptools` ,而裸调用的 `pip` 无法自我更新。如果您想了解更多,[Brett Cannon 有一篇关于这个问题的详细博文]{1}。" #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd msgid "Bootstrap a new project" msgstr "引导新项目" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "让我们开始我们的第一个 BeeWare 项目! 我们将使用 Briefcase 的 ``new`` 命令创建一个名为 **Hello World** 的应用程序。在命令提示符下运行以下命令:" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "让我们开始我们的第一个 BeeWare 项目! 我们将使用 Briefcase 的 `new` 命令创建一个名为 **Hello World** 的应用程序。在命令提示符下运行以下命令:" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" msgstr "Briefcase会要求我们提供新应用程序的一些详细信息。在本教程中,请使用以下内容:" #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**Formal Name** - 接受默认值:``Hello World``。" +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**Formal Name** - 接受默认值:`Hello World`。" #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**App Name** - 接受默认值:``helloworld``。" +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**App Name** - 接受默认值:`helloworld`。" #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." msgstr "" "**Bundle Identifier(捆绑标识符)** - " "如果您拥有自己的域名,请按相反顺序输入该域名。(例如,如果您拥有域名 " -"\"cupcakes.com\",则输入 ``com.cupcakes`` " -"作为捆绑标识符)。如果您没有自己的域名,请接受默认值(``com.example``)。" +"\"cupcakes.com\",则输入 `com.cupcakes` " +"作为捆绑标识符)。如果您没有自己的域名,请接受默认值(`com.example`)。" #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**Project Name** - 接受默认值:``Hello World``。" +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**Project Name** - 接受默认值:`Hello World`。" #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" @@ -119,11 +119,11 @@ msgstr "" "用程序时需要电子邮件的任何地方。" #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." msgstr "" "**URL** - 应用程序登陆页面的 URL。同样,如果您拥有自己的域名,请输入该域名的 " -"URL(包括 ``https://``)。否则,接受默认 URL (``https://example.com/" -"helloworld``) 即可。此 " +"URL(包括 `https://`)。否则,接受默认 URL (`https://example.com/" +"helloworld`) 即可。此 " "URL(暂时)不需要实际存在;只有在您将应用程序发布到应用程序商店时才会使用。" #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 @@ -138,16 +138,16 @@ msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI to msgstr "**GUI Framework** - 接受默认选项 Toga(BeeWare 自己的图形用户界面工具包)。" #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" -msgstr "接下来,Briefcase 会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受了所述的默认设置,那么你的文件系统应该是这样的::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" +msgstr "接下来,Briefcase 会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受了所述的默认设置,那么你的文件系统应该是这样的:" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." msgstr "" -"该骨架实际上是一个功能完备的应用程序,无需添加任何其他内容。``src`` " -"文件夹包含应用程序的所有代码,``tests`` " -"文件夹包含初始测试套件,``pyproject.toml`` 文件描述了如何打包发布应用程序。" -"如果您用编辑器打开 ``pyproject.toml``,就会看到刚才提供给 Briefcase " +"该骨架实际上是一个功能完备的应用程序,无需添加任何其他内容。`src` " +"文件夹包含应用程序的所有代码,`tests` " +"文件夹包含初始测试套件,`pyproject.toml` 文件描述了如何打包发布应用程序。" +"如果您用编辑器打开 `pyproject.toml`,就会看到刚才提供给 Briefcase " "的配置详细信息。" #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a @@ -159,8 +159,8 @@ msgid "Run the app in developer mode" msgstr "在开发者模式下运行应用程序" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "移动到 ``helloworld`` 项目目录,告诉 Briefcase 以开发者(或 ``dev``)模式启动项目:" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "移动到 `helloworld` 项目目录,告诉 Briefcase 以开发者(或 `dev`)模式启动项目:" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 msgid "This should open a GUI window:" @@ -187,19 +187,19 @@ msgid "If you encounter the error:" msgstr "如果您遇到错误:" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." -msgstr "确认您在运行\\ :ref:`此教程支持的 Python 版本 `。" +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +msgstr "确认您在运行\\ [此教程支持的 Python 版本 ][install-python]。" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." msgstr "如果您的 Python 版本\\ *不*\\ 被支持,则需重新开始本教程。" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" msgstr "" "关闭应用程序 -- " "可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" -"或在您运行 ``briefcase dev`` 的命令行窗口中按 **Ctrl+C** -- " +"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** -- " "就完成了!恭喜您,您刚刚使用 Python 编写了一个独立、原生的应用程序!" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b @@ -207,7 +207,7 @@ msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." msgstr "" "现在,我们有了一个在开发者模式下运行的应用程序。现在我们可以添加一些自己的逻" "辑,让应用程序做更有趣一些的事情。在\\ :doc:`教程 2` " diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po index 02406e9c..d80b871a 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po @@ -34,7 +34,7 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "" #: ../../tutorial/tutorial-10.rst:19 5dd01823f92a416ea9132296fe3c1329 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" #: ../../tutorial/tutorial-10.rst:25 42d72c24ab9c4c88a1a8cf338848acff @@ -42,7 +42,7 @@ msgid "This icon definition doesn't specify any file extension. The value will b msgstr "" #: ../../tutorial/tutorial-10.rst:31 3575513b55fc4069beec0551875a11e4 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/tutorial-10.rst:37 ../../tutorial/tutorial-10.rst:204 @@ -80,7 +80,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/tutorial-10.rst:165 407dfeadf4f64fa1883d0e6efda3ae13 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <./resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](./resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" msgstr "" #: ../../tutorial/tutorial-10.rst:184 b41c049eac4149db9d693a17c98ba25f @@ -92,11 +92,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/tutorial-10.rst:191 36190ded79ab4b8facb6c7d125e99910 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/tutorial-10.rst:195 de8977a03bb245649a0db4e72699537c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/tutorial-10.rst:323 59ddcf9d12d54bb7888af960947125f3 @@ -104,19 +104,19 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/tutorial-10.rst:362 770fc67b202e414898dad70af6015ac1 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/tutorial-10.rst:371 1fccdfb6089a4dd89df2134ab55b6161 -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/tutorial-10.rst:453 4f85656e9dd446159ca59aade076cd61 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/tutorial-10.rst:457 cbcd518108964d04a905c571f5d12046 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #: ../../tutorial/tutorial-10.rst:468 ead01201ed7b44d2879d42b9f6dba403 @@ -132,16 +132,16 @@ msgid "Some places to go from here:" msgstr "" #: ../../tutorial/tutorial-10.rst:475 671dcb52f97541cdb0ee9138caf877bd -msgid "Tutorials demonstrating `features of the Toga widget toolkit `__." +msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." msgstr "" #: ../../tutorial/tutorial-10.rst:477 f150cd3c96c0400a972ae968ee960212 -msgid "Details on the `options available when configuring your Briefcase project `__." +msgid "Details on the [options available when configuring your Briefcase project]{1}." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**即将推出**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." #~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po index 409fd6a7..eabef812 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po @@ -20,62 +20,62 @@ msgid "Tutorial 2 - Making it interesting" msgstr "教程 2 - 使之更有趣" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "在 :doc:`教程 1` 中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。让我们看看 Briefcase 为我们生成了什么。" +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "在 [教程 1` 中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。让我们看看 Briefcase 为我们生成了什么。" #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 msgid "What was generated" msgstr "生成的内容" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." -msgstr "在 ``src/helloworld`` 目录中,你应该看到 3 个文件:``__init__.py``、``__main__.py`` 和 ``app.py``。" +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." +msgstr "在 `src/helloworld` 目录中,你应该看到 3 个文件:`__init__.py`、`__main__.py` 和 `app.py`。" #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` 将 ``helloworld`` 目录标记为可导入的 Python 模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld 目录定义了一个模块。" +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` 将 `helloworld` 目录标记为可导入的 Python 模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld 目录定义了一个模块。" #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "``__main__.py`` 将 ``helloworld`` 模块标记为一种特殊的模块 - 可执行模块。如果你尝试使用 ``python -m helloworld`` 试图运行 ``helloworld`` 模块,Python 将从 ``__main__.py`` 文件开始执行。 ``__main__.py`` 的内容相对简单::" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` 将 `helloworld` 模块标记为一种特殊的模块 - 可执行模块。如果你尝试使用 `python -m helloworld` 试图运行 `helloworld` 模块,Python 将从 `__main__.py` 文件开始执行。 `__main__.py` 的内容相对简单:" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "此文件做以下两件事:" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." -msgstr "它从 ``helloworld`` 应用程序导入了 ``main`` 方法。" +msgid "It imports the `main` method from from the `helloworld` app." +msgstr "它从 `helloworld` 应用程序导入了 `main` 方法。" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." msgstr "然后,它会开始应用程序的主循环,以便侦听用户输入(例如鼠标点击或键盘按键)。" #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "更有趣的文件是 ``app.py`` - 它包含创建我们应用程序窗口的逻辑::" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "更有趣的文件是 `app.py` - 它包含创建我们应用程序窗口的逻辑:" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -msgid "Let's go through this line by line::" -msgstr "让我们逐行查看::" +msgid "Let's go through this line by line:" +msgstr "让我们逐行查看:" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "首先,我们导入 ``toga`` " +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "首先,我们导入 `toga` " "控件工具包,以及一些与样式相关的实用常量。目前我们的代码还没有使用这些——但我" "们很快就会用到它们。" #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class::" -msgstr "然后,我们定义了一个类 ::" +msgid "Then, we define a class:" +msgstr "然后,我们定义了一个类 :" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "每个 Toga 应用程序都有一个 ``toga.App`` 实例,代表应用程序的运行实体。应用程序最终可能会管理多个窗口;但是对于简单的应用程序来说,可能只有一个主窗口。" +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "每个 Toga 应用程序都有一个 `toga.App` 实例,代表应用程序的运行实体。应用程序最终可能会管理多个窗口;但是对于简单的应用程序来说,可能只有一个主窗口。" #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -msgid "Next, we define a ``startup()`` method::" -msgstr "接下来,我们定义一个 ``startup()`` 方法 (startup意为启动)::" +msgid "Next, we define a `startup()` method:" +msgstr "接下来,我们定义一个 `startup()` 方法 (startup意为启动):" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." @@ -90,12 +90,12 @@ msgid "In this application, we define a single box, but we don't put anything in msgstr "在这个应用程序中,我们定义了一个单独的空盒子 (我们没有放任何东西进去)。" #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -msgid "Next, we define a window into which we can put this empty box::" -msgstr "接下来,我们定义一个可以将这个空盒子放入其中的窗口::" +msgid "Next, we define a window into which we can put this empty box:" +msgstr "接下来,我们定义一个可以将这个空盒子放入其中的窗口:" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "这将创建一个 ``toga.MainWindow`` 的实例,它的标题 (title) 将与应用程序的名称 (self.formal_name) 匹配。主窗口是 Toga 中的一种特殊窗口——它与应用程序的生命周期 (life cycle) 密切绑定。主窗口关闭,应用程序就退出了。主窗口也具有应用程序菜单(例如类似 Windows 这样的平台上,菜单栏是窗口的一部分)。" +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "这将创建一个 `toga.MainWindow` 的实例,它的标题 (title) 将与应用程序的名称 (self.formal_name) 匹配。主窗口是 Toga 中的一种特殊窗口——它与应用程序的生命周期 (life cycle) 密切绑定。主窗口关闭,应用程序就退出了。主窗口也具有应用程序菜单(例如类似 Windows 这样的平台上,菜单栏是窗口的一部分)。" #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -106,16 +106,16 @@ msgid "If you have made an error in your code, the main window of the app may no msgstr "如果你写的代码中有错误,app的主窗口可能不会显示。要是真这样了,你可以找到先前启动app的终端窗口,并在其中按下\\ **Ctrl + C**,以终止app运行。之后,你就可以修改代码里的错误,再重启app。" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" -msgstr "然后,我们将空盒子作为主窗口的内容,并指示应用程序显示我们的窗口::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "然后,我们将空盒子作为主窗口的内容,并指示应用程序显示我们的窗口:" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "最后,我们定义一个 ``main()`` 方法。它将创建应用程序的实例::" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "最后,我们定义一个 `main()` 方法。它将创建应用程序的实例:" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "这个 ``main()`` 方法由 ``__main__.py`` 导入并调用。它创建并返回我们的 ``HelloWorld`` 应用程序的实例。" +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "这个 `main()` 方法由 `__main__.py` 导入并调用。它创建并返回我们的 `HelloWorld` 应用程序的实例。" #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." @@ -126,43 +126,43 @@ msgid "Adding some content of our own" msgstr "添加一些我们自己的内容" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." -msgstr "对我们的 ``HelloWorld`` 应用程序,做些更有意思的事吧。" +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "对我们的 `HelloWorld` 应用程序,做些更有意思的事吧。" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "在做这些更改时,确保不要删除文件顶部的导入 (imports),也不要删除底部的 ``main()``。您只需更新 ``HelloWorld`` 类。" +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "在做这些更改时,确保不要删除文件顶部的导入 (imports),也不要删除底部的 `main()`。您只需更新 `HelloWorld` 类。" #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "修改 ``src/helloworld/app.py`` 中的 ``HelloWorld`` 类,使其看起来像这样::" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "修改 `src/helloworld/app.py` 中的 `HelloWorld` 类,使其看起来像这样:" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 msgid "Let's look in detail at what has changed." msgstr "让我们详细看看有哪些变化。" #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -msgid "We're still creating a main box; however, we are now applying a style::" -msgstr "我们仍然在创建一个主盒子;然而,现在我们正在应用一个样式::" +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "我们仍然在创建一个主盒子;然而,现在我们正在应用一个样式:" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." msgstr "" "Toga 的内置布局系统称为 \"Pack\" (包)。它的行为很像 CSS (Cascading Style " "Sheets 层叠样式表)。你可以在一个层次结构中定义对象--在 HTML 中,对象是 " -"``
`` (division 块级容器)、```` (inline span 内联容器) 和其他 DOM (" +"`
` (division 块级容器)、`` (inline span 内联容器) 和其他 DOM (" "Document Object Model 文档对象模型) 元素;在 Toga 中,对象是控件 (widgets ) " "和盒子 (boxes)。然后,您可以为各个元素指定样式。在本例中,我们表示这是一个 " -"``COLUMN`` (垂直) 框,也就是说,它是一个将占用所有可用宽度 (width) 的框," +"`COLUMN` (垂直) 框,也就是说,它是一个将占用所有可用宽度 (width) 的框," "并会随着内容的添加而扩大高度 (height),但会尽量使高度更短。" #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" -msgstr "对于更高级的使用,Toga 也支持可以被这样使用的单独的样式对象::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgstr "对于更高级的使用,Toga 也支持可以被这样使用的单独的样式对象:" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets::" -msgstr "接下来,我们定义了一些控件::" +msgid "Next, we define a couple of widgets:" +msgstr "接下来,我们定义了一些控件:" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." @@ -178,35 +178,35 @@ msgstr "文本输入框 (TextInput) 被分配为类的实例变量。这使我 "(widget) 实例 - 这是我们马上就会使用的东西。" #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -msgid "Next, we define a box to hold these two widgets::" -msgstr "接下来,我们定义了一个盒子来容纳这两个控件::" +msgid "Next, we define a box to hold these two widgets:" +msgstr "接下来,我们定义了一个盒子来容纳这两个控件:" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "``name_box`` 就像主盒子一样;然而,这次它是一个 ``ROW`` (水平) 盒子。这意味着内容将会被水平添加,并且它会尽量使其宽度尽可能窄。盒子也有一些空白填充——四周各为 5px。" +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "`name_box` 就像主盒子一样;然而,这次它是一个 `ROW` (水平) 盒子。这意味着内容将会被水平添加,并且它会尽量使其宽度尽可能窄。盒子也有一些空白填充——四周各为 5px。" #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -msgid "Now we define a button::" -msgstr "现在,我们定义一个按钮::" +msgid "Now we define a button:" +msgstr "现在,我们定义一个按钮:" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." msgstr "按钮的四周也有 5px 的填充。我们还定义了一个\\ **处理程序** (handler)——当按钮被按下时要调用的方法。" #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -msgid "Then, we add the name box and the button to the main box::" -msgstr "然后,我们将 name box 和按钮添加到主盒子中::" +msgid "Then, we add the name box and the button to the main box:" +msgstr "然后,我们将 name box 和按钮添加到主盒子中:" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" -msgstr "这完成了我们的布局;其余的 startup 方法与以前一样 - 定义一个 ``MainWindow`` ,并将主盒子指定为窗口的内容::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "这完成了我们的布局;其余的 startup 方法与以前一样 - 定义一个 `MainWindow` ,并将主盒子指定为窗口的内容:" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" msgstr "" "我们需要做的最后一件事,就是定义按钮的处理器(handler)——它可以是任何方法、生成" "器或异步协程,且接受生成事件的控件 (widget) " -"作为参数。只要按下按钮,就会调用这些处理器::" +"作为参数。只要按下按钮,就会调用这些处理器:" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." @@ -232,12 +232,12 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." msgstr "" "你会注意到,这次\\ *没有*\\ 安装依赖项。Briefcase " "可以检测到已经被运行过的应用程序 -- " "为了节省时间,它只会运行应用程序,而不会安装依赖项。如果你在应用程序中添加了" -"新的依赖项,你可以在运行 ``briefcase dev`` 时通过 ``-r`` " +"新的依赖项,你可以在运行 `briefcase dev` 时通过 `-r` " "选项来确保它们被安装。" #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de @@ -261,16 +261,16 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "如果在文本框中输入名称,并按下图形用户界面中的按钮,就会在启动程序的控制台中看到输出结果。" #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" "在继续之前,关闭应用程序。和教程 1 " "一样,您可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" -"或在您运行 ``briefcase dev`` 的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" +"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." msgstr "我们现在有了一个做一些更有趣的事情的应用程序,但它只能在我们自己的电脑上运行。让我们将这个应用程序打包,以供分发。在 :doc:`教程3` 中,我们将把应用程序打包成一个独立的安装程序,以供发送给朋友、客户,或上传到应用商店。" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po index 99e34a48..8d09f934 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po @@ -36,8 +36,8 @@ msgid "Creating your application scaffold" msgstr "创建应用程序脚手架" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "由于这是我们第一次打包应用程序,我们需要创建一些配置文件和其他脚手架来支持打包过程。在 ``helloworld`` 目录中,运行:" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "由于这是我们第一次打包应用程序,我们需要创建一些配置文件和其他脚手架来支持打包过程。在 `helloworld` 目录中,运行:" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -66,8 +66,8 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "用于运行 Briefcase 的 Python 版本 (3.12) 不是系统 python3 (3.10)。" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." -msgstr "您将需要使用系统的 ``python3`` 重新创建您的虚拟环境。打包您的应用程序要求使用系统 Python。" +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +msgstr "您将需要使用系统的 `python3` 重新创建您的虚拟环境。打包您的应用程序要求使用系统 Python。" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 #: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 @@ -105,8 +105,8 @@ msgid "As noted above, when Briefcase packages an app as a native Linux system p msgstr "如上所述,当 Briefcase 将一个应用程序打包成 Linux 上的原生系统包(Linux 上的默认包格式),应用程序中将不会包含任何的支持包;应用程序将会使用将要被分发到的 Linux 发行版提供的 Python。" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "它\\ **安装应用程序的依赖项**。您的应用程序可以指定运行时所需的任何第三方模块。这些模块将会被用 ``pip`` 安装到应用程序的安装程序中。" +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "它\\ **安装应用程序的依赖项**。您的应用程序可以指定运行时所需的任何第三方模块。这些模块将会被用 `pip` 安装到应用程序的安装程序中。" #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." @@ -117,8 +117,8 @@ msgid "It **installed your resources needed by your application.** Lastly, it ad msgstr "最后,它还会\\ **添加安装程序本身所需的其他资源**。这包括需要附加到最终应用程序的图标和启动画面等。" #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "完成上述操作后,如果查看项目目录,就会发现一个与平台(``macOS``, ``linux``,或\\ ``windows``)相对应的目录,其中包含附加文件。这就是应用程序的平台具体的打包配置。" +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "完成上述操作后,如果查看项目目录,就会发现一个与平台(`macOS`, `linux`,或\\ `windows`)相对应的目录,其中包含附加文件。这就是应用程序的平台具体的打包配置。" #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece msgid "Building your application" @@ -129,24 +129,24 @@ msgid "You can now compile your application. This step performs any binary compi msgstr "现在可以编译应用程序了。此步骤将执行任何使应用程序在目标平台上可执行所必须的二进制编译。" #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "在 macOS 上,`` build``\\ 命令不需要\\ *编译*\\ 任何内容,但需要对二进制文件的内容进行(数字)签名,以便执行。这种签名是一种\\ *临时 (ad hoc)*\\ 签名--它只能在\\ *你的*\\ 机器上工作;如果你想将应用程序发布给其他人,就需要提供完整的签名。" +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "在 macOS 上,` build`\\ 命令不需要\\ *编译*\\ 任何内容,但需要对二进制文件的内容进行(数字)签名,以便执行。这种签名是一种\\ *临时 (ad hoc)*\\ 签名--它只能在\\ *你的*\\ 机器上工作;如果你想将应用程序发布给其他人,就需要提供完整的签名。" #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "此步骤完成后,`build`\\ 文件夹将包含一个\\ `helloworld-0.0.1`\\ 文件夹,其中包含一个 Linux ``/usr`` 文件系统的镜像。这个文件系统镜像将包含一个\\ ``bin``\\ 文件夹,里面有一个\\ ``helloworld``\\ 二进制文件,以及支持二进制文件所需的\\ ``lib``\\ 和\\ ``share``\\ 文件夹。" +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "此步骤完成后,[build`\\ 文件夹将包含一个\\ `helloworld-0.0.1`\\ 文件夹,其中包含一个 Linux `/usr` 文件系统的镜像。这个文件系统镜像将包含一个\\ `bin`\\ 文件夹,里面有一个\\ `helloworld`\\ 二进制文件,以及支持二进制文件所需的\\ `lib`\\ 和\\ `share`\\ 文件夹。" #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "在 Windows 上,``build`` 命令不需要\\ *编译*\\ 任何东西,但它确实需要写入一些元数据,以便应用程序知道它的名称、版本等。" +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "在 Windows 上,`build` 命令不需要\\ *编译*\\ 任何东西,但它确实需要写入一些元数据,以便应用程序知道它的名称、版本等。" #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa msgid "Triggering antivirus" msgstr "触发杀毒软件" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "由于这些元数据是在 ``create`` 命令中直接写入从模板推出的预编译二进制文件的,因此可能会触发机器上运行的杀毒软件,从而阻止元数据的写入。在这种情况下,请指示杀毒软件允许工具(名为 ``rcedit-x64.exe``)运行,并重新运行上述命令。" +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "由于这些元数据是在 `create` 命令中直接写入从模板推出的预编译二进制文件的,因此可能会触发机器上运行的杀毒软件,从而阻止元数据的写入。在这种情况下,请指示杀毒软件允许工具(名为 `rcedit-x64.exe`)运行,并重新运行上述命令。" #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 msgid "Running your app" @@ -157,18 +157,18 @@ msgid "You can now use Briefcase to run your application:" msgstr "现在您可以使用 Briefcase 运行应用程序了:" #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "这将使用 ``build`` 命令的输出开始运行原生应用程序。" +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "这将使用 `build` 命令的输出开始运行原生应用程序。" #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." msgstr "你可能会注意到应用程序运行时的外观有一些细微差别。例如,操作系统显示的图标和名称可能与在开发者模式下运行时略有不同。这也是因为您使用的是打包的应用程序,而不仅仅是运行 Python 代码。从操作系统的角度来看,您现在运行的是“一个应用程序”,而不是“一个 Python 程序\"”,这也反映在应用程序的显示方式上。" #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" "在继续之前,关闭应用程序。和之前的教程步骤一样,您可以使用应用程序窗口上的关" -"闭按钮、从应用程序的菜单栏选择关闭/退出、或在您运行 ``briefcase dev`` " +"闭按钮、从应用程序的菜单栏选择关闭/退出、或在您运行 `briefcase dev` " "的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -176,44 +176,44 @@ msgid "Building your installer" msgstr "创建安装程序" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "现在,您可以使用 ``package`` 命令打包应用程序,以便发布。打包命令会执行将脚手架项目转换为最终可发布产品所需的编译工作。根据平台的不同,这可能涉及编译安装程序、执行代码签名或执行其他发布前任务。" +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "现在,您可以使用 `package` 命令打包应用程序,以便发布。打包命令会执行将脚手架项目转换为最终可发布产品所需的编译工作。根据平台的不同,这可能涉及编译安装程序、执行代码签名或执行其他发布前任务。" #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "``dist`` 文件夹将包含一个名为 ``Hello World-0.0.1.dmg`` 的文件。如果在 Finder 中找到该文件,并双击其图标,就会加载 DMG,从而获得 Hello World 应用程序的副本,并链接到 ``Applications`` 文件夹以方便安装。将应用程序文件拖入 Applications,就安装好了应用程序。将 DMG 文件发送给朋友,他们应该也能完成同样的操作。" +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "`dist` 文件夹将包含一个名为 `Hello World-0.0.1.dmg` 的文件。如果在 Finder 中找到该文件,并双击其图标,就会加载 DMG,从而获得 Hello World 应用程序的副本,并链接到 `Applications` 文件夹以方便安装。将应用程序文件拖入 Applications,就安装好了应用程序。将 DMG 文件发送给朋友,他们应该也能完成同样的操作。" #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "在本例中,我们使用了 ``--adhoc-sign`` 选项--也就是说,我们使用 *ad hoc* 凭据(仅在你的机器上有效的临时凭据)来签署我们的应用程序。我们这样做是为了让教程简单明了。设置代码签名身份有点麻烦,而且只有当你打算将应用程序发布给他人时\\ *才*\\ 需要。如果我们要发布一个真正的应用程序供他人使用,我们就需要指定真实的凭据。" +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "在本例中,我们使用了 `--adhoc-sign` 选项--也就是说,我们使用 *ad hoc* 凭据(仅在你的机器上有效的临时凭据)来签署我们的应用程序。我们这样做是为了让教程简单明了。设置代码签名身份有点麻烦,而且只有当你打算将应用程序发布给他人时\\ *才*\\ 需要。如果我们要发布一个真正的应用程序供他人使用,我们就需要指定真实的凭据。" #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "当您准备发布真正的应用程序时,请查看关于 `设置 macOS 代码签名身份 `__ 的 Briefcase 操作指南。" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity]{1}." +msgstr "当您准备发布真正的应用程序时,请查看关于 [设置 macOS 代码签名身份]{1} 的 Briefcase 操作指南。" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" msgstr "软件包步骤的输出会因 Linux 发行版的不同而略有不同。如果你使用的是 Debian 衍生发行版,你会看到:" #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "``dist`` 文件夹将包含生成的 ``.deb`` 文件。" +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "`dist` 文件夹将包含生成的 `.deb` 文件。" #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "如果你使用的是基于 RHEL 的发行版,你就会看到:" #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "``dist`` 文件夹将包含生成的 ``.rpm`` 文件。" +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "`dist` 文件夹将包含生成的 `.rpm` 文件。" #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 msgid "If you're on an Arch-based distribution, you'll see:" msgstr "如果你使用的是基于 Arch 的发行版,你就会看到:" #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "``dist`` 文件夹将包含生成的 ``.pkg.tar.zst`` 文件。" +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "`dist` 文件夹将包含生成的 `.pkg.tar.zst` 文件。" #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae msgid "Other Linux distributions aren't currently supported for packaging." @@ -224,41 +224,41 @@ msgid "If you want to build a package for a Linux distribution other than the on msgstr "如果你想为你正在使用的 Linux 发行版之外的其他发行版构建软件包,Briefcase 也能提供帮助,但你需要安装 Docker。" #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "`Docker Engine `__ 的官方安装程序适用于一系列 Unix 发行版。请按照您所在平台的说明进行操作;不过,请确保不要在 rootless 模式下安装 Docker。" +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "[Docker Engine]{1} 的官方安装程序适用于一系列 Unix 发行版。请按照您所在平台的说明进行操作;不过,请确保不要在 rootless 模式下安装 Docker。" #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" msgstr "安装好 Docker 后,你就可以启动 Linux 容器了,例如:" #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "将显示 Ubuntu 22.04 Docker 容器中的 Unix 提示符(类似于 ``root@84444e31cff9:/#``)。键入 Ctrl-D 退出 Docker 并返回本地 shell。" +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "将显示 Ubuntu 22.04 Docker 容器中的 Unix 提示符(类似于 `root@84444e31cff9:/#`)。键入 Ctrl-D 退出 Docker 并返回本地 shell。" #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" msgstr "一旦安装了 Docker,只要将 Docker 镜像作为参数传递,就可以使用 Briefcase 为 Briefcase 支持的任何 Linux 发行版构建软件包。例如,要为 Ubuntu 22.04 (Jammy) 构建一个 DEB 包,无论你使用的是哪种操作系统,你都可以运行:" #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "这将下载所选操作系统的 Docker 镜像,创建一个能够运行 Briefcase 构建的容器,并在镜像中构建应用程序软件包。完成后,`dist`` 文件夹将包含目标 Linux 发行版的软件包。" +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "这将下载所选操作系统的 Docker 镜像,创建一个能够运行 Briefcase 构建的容器,并在镜像中构建应用程序软件包。完成后,[dist` 文件夹将包含目标 Linux 发行版的软件包。" #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." msgstr "在本例中,我们没有签署我们的应用程序。因此,当您使用安装程序时,您将收到系统警告,该应用程序来自未知开发人员。我们这样做是为了保持教程的简单性。设置代码签名身份比较复杂,只有当您打算将您的应用程序分发给其他人时,它们才*需要*。如果我们发布一个真实的应用程序供其他人使用,我们需要指定一个真实的签名身份;当该签名的应用程序安装时,系统将通知用户该应用程序来自与证书关联的已知身份。" #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "当您准备好发布真正的应用程序时,请查看 Briefcase 操作指南中关于\\ `设置 Windows 代码签名身份 `__\\ 的内容。" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity]{1}." +msgstr "当您准备好发布真正的应用程序时,请查看 Briefcase 操作指南中关于\\ [设置 Windows 代码签名身份]{1}\\ 的内容。" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "此步骤完成后,``dist`` 文件夹中将包含一个名为 ``Hello_World-0.0.1.msi`` 的文件。如果双击运行该安装程序,就会进入熟悉的 Windows 安装过程。安装完成后,开始菜单中将出现 \"Hello World \"条目。" +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "此步骤完成后,`dist` 文件夹中将包含一个名为 `Hello_World-0.0.1.msi`` 的文件。如果双击运行该安装程序,就会进入熟悉的 Windows 安装过程。安装完成后,开始菜单中将出现 \"Hello World \"条目。" #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "现在,我们已将应用程序打包发布到桌面平台上。但是,当我们需要更新应用程序中的代码时该怎么办?如何将这些更新添加到打包好的应用程序中?请访问 :doc:`教程4 <./tutorial-4>` 了解详情..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "现在,我们已将应用程序打包发布到桌面平台上。但是,当我们需要更新应用程序中的代码时该怎么办?如何将这些更新添加到打包好的应用程序中?请访问 [教程4][./tutorial-4] 了解详情..." diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po index d734d233..068f42c7 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po @@ -41,15 +41,15 @@ msgstr "目前,我们的应用程序会在您按下按钮时打印到控制台 "实际上不应该使用控制台进行输出。它们需要使用对话框与用户交流。" #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "让我们添加一个对话框来说 \"你好\",而不是写入控制台。修改 ``say_hello`` " +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "让我们添加一个对话框来说 \"你好\",而不是写入控制台。修改 `say_hello` " "回调,使它看起来像这样::" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" -"我们需要将方法设置为``async``,以便在显示对话框时,应用程序的其余部分继续运行" -"。现在不要太担心这个细节——我们将在 :doc:`Tutorial 8 ` " +"我们需要将方法设置为`async`,以便在显示对话框时,应用程序的其余部分继续运行" +"。现在不要太担心这个细节——我们将在 [Tutorial 8][tutorial-8] " "中给出更详细的解释。" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -57,8 +57,8 @@ msgid "This directs Toga to open a modal dialog box when the button is pressed." msgstr "这将指示 Toga 在按下按钮时打开一个模态对话框。" #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "如果运行 ``briefcase dev``,输入名称并按下按钮,就会看到新的对话框:" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "如果运行 `briefcase dev`,输入名称并按下按钮,就会看到新的对话框:" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -91,13 +91,13 @@ msgid "Hello World Tutorial 4 dialog, on Windows" msgstr "Hello World 教程 4 对话框,在 Windows 上" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "但是,如果运行\\ ``briefcase run``,对话框就不会出现。" +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "但是,如果运行\\ `briefcase run`,对话框就不会出现。" #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." msgstr "" -"为什么会这样?``briefcase dev``\\ 通过就地运行您的代码来运行--" +"为什么会这样?`briefcase dev`\\ 通过就地运行您的代码来运行--" "它试图为您的代码提供尽可能逼真的运行环境,但并不提供或使用任何平台基础架构来" "将您的代码包装成应用程序。打包应用程序的部分过程包括将代码复制到应用程序捆绑" "包中,目前,您的应用程序中仍有旧代码。" @@ -110,21 +110,21 @@ msgstr "" "提供了一种更简单的方法--您可以更新现有捆绑的应用程序的代码:" #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "如果 Briefcase 找不到脚手架模板,它会自动调用 ``create`` 生成一个新的脚手架。" +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "如果 Briefcase 找不到脚手架模板,它会自动调用 `create` 生成一个新的脚手架。" #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." msgstr "" -"更新了安装程序代码后,我们就可以运行 ``briefcase build`` 来重新编译应用程序," -"运行 ``briefcase run`` 来运行更新后的应用程序,并运行 ``briefcase package`` " +"更新了安装程序代码后,我们就可以运行 `briefcase build` 来重新编译应用程序," +"运行 `briefcase run` 来运行更新后的应用程序,并运行 `briefcase package` " "来重新打包应用程序以便分发。" #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" msgstr "" -"(macOS 用户请记住,正如 :doc:`Tutorial 3` 中所述,我们建议在运行 " -"``briefcase package`` 时使用 ``--adhoc-sign`` " +"(macOS 用户请记住,正如 [Tutorial 3` 中所述,我们建议在运行 " +"`briefcase package` 时使用 `--adhoc-sign` " "标志,以避免设置代码签名身份的复杂性,并使教程尽可能简单)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 @@ -132,43 +132,43 @@ msgid "Update and run in one step" msgstr "更新和运行一步到位" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." msgstr "" "如果要快速迭代代码更改,很可能需要更改代码、更新应用程序并立即重新运行应用程" -"序。对于大多数情况来说,开发人员模式 (``briefcase dev``) " +"序。对于大多数情况来说,开发人员模式 (`briefcase dev`) " "是进行这种快速迭代的最简单方法;但是,如果您要测试应用程序作为原生二进制文件" -"的运行,或查找一个只有在应用程序打包时才会出现的错误,您可能需要反复调用 ``" -"briefcase run``。为了简化更新和运行打包应用程序的过程,Briefcase " -"提供了支持这种使用模式的快捷方式 - ``run`` 命令上的 ``-u``(或 " -"``--update``)选项。" +"的运行,或查找一个只有在应用程序打包时才会出现的错误,您可能需要反复调用 `" +"briefcase run`。为了简化更新和运行打包应用程序的过程,Briefcase " +"提供了支持这种使用模式的快捷方式 - `run` 命令上的 `-u`(或 " +"`--update`)选项。" #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." msgstr "" "让我们尝试做另一个改动。您可能已经注意到,如果您不在文本输入框中输入姓名," -"对话框就会显示 \"Hello, \"。 让我们再次修改 ``say_hello`` " +"对话框就会显示 \"Hello, \"。 让我们再次修改 `say_hello` " "函数,以处理这种边缘情况。" #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "在文件顶部,在导入和 ``class HelloWorld`` " -"定义之间,添加一个实用程序方法,以根据所提供的名称值生成适当的问候语::" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "在文件顶部,在导入和 `class HelloWorld` " +"定义之间,添加一个实用程序方法,以根据所提供的名称值生成适当的问候语:" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "然后,修改 ``say_hello`` 回调,以使用这个新的实用程序方法::" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "然后,修改 `say_hello` 回调,以使用这个新的实用程序方法:" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "在开发模式下运行应用程序(使用 ``briefcase " -"dev``),以确认新逻辑是否有效;然后使用一条命令更新、构建和运行应用程序:" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "在开发模式下运行应用程序(使用 `briefcase " +"dev`),以确认新逻辑是否有效;然后使用一条命令更新、构建和运行应用程序:" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." msgstr "" -"package 命令也接受 ``-u`` " -"参数,因此如果你修改了应用程序代码并希望立即重新打包,可以运行 ``briefcase " -"package -u``。" +"package 命令也接受 `-u` " +"参数,因此如果你修改了应用程序代码并希望立即重新打包,可以运行 `briefcase " +"package -u`。" #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -180,7 +180,7 @@ msgstr "现在,我们的应用程序已经打包,可以在桌面平台上发 "的代码。" #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." msgstr "" -"但是在移动设备上呢?在 :doc:`教程 5 ` " +"但是在移动设备上呢?在 [教程 5][tutorial-5/index] " "中,我们将把应用程序转换为移动应用程序,并将其部署到设备模拟器和手机上。" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po index e5a1decb..2600b05c 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -32,8 +32,8 @@ msgid "Create an Android app and compile it" msgstr "创建并编译 Android 应用程序" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "首先,运行 ``create`` 命令。这会下载一个 Android 应用程序模板,并在其中添加您的 Python 代码。" +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "首先,运行 `create` 命令。这会下载一个 Android 应用程序模板,并在其中添加您的 Python 代码。" #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -63,56 +63,56 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." msgstr "" -"首次运行 ``briefcase create android`` 时,Briefcase 会下载 Java JDK 和 " +"首次运行 `briefcase create android` 时,Briefcase 会下载 Java JDK 和 " "Android SDK。文件大小较大,且下载时间可能会较长(10 " "分钟或更长,取决于您的互联网连接速度)。下载完成后,您将会被提示接受 Google " -"的 Android SDK 许可证。还有一些需要同意的许可证 -- 在提示符不停的按 ``y`` " +"的 Android SDK 许可证。还有一些需要同意的许可证 -- 在提示符不停的按 `y` " "以查看与接受所有所需的许可证协议。" #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "完成后,我们的项目中就会有一个\\ ``build/helloworld/android/gradle``\\ 目录,其中包含一个带有 Gradle 构建配置的 Android 项目。这个项目将包含您的应用代码,以及一个包含 Python 解释器的支持包。" +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "完成后,我们的项目中就会有一个\\ `build/helloworld/android/gradle`\\ 目录,其中包含一个带有 Gradle 构建配置的 Android 项目。这个项目将包含您的应用代码,以及一个包含 Python 解释器的支持包。" #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "然后我们可以使用 Briefcase 的 ``build`` 命令将其编译为 Android APK 应用程序文件。" +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "然后我们可以使用 Briefcase 的 `build` 命令将其编译为 Android APK 应用程序文件。" #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 msgid "Gradle may look stuck" msgstr "Gradle 看起来卡住了" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "在 ``briefcase build android`` 步骤中,Gradle(Android 平台构建工具)会打印 \\ ``CONFIGURING: 100%``,似乎什么也没做。别担心,这不是卡住了,而是在下载更多的 Android SDK 组件。根据您的网络连接速度,这可能还需要 10 分钟(或更长时间)。只有在第一次运行 ``build`` 时才会出现这种滞后现象;这些工具将会被缓存,下次构建时将使用缓存版本。" +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "在 `briefcase build android` 步骤中,Gradle(Android 平台构建工具)会打印 \\ `CONFIGURING: 100%`,似乎什么也没做。别担心,这不是卡住了,而是在下载更多的 Android SDK 组件。根据您的网络连接速度,这可能还需要 10 分钟(或更长时间)。只有在第一次运行 `build` 时才会出现这种滞后现象;这些工具将会被缓存,下次构建时将使用缓存版本。" #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 msgid "Run the app on a virtual device" msgstr "在虚拟设备上运行应用程序" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." msgstr "" -"现在我们可以运行应用程序了。您可以使用 Briefcase 的 ``run`` 命令在 Android " +"现在我们可以运行应用程序了。您可以使用 Briefcase 的 `run` 命令在 Android " "设备上运行应用程序。让我们从在 Android 模拟器上运行开始。" #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." msgstr "" -"要运行应用程序,请运行 ``briefcase run " -"android``。运行时,系统会提示你可以在哪些设备上运行应用程序。最后一项总会是创" +"要运行应用程序,请运行 `briefcase run " +"android`。运行时,系统会提示你可以在哪些设备上运行应用程序。最后一项总会是创" "建新安卓模拟器的选项。" #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." msgstr "" "现在我们可以选择想要的设备。选择 \"Create a new Android emulator\" " -"选项,并接受默认的设备名称(``beePhone``)。" +"选项,并接受默认的设备名称(`beePhone`)。" #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase ``run`` 将自动启动虚拟设备。设备启动时,您将看到 Android 徽标:" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "Briefcase `run` 将自动启动虚拟设备。设备启动时,您将看到 Android 徽标:" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -146,12 +146,11 @@ msgid "The emulator didn't start!" msgstr "模拟器没有启动!" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." msgstr "" "安卓模拟器是一个复杂的软件,依赖于许多硬件和操作系统功能,这些功能在旧机器上" "可能无法使用或启用。如果在启动 Android 模拟器时遇到任何困难,请查阅 Android " -"开发人员文档中的\\ `要求和建议 `__\\ 部分。" +"开发人员文档中的\\ [要求和建议]{1} 部分。" #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" @@ -168,8 +167,8 @@ msgstr "完全启动后的演示应用程序" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "如果看不到应用程序启动,可能需要检查运行 ``briefcase run`` 的终端,查看是否有错误信息。" +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "如果看不到应用程序启动,可能需要检查运行 `briefcase run` 的终端,查看是否有错误信息。" #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." @@ -177,8 +176,8 @@ msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "今后,如果想在该设备上运行而不使用菜单,可以向 Briefcase 提供模拟器名称,使用 ``briefcase run android -d @beePhone`` 直接在虚拟设备上运行。" +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "今后,如果想在该设备上运行而不使用菜单,可以向 Briefcase 提供模拟器名称,使用 `briefcase run android -d @beePhone` 直接在虚拟设备上运行。" #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 #, fuzzy @@ -207,18 +206,18 @@ msgstr "启用 USB 调试" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 #, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "有关如何进行这些更改的详细信息,请参阅 Android 开发人员文档 `__。" +msgid "Details on how to make these changes can be found `in the Android developer documentation]{1}." +msgstr "有关如何进行这些更改的详细信息,[请参阅 Android 开发人员文档]{1}。" #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "完成这些步骤后,在运行 ``briefcase run android`` 时,您的设备应出现在可用设备列表中。" +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "完成这些步骤后,在运行 `briefcase run android` 时,您的设备应出现在可用设备列表中。" #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "在这里,我们可以在部署列表中看到一个带有序列号的新物理设备--在本例中是 Pixel 3a。将来,如果你想不使用菜单而在该设备上运行,可以向 Briefcase 提供手机序列号(本例中为 ``briefcase run android -d 94ZZY0LNE8``)。这将直接在设备上运行,无需提示。" +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "在这里,我们可以在部署列表中看到一个带有序列号的新物理设备--在本例中是 Pixel 3a。将来,如果你想不使用菜单而在该设备上运行,可以向 Briefcase 提供手机序列号(本例中为 `briefcase run android -d 94ZZY0LNE8`)。这将直接在设备上运行,无需提示。" #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd #, fuzzy @@ -232,13 +231,13 @@ msgstr "如果你的设备根本没有出现在这个列表中,要么是你没 #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "如果你的设备出现了,但却被列为 \"未知设备(未授权开发)\",那么开发者模式尚未正确启用。重新运行 \"启用开发者选项的步骤 `__\",并重新运行 \"briefcase run android\"。" +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "如果你的设备出现了,但却被列为 \"未知设备(未授权开发)\",那么开发者模式尚未正确启用。重新运行 [启用开发者选项的步骤]{1},并重新运行 \"briefcase run android\"。" #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ :doc:`教程 6 <../tutorial-6>`\\ 了解更多..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po index cdc12b66..c2f06c7a 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -20,10 +20,9 @@ msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "教程 5 - 在移动设备上:iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." msgstr "" -"编译 iOS 应用程序需要 Xcode,可从 `macOS App Store `__ 免费下载。当 Xcode " +"编译 iOS 应用程序需要 Xcode,可从 [macOS App Store]{1} 免费下载。当 Xcode " "完成安装时,从“应用程序”打开它并接受 Xcode 许可协议。接下来,Xcode " "会展示哪些模拟器运行时已内置,哪些可以下载。选择 iOS " "模拟器运行时旁边的复选框,并点击“继续”来下载和安装它。" @@ -33,20 +32,20 @@ msgid "Once we've got Xcode and the iOS simulator installed, we can take our app msgstr "安装好 Xcode 与 iOS 模拟器后,我们就可以将应用程序作为 iOS 应用程序进行部署。" #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "将应用程序部署到 iOS 的过程与部署桌面应用程序的过程非常相似。首先,运行 ``create`` 命令,但这次我们指定要创建一个 iOS 应用程序:" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "将应用程序部署到 iOS 的过程与部署桌面应用程序的过程非常相似。首先,运行 `create` 命令,但这次我们指定要创建一个 iOS 应用程序:" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "完成此操作后,我们将拥有一个包含 Xcode 项目、支持库和应用程序所需应用程序代码的 ``build/helloworld/ios/xcode`` 目录。" +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "完成此操作后,我们将拥有一个包含 Xcode 项目、支持库和应用程序所需应用程序代码的 `build/helloworld/ios/xcode` 目录。" #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "然后,您可以使用 ``briefcase build iOS`` 来编译应用程序:" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "然后,您可以使用 `briefcase build iOS` 来编译应用程序:" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "现在我们可以使用 ``briefcase run iOS`` 运行应用程序了。Briefcase 会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器,可能还会询问你要针对哪个 iOS 版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们而言,选择哪个模拟器并不重要。" +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "现在我们可以使用 `briefcase run iOS` 运行应用程序了。Briefcase 会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器,可能还会询问你要针对哪个 iOS 版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们而言,选择哪个模拟器并不重要。" #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" @@ -65,8 +64,8 @@ msgstr "" "测试新更改。" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "如果事先知道要使用哪个 iOS 模拟器,可以通过提供 ``-d``(或 ``--device``)选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "如果事先知道要使用哪个 iOS 模拟器,可以通过提供 `-d`(或 `--device`)选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" @@ -81,8 +80,8 @@ msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ :doc:`教程 6 <../tutorial-6>`\\ 了解更多..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store]{1}." #~ msgstr "要编译 iOS 应用程序,我们需要使用 Xcode,它可从 MacOS 应用商店 `__ 免费获取。" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po index 9bcb8e27..ecd8a83d 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -40,8 +40,8 @@ msgstr "Android" msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "安卓应用程序可在 macOS、Windows 或 Linux 上编译。" -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`Let's build our app for iOS!`" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[Let's build our app for iOS!`" -#~ msgid ":doc:`Let's build our app for Android! `" +#~ msgid ":doc:`Let's build our app for Android!][android]" #~ msgstr ":doc:`Let's build our app for Android!`" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po index 40fd3028..02a36566 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po @@ -67,8 +67,8 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "这将打开一个网页浏览器,指向 `http://127.0.0.1:8080 " +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "这将打开一个网页浏览器,指向 [http://127.0.0.1:8080 " "`__:" #: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 @@ -84,19 +84,19 @@ msgid "How does this work?" msgstr "这是怎么工作的?" #: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." msgstr "" "此网络应用程序是一个静态网站 -- 一个 HTML 源页面,包含一些 CSS 和其他资源。" "Briefcase " "启动了一个本地网络服务器来提供该页面,以便您的浏览器可以查看该页面。如果您想" -"将此网页进入生产,可以将 ``www`` " +"将此网页进入生产,可以将 `www` " "文件夹中的内容复制到任何可以提供静态内容的网络服务器上。" #: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." msgstr "" -"但当你按下按钮时,你运行的是 Python 代码......这是怎么做到的呢?Toga 使用 `" -"PyScript `__ 在浏览器中提供 Python 解释器。Briefcase " +"但当你按下按钮时,你运行的是 Python 代码......这是怎么做到的呢?Toga 使用" +"[PyScript]{1} 在浏览器中提供 Python 解释器。Briefcase " "将应用程序的代码打包成 PyScript 可以在浏览器中加载的 " "wheels。加载页面时,应用代码会在浏览器中运行,并使用浏览器 DOM " "构建用户界面。当您点击按钮时,该按钮会在浏览器中运行事件处理代码。" @@ -106,8 +106,8 @@ msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." msgstr "" "虽然我们现在已经在桌面、手机和网络上部署了这个应用程序,但该应用程序相当简单" ",不涉及任何第三方库。我们可以在应用程序中包含 Python 包索引 (PyPI) " -"中的库吗?请访问 :doc:`教程7 ` 了解详情..." +"中的库吗?请访问 [教程7][tutorial-7] 了解详情..." diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po index 694892f8..da3fd655 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po @@ -36,21 +36,20 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "让我们修改我们的应用程序,使其能够显示比“你好!”更丰富的内容。" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" -"为了为我们的对话框生成一些更有趣的内容,我们将使用一款名为 `Faker `__ 的库。Faker 是一个用于生成假内容的 " +"为了为我们的对话框生成一些更有趣的内容,我们将使用一款名为 [Faker]{1} 的库。Faker 是一个用于生成假内容的 " "Python 软件包,包括生成名字与文本块。Faker " "通过它提供的词语列表以生成这些内容。我们将用 Faker " "构建一条假信息,就像有人在向用户回应一样。" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "我们开始吧 ``faker`` 添加到我们的应用程序中。在 ``app.py`` 的最上方加入一个导入,用于导入 ``faker``::" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "我们开始吧 `faker` 添加到我们的应用程序中。在 `app.py` 的最上方加入一个导入,用于导入 `faker`:" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "然后修改 ``say_hello()`` 回调,使其看起来像这样::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." @@ -102,11 +101,11 @@ msgid "You can't run an iOS app in developer mode - use the instructions for you msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" msgstr "" -"发生了什么?我们已经将 ``faker`` 添加到我们的\\ *代码*\\ " +"发生了什么?我们已经将 `faker` 添加到我们的\\ *代码*\\ " "中,但我们还没有将它添加到我们的开发虚拟环境中。要解决这个问题,我们可以用 " -"``pip`` 安装 ``faker``,然后重新运行 ``briefcase dev``:" +"`pip` 安装 `faker`,然后重新运行 `briefcase dev`:" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -137,8 +136,8 @@ msgstr "运行更新后的应用程序" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "让我们将更新后的应用程序代码打包为独立应用程序。由于我们对代码进行了修改,因此需要遵循 :doc:`Tutorial 4` 中的相同步骤:" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "让我们将更新后的应用程序代码打包为独立应用程序。由于我们对代码进行了修改,因此需要遵循 [Tutorial 4` 中的相同步骤:" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -199,8 +198,8 @@ msgstr "但是,当应用程序运行时,您会在控制台中看到一个错 #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "应用程序再次启动失败,因为已经安装了 ``httpx`` - 但为什么呢?我们不是已经安装了 ``httpx`` 吗?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "应用程序再次启动失败,因为已经安装了 `httpx` - 但为什么呢?我们不是已经安装了 `httpx` 吗?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -209,8 +208,8 @@ msgstr "我们有,但仅限于开发环境。你的开发环境完全在你的 #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "要保证别人的 Python 环境包含它所需要的一切,唯一的办法就是构建一个完全隔离的 Python 环境。这意味着有一个完全独立的 Python 安装,和一套完全独立的依赖关系。这就是当你运行 ``briefcase build`` 时,Briefcase 正在构建的 - 一个隔离的 Python 环境。这也解释了为什么没有安装 ``httpx`` - 它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "要保证别人的 Python 环境包含它所需要的一切,唯一的办法就是构建一个完全隔离的 Python 环境。这意味着有一个完全独立的 Python 安装,和一套完全独立的依赖关系。这就是当你运行 `briefcase build` 时,Briefcase 正在构建的 - 一个隔离的 Python 环境。这也解释了为什么没有安装 `httpx` - 它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -224,43 +223,43 @@ msgstr "更新依赖项" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "在应用程序的根目录中,有一个名为 ``pyproject.toml`` 的文件。该文件包含您最初运行 ``briefcase new`` 时提供的所有应用程序配置详细信息。" +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "在应用程序的根目录中,有一个名为 `pyproject.toml` 的文件。该文件包含您最初运行 `briefcase new` 时提供的所有应用程序配置详细信息。" #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" msgstr "pyproject.toml \"分为多个部分,其中一部分描述了应用程序的设置::" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." msgstr "requires \"选项描述了应用程序的依赖关系。它是一个字符串列表,其中指定了您希望应用程序包含的库(以及可选的版本)。" #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "修改 ``requires`` 设置为::" +msgid "Modify the `requires` setting so that it reads:" +msgstr "修改 `requires` 设置为::" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "通过添加此设置,我们告诉 Briefcase \"当你构建我的应用程序时,运行 ``pip install httpx`` 到应用程序捆绑包中\"。任何可以合法输入到 ``pip install`` 的内容都可以在这里使用--因此,你可以指定:" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "通过添加此设置,我们告诉 Briefcase \"当你构建我的应用程序时,运行 `pip install httpx` 到应用程序捆绑包中\"。任何可以合法输入到 `pip install` 的内容都可以在这里使用--因此,你可以指定:" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "特定的库版本(例如, ``\"httpx===0.19.0\"`` );" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "特定的库版本(例如, `\"httpx===0.19.0\"` );" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "一系列库版本(例如, ``\"httpx>=0.19\"`` );" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "一系列库版本(例如, `\"httpx>=0.19\"` );" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "指向 git 仓库的路径(例如,``\"git+https://github.com/encode/httpx\"``);或" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "指向 git 仓库的路径(例如,`\"git+https://github.com/encode/httpx\"`);或" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" @@ -268,52 +267,52 @@ msgstr "本地文件路径(不过需要注意的是:如果你把代码交给 #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "在 ``pyproject.toml`` 中的更下面部分,你会注意到与操作系统相关的其他部分,如 ``[tool.briefcase.app.helloworld.macOS]`` 和 ``[tool.briefcase.app.helloworld.windows]``。这些部分**也有一个 ``requires`` 设置。这些设置允许你定义额外的特定平台依赖关系,例如,如果你需要一个特定平台的库来处理应用程序的某些方面,你可以在特定平台的 ``requires`` 部分中指定该库,而该设置将仅用于该平台。你会注意到,所有的 ``toga`` 库都是在特定平台的 ``requires`` 部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "在 `pyproject.toml` 中的更下面部分,你会注意到与操作系统相关的其他部分,如 `[tool.briefcase.app.helloworld.macOS]` 和 `[tool.briefcase.app.helloworld.windows]`。这些部分**也有一个 `requires` 设置。这些设置允许你定义额外的特定平台依赖关系,例如,如果你需要一个特定平台的库来处理应用程序的某些方面,你可以在特定平台的 `requires` 部分中指定该库,而该设置将仅用于该平台。你会注意到,所有的 `toga` 库都是在特定平台的 `requires` 部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "在我们的例子中,我们希望 ``httpx`` 安装在所有平台上,因此使用了应用程序级的 ``requires`` 设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项之外*安装。" +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "在我们的例子中,我们希望 `httpx` 安装在所有平台上,因此使用了应用程序级的 `requires` 设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项之外*安装。" #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "既然我们已经告诉了 Briefcase 我们的额外需求,那么我们就可以再次尝试打包应用程序了。确保已将更改保存到 ``pyproject.toml``,然后再次更新应用程序--这一次,传递 ``-r`` 标志。这将告诉 Briefcase 更新打包应用程序中的需求:" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "既然我们已经告诉了 Briefcase 我们的额外需求,那么我们就可以再次尝试打包应用程序了。确保已将更改保存到 `pyproject.toml`,然后再次更新应用程序--这一次,传递 `-r` 标志。这将告诉 Briefcase 更新打包应用程序中的需求:" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "更新完成后,您可以运行 ``briefcase build`` 和 ``briefcase run`` - 您应该会看到打包后的应用程序,并带有新的对话框行为。" +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "更新完成后,您可以运行 `briefcase build` 和 `briefcase run` - 您应该会看到打包后的应用程序,并带有新的对话框行为。" #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "用于更新需求的 ``-r`` 选项也会被 ``build` 和 ``run` 命令接受,因此如果你想一步完成更新、编译和运行,可以使用 ``briefcase run -u -r``。" +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "用于更新需求的 `-r` 选项也会被 `build` 和 `run` 命令接受,因此如果你想一步完成更新、编译和运行,可以使用 `briefcase run -u -r`。" #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)][https://pypi.org]__, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"都可以添加到您的需求中。在移动和网络平台上,\"您的选择略显有限 `__。" +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"都可以添加到您的需求中。在移动和网络平台上,[您的选择略显有限]{1}。" #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 @@ -327,26 +326,26 @@ msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "访问应用程序接口" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "应用程序需要执行的一项常见任务是向网络应用程序接口发出请求以获取数据,并将数据显示给用户。这是一个玩具应用程序,因此我们没有\\ *真正*\\ 的 API 可供使用,所以我们将使用 `{JSON} 占位符 API `__ 作为数据源。" +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "应用程序需要执行的一项常见任务是向网络应用程序接口发出请求以获取数据,并将数据显示给用户。这是一个玩具应用程序,因此我们没有\\ *真正*\\ 的 API 可供使用,所以我们将使用 [{JSON} 占位符 API]{1} 作为数据源。" -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "{JSON} 占位符 API 有许多 \"伪造 \"的 API 端点,您可以将其用作测试数据。其中一个 API 是 ``/posts/`` 端点,它会返回虚假的博客文章。如果在浏览器中打开 ``https://jsonplaceholder.typicode.com/posts/42`` ,就会得到一个描述单篇博文的 JSON 有效载荷--ID 为 42 的博文的一些 `Lorum ipsum `__ 内容。" +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "{JSON} 占位符 API 有许多 \"伪造 \"的 API 端点,您可以将其用作测试数据。其中一个 API 是 `/posts/` 端点,它会返回虚假的博客文章。如果在浏览器中打开 `https://jsonplaceholder.typicode.com/posts/42` ,就会得到一个描述单篇博文的 JSON 有效载荷--ID 为 42 的博文的一些 [Lorum ipsum]{1} 内容。" #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." #~ msgstr "Python 标准库包含访问 API 所需的所有工具。然而,内置的 API 是非常低级的。它们很好地实现了 HTTP 协议,但需要用户管理大量低级细节,如 URL 重定向、会话、身份验证和有效负载编码。作为一名 \"普通浏览器用户\",你可能已经习惯了将这些细节视为理所当然,因为浏览器会为你管理这些细节。" -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "因此,人们开发了第三方库来封装内置的 API,并提供更简单的 API,使其更符合日常的浏览器体验。我们将使用其中一个库来访问 {JSON} 占位符 API - 一个名为 `httpx `__ 的库。" +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "因此,人们开发了第三方库来封装内置的 API,并提供更简单的 API,使其更符合日常的浏览器体验。我们将使用其中一个库来访问 {JSON} 占位符 API - 一个名为 [httpx]{1} 的库。" -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "这将更改 ``say_hello()`` 回调,使它在被调用时,会:" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "这将更改 `say_hello()` 回调,使它在被调用时,会:" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "在 JSON 占位符 API 上发出 GET 请求,以获取post42;" @@ -366,5 +365,5 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "简而言之,任何*纯 Python* 包(即*不包含二进制模块的包)都可以毫无困难地使用。但是,如果您的依赖包包含二进制组件,则必须对其进行编译;目前,大多数 Python 包都不支持非桌面平台的编译。" -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." #~ msgstr "我们现在有了一个使用第三方库的应用程序!不过,您可能已经注意到,当您按下按钮时,应用程序会变得有点反应迟钝。我们能解决这个问题吗?请访问 :doc:`Tutorial 8` 了解详情..." diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po index e837739a..1849a11b 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po @@ -47,15 +47,15 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" -"这只是个入门级的应用,我们没有*真正*的API可供调用,所以我们将使用`{JSON}占位" -"符API`__作为数据来源。{JSON}占位符API有" -"一系列“虚假”的API端点可以供您作为测试数据调用。其中之一就是``/posts/" -"``端点,它会返回一些虚假的博客推文。如果您在浏览器中访问``https://" +"这只是个入门级的应用,我们没有*真正*的API可供调用,所以我们将使用[{JSON}占位" +"符API]{1} 作为数据来源。{JSON}占位符API有" +"一系列“虚假”的API端点可以供您作为测试数据调用。其中之一就是`/posts/" +"`端点,它会返回一些虚假的博客推文。如果您在浏览器中访问`https://" "jsonplaceholder.typicode.com/posts/" -"42``,您将会得到一串看起来像是在发推文的JSON数据——不过内容是ID为42的一些`乱数" -"假文(Lorum ipsum) `__。" +"42`,您将会得到一串看起来像是在发推文的JSON数据——不过内容是ID为42的一些`乱数" +"假文 [Lorum ipsum]{2}。" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." @@ -68,23 +68,23 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "然后修改 ``say_hello()`` 回调,使其看起来像这样::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -104,7 +104,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -176,8 +176,8 @@ msgid "To understand why this happens, we need to dig into the details of how a msgstr "要理解为什么会出现这种情况,我们需要深入了解图形用户界面应用程序的工作原理。具体细节因平台而异,但无论使用何种平台或图形用户界面环境,高层概念都是相同的。" #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -msgid "A GUI app is, fundamentally, a single loop that looks something like::" -msgstr "从根本上说,图形用户界面应用程序就是一个单一的循环,看起来就像::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "从根本上说,图形用户界面应用程序就是一个单一的循环,看起来就像:" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 #, fuzzy @@ -186,12 +186,12 @@ msgstr "这个循环被称为 *事件循环*。(这些并不是实际的方法 #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "当你点击一个按钮、拖动一个滚动条或输入一个键时,你就产生了一个 \"事件\"。该 \"事件 \"被放入一个队列,应用程序将在下一次有机会时处理队列中的事件。为响应事件而触发的用户代码称为*事件处理程序*。这些事件处理程序作为``process_events()``调用的一部分被调用。" +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "当你点击一个按钮、拖动一个滚动条或输入一个键时,你就产生了一个 \"事件\"。该 \"事件 \"被放入一个队列,应用程序将在下一次有机会时处理队列中的事件。为响应事件而触发的用户代码称为*事件处理程序*。这些事件处理程序作为`process_events()`调用的一部分被调用。" #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "应用程序处理完所有可用事件后,就会 重绘 (``redraw()``)图形用户界面。这将考虑到事件对应用程序显示所造成的任何变化,以及操作系统中发生的任何其他情况,例如,其他应用程序的窗口可能会遮挡或显示我们应用程序的部分窗口,而我们应用程序的重绘将需要反映当前可见的窗口部分。" +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "应用程序处理完所有可用事件后,就会 重绘 (`redraw()`)图形用户界面。这将考虑到事件对应用程序显示所造成的任何变化,以及操作系统中发生的任何其他情况,例如,其他应用程序的窗口可能会遮挡或显示我们应用程序的部分窗口,而我们应用程序的重绘将需要反映当前可见的窗口部分。" #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 #, fuzzy @@ -235,8 +235,8 @@ msgstr "异步函数(称为 * 协同例程*)需要明确声明为异步函 #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "在 Python 中,异步编程是通过 ``async`` 和 ``await`` 关键字以及标准库中的 `asyncio `__ 模块来实现的。`async`` 关键字允许我们声明一个函数是异步协程。关键字 ``await`` 提供了一种方法来声明何时有机会将上下文切换到另一个协程。`asyncio `__ 模块为异步编码提供了一些其他有用的工具和原语。" +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "在 Python 中,异步编程是通过 `async` 和 `await` 关键字以及标准库中的 [asyncio]{1} 模块来实现的。[async` 关键字允许我们声明一个函数是异步协程。关键字 `await` 提供了一种方法来声明何时有机会将上下文切换到另一个协程。[asyncio]{2} 模块为异步编码提供了一些其他有用的工具和原语。" #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -245,7 +245,7 @@ msgstr "使教程异步化" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 #, fuzzy -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" msgstr "为了使我们的教程成为异步教程,请修改事件处理程序 \"say_hello()\",使其看起来像这样::" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 @@ -255,20 +255,20 @@ msgstr "与上一版本相比,该代码只有 4 处改动:" #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d #, fuzzy -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "创建的客户端是异步的 ``AsyncClient()`` 而不是同步的 ``Client()`。这就告诉 ``httpx`` 应在异步模式而非同步模式下运行。" +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "创建的客户端是异步的 `AsyncClient()` 而不是同步的 `Client()[。这就告诉 `httpx` 应在异步模式而非同步模式下运行。" #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d #, fuzzy -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "用于创建客户端的上下文管理器被标记为 ``async``。这就告诉 Python,当上下文管理器进入和退出时,有机会释放控制。" +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "用于创建客户端的上下文管理器被标记为 `async`。这就告诉 Python,当上下文管理器进入和退出时,有机会释放控制。" #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -279,7 +279,7 @@ msgstr "Toga 允许你使用常规方法或异步协程作为处理程序;Toga #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "如果保存这些更改并重新运行应用程序(在开发模式下使用 ``briefcase dev`` 或更新并重新运行打包的应用程序),应用程序不会有任何明显的变化。不过,当您点击按钮触发对话框时,您可能会注意到一些细微的改进:" +msgstr "如果保存这些更改并重新运行应用程序(在开发模式下使用 `briefcase dev` 或更新并重新运行打包的应用程序),应用程序不会有任何明显的变化。不过,当您点击按钮触发对话框时,您可能会注意到一些细微的改进:" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 #, fuzzy @@ -301,7 +301,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "如果尝试打开应用程序菜单,菜单会立即出现。" #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -353,34 +353,34 @@ msgid "So - where to from here?" msgstr "" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." msgstr "" #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." msgstr "" #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "现在,我们已经有了一个既流畅又反应灵敏的应用程序,即使在等待速度较慢的应用程序接口时也是如此。但是,我们如何确保在继续进一步开发的过程中,应用程序仍能正常运行?如何测试应用程序?请访问 :doc:`Tutorial 9` 了解详情..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "现在,我们已经有了一个既流畅又反应灵敏的应用程序,即使在等待速度较慢的应用程序接口时也是如此。但是,我们如何确保在继续进一步开发的过程中,应用程序仍能正常运行?如何测试应用程序?请访问 [Tutorial 9[ 了解详情..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "方法定义为 ``asyncdef``,而不只是 ``def``。这告诉 Python 该方法是一个异步协程。" +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "方法定义为 `asyncdef`,而不只是 `def`。这告诉 Python 该方法是一个异步协程。" -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." #~ msgstr "get \"调用带有 \"await \"关键字。这指示应用程序在等待网络响应时,可以将控制权释放给事件循环。" -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." #~ msgstr "" -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." #~ msgstr "" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po index 04e3d1e0..18dd8f40 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po @@ -31,18 +31,18 @@ msgstr "运行测试套件" #: ../../tutorial/tutorial-9.rst:13 09c92fbb8b164f6fa46458fba4009628 #, fuzzy -msgid "It turns out our project already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:src \"和 \"tests\"。src \"文件夹包含应用程序的代码;\"tests \"文件夹包含测试套件。在 ``tests`` 文件夹中,有一个名为 ``test_app.py`` 的文件,内容如下::" +msgid "It turns out our project already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:src \"和 \"tests\"。src \"文件夹包含应用程序的代码;\"tests \"文件夹包含测试套件。在 `tests` 文件夹中,有一个名为 `test_app.py` 的文件,内容如下::" #: ../../tutorial/tutorial-9.rst:23 a59b93a912854067b72e4dc131f63887 #, fuzzy -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "这是一个 `Pytest `__ *测试用例* - 可以执行的代码块,用于验证应用程序的某些行为。在本例中,该测试是一个占位符,并不测试我们应用程序的任何内容,但我们可以执行该测试。" +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "这是一个 [Pytest]{1} *测试用例* - 可以执行的代码块,用于验证应用程序的某些行为。在本例中,该测试是一个占位符,并不测试我们应用程序的任何内容,但我们可以执行该测试。" #: ../../tutorial/tutorial-9.rst:28 4d9dbd44684b46638128fdf048729189 #, fuzzy -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "我们可以使用 ``briefcase dev`` 的 ``--test`` 选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 ``-r`` 选项,以确保测试需求也已安装:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "我们可以使用 `briefcase dev` 的 `--test` 选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` 选项,以确保测试需求也已安装:" #: ../../tutorial/tutorial-9.rst:34 ../../tutorial/tutorial-9.rst:139 #: ../../tutorial/tutorial-9.rst:209 ../../tutorial/tutorial-9.rst:326 @@ -75,8 +75,8 @@ msgstr "成功了!我们刚刚执行了一个测试,验证了 Python 数学 #: ../../tutorial/tutorial-9.rst:112 075cb21da3a54abdba43182366f6554a #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "让我们用一个测试来替换这个占位符测试,以验证我们的 ``greeting()`` 方法是否按照我们预期的方式运行。用以下内容替换 ``test_app.py`` 中的内容::" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` 方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容::" #: ../../tutorial/tutorial-9.rst:130 3911037704b24843b30fc87144226ceb #, fuzzy @@ -85,13 +85,13 @@ msgstr "这将定义两个新测试,验证我们期望看到的两种行为: #: ../../tutorial/tutorial-9.rst:133 281cadf9d1bc477a9f8adbb213f53211 #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "现在我们可以重新运行测试套件。这一次,我们不需要提供 ``-r`` 选项,因为测试需求已经安装完毕;我们只需要使用 ``--test`` 选项:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` 选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" #: ../../tutorial/tutorial-9.rst:190 f6793768beb04843b7089ebf90a0d712 #, fuzzy -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "非常好我们的 ``greeting()`` 实用程序方法如期工作了。" +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "非常好我们的 `greeting()` 实用程序方法如期工作了。" #: ../../tutorial/tutorial-9.rst:193 00ec17fba6fd48bc9443bcd3114a9f86 #, fuzzy @@ -100,8 +100,8 @@ msgstr "测试驱动开发" #: ../../tutorial/tutorial-9.rst:195 af38e016b4494ded99ff84e4a854ab72 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位用户添加特殊的问候语。首先,我们可以在 ``test_app.py``':的底部为我们希望看到的新行为添加一个测试用例:" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位用户添加特殊的问候语。首先,我们可以在 `test_app.py`':的底部为我们希望看到的新行为添加一个测试用例:" #: ../../tutorial/tutorial-9.rst:205 3f5bcdb2f18c487bacc726b46150b1b3 #, fuzzy @@ -110,8 +110,8 @@ msgstr "然后,用这个新测试运行测试套件:" #: ../../tutorial/tutorial-9.rst:307 a18fd7b9f69c4e51bf13b2178368d84d #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 \"BeeWare the IDEs of Python!\",但我们的 ``greeting()`` 实现却返回 \"Hello, Brutus\"。让我们修改 ``src/helloworld/app.py`` 中 ``greeting()`` 的实现,使其具有新的行为::" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 \"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 \"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` 的实现,使其具有新的行为::" #: ../../tutorial/tutorial-9.rst:322 f32631a5038e4c878e9dd3a9fe067386 #, fuzzy @@ -130,25 +130,25 @@ msgstr "到目前为止,我们一直在开发模式下运行测试。这在开 #: ../../tutorial/tutorial-9.rst:389 0ab123fec4fa421ebcd01f5498675ecb #, fuzzy -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "`-test``和`-r``选项也可以传递给`run`命令。如果使用 ``briefcase run --test -r``,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发环境中运行:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "[-test`和`-r`选项也可以传递给`run`命令。如果使用 `briefcase run --test -r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发环境中运行:" #: ../../tutorial/tutorial-9.rst:508 258cdcbd93bc4326989cb659e476a855 #, fuzzy -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "与 ``briefcase dev --test`` 一样,只有在第一次运行测试套件时才需要使用 ``-r`` 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r` 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" #: ../../tutorial/tutorial-9.rst:512 5bdcaccd83054bc0b5d91a40e9bf0f00 #, fuzzy -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "你也可以在移动后端使用 ``--test`` 选项:因此 ``briefcase run iOS --test`` 和 ``briefcase run android --test`` 都可以在你选择的移动设备上运行测试套件。" +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "你也可以在移动后端使用 `--test` 选项:因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以在你选择的移动设备上运行测试套件。" #: ../../tutorial/tutorial-9.rst:517 25dee6c2ad704e26ad008f713c0770b0 msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-9.rst:519 de845c7c4bb440caab7634cdc872d9bb -msgid "We've now got a a test suite for our application. But it still looks like a tutorial app. Is there anything we can do about that? Turn to :doc:`Tutorial 10 ` to find out..." +msgid "We've now got a a test suite for our application. But it still looks like a tutorial app. Is there anything we can do about that? Turn to [Tutorial 10][tutorial-10] to find out..." msgstr "" #~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" @@ -157,9 +157,9 @@ msgstr "" #~ msgid "Some places to go from here:" #~ msgstr "从这里可以去一些地方:" -#~ msgid "Tutorials demonstrating `features of the Toga widget toolkit `__." -#~ msgstr "演示 \"Toga widget 工具包 `__ 的功能 \"的教程。" +#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" -#~ msgid "Details on the `options available when configuring your Briefcase project `__." -#~ msgstr "配置您的 Briefcase 项目 `__ 时可用选项的详细信息。" +#~ msgid "Details on the [options available when configuring your Briefcase project]{1}." +#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po index 4a57e7a6..5401b901 100644 --- a/locales/zh_TW/LC_MESSAGES/how-to/index.po +++ b/locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -24,11 +24,11 @@ msgid "Contributing to this tutorial" msgstr "" #: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using `Sphinx and reStructuredText `__. This guide will help you contribute fixes or new content to this tutorial." +msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." msgstr "" #: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using `Weblate `__. If you'd like to contribute to the translation effort, join the ``#translations`` channel on `Discord `__ and introduce yourself!" +msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" msgstr "" #: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a @@ -36,7 +36,7 @@ msgid "Set up your development environment" msgstr "" #: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., ``python3`` must start a Python 3.12 interpreter)." +msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." msgstr "" #: ../../how-to/index.rst:25 ../../how-to/index.rst:53 @@ -99,7 +99,7 @@ msgid "You'll also need to install the Enchant spell checking library." msgstr "" #: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using `Homebrew `__:" +msgid "Enchant can be installed using [Homebrew]{1}:" msgstr "" #: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d @@ -139,7 +139,7 @@ msgid "The recommended way of setting up your development environment for BeeWar msgstr "" #: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a ``(venv)`` prefix in front of it." +msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 @@ -151,12 +151,12 @@ msgid "For updates to BeeWare documentation:" msgstr "" #: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to `the BeeWare page on GitHub `__, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" #: ../../how-to/index.rst:150 ../../how-to/index.rst:158 #: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then::" +msgid "Fork the BeeWare repository, and then:" msgstr "" #: ../../how-to/index.rst:154 ../../how-to/index.rst:162 @@ -182,7 +182,7 @@ msgid "Install pre-commit" msgstr "" #: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called `Pre-Commit `__ to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" msgstr "" #: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 @@ -210,7 +210,7 @@ msgid "Once your development environment is set up, run:" msgstr "" #: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 @@ -226,11 +226,11 @@ msgid "This will build the documentation, start a web server to serve the build msgstr "" #: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the ``docs`` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the ``docs-live-src`` target to build docs:" +msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" msgstr "" #: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as ``docs-live``, but will also monitor any changes to the ``core/src`` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." msgstr "" #: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a @@ -254,7 +254,7 @@ msgid "misspelled words" msgstr "" #: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in ``docs/spelling_wordlist``. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" msgstr "" #: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf @@ -278,7 +278,7 @@ msgid "To force a rebuild for all of the documentation:" msgstr "" #: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the ``docs/_build/html`` folder. If there are any markup problems, they'll raise an error." +msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." msgstr "" #: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 @@ -286,7 +286,7 @@ msgid "What to work on?" msgstr "" #: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are `tickets tagged \"documentation\" `__ in BeeWare's issue tracker." +msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" #: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 @@ -302,15 +302,15 @@ msgid "Before you submit a pull request, there's a few bits of housekeeping to d msgstr "" #: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your ``main`` branch" +msgid "Submit from a feature branch, not your `main` branch" msgstr "" #: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your ``main`` branch. This is a direct copy of BeeWare's ``main`` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" #: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your ``main`` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your ``main`` branch, reviewers are prevented from making modifications." +msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." msgstr "" #: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po index 515d39d8..fc7f17f9 100644 --- a/locales/zh_TW/LC_MESSAGES/index.po +++ b/locales/zh_TW/LC_MESSAGES/index.po @@ -35,8 +35,8 @@ msgid "Translations are available" msgstr "本頁中文翻譯基於英文文檔翻譯,已由人工審核" #: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `中文(简体) `__, and `中文(繁體) `__." -msgstr "如果您不熟悉中文,可以使用本教學的翻譯版本 `English `__ `Deutsch `__, `Español `__, `Français `__, `Italiano `__, `Português `__, `简体中文 `__ 。" +msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "如果您不熟悉中文,可以使用本教學的翻譯版本 [English]{1} [Deutsch]{2}, [Español]{3}, [Français]{4}, [Italiano]{5}, [Português]{6}, [简体中文]{7} 。" #: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 msgid "This is a machine translation!" @@ -48,8 +48,8 @@ msgstr "此版本的教學是透過機器翻譯產生的。我們知道這並不 #: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f #: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a ``#translations`` channel in `Discord `__. Introduce yourself there and we will add you to the translation team." -msgstr "如果您想要協助改進翻譯,請聯絡我們!我們在 `Discord `__ 中有一個 ``#translations`` 頻道。在那裡進行自我介紹,我們會將您加入翻譯團隊。" +msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." +msgstr "如果您想要協助改進翻譯,請聯絡我們!我們在 [Discord]{1} 中有一個 `#translations` 頻道。在那裡進行自我介紹,我們會將您加入翻譯團隊。" #: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 msgid "This is a translation!" @@ -69,18 +69,18 @@ msgstr "BeeWare 不是一個單一的產品、工具或函式庫 - 它是工具 #: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e #, fuzzy -msgid "`Toga `__, a cross platform widget toolkit;" -msgstr "`Toga `__ ,跨平台小工具包;" +msgid "[Toga]{1}, a cross platform widget toolkit;" +msgstr "[Toga]{1} ,跨平台小工具包;" #: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e #, fuzzy -msgid "`Briefcase `__, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "`Briefcase `__ ,一種將 Python 專案打包為可分發形式(apk、exe等)並可傳送給最終使用者的工具;" +msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1} ,一種將 Python 專案打包為可分發形式(apk、exe等)並可傳送給最終使用者的工具;" #: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc #, fuzzy -msgid "Libraries (such as `Rubicon ObjC `__) for accessing platform-native libraries;" -msgstr "用於存取各個平臺的原生庫的庫(例如 `Rubicon ObjC `__ );" +msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgstr "用於存取各個平臺的原生庫的庫(例如 [Rubicon ObjC]{1} );" #: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." @@ -100,6 +100,6 @@ msgid "Let's go!" msgstr "讓我們開始吧!" #: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? :doc:`Let's build a cross platform application in Python! `" -msgstr "準備好親自嘗試 BeeWare 了嗎? :doc:`讓我們用 Python 建立一個跨平台應用程式! `" +msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" +msgstr "準備好親自嘗試 BeeWare 了嗎? [讓我們用 Python 建立一個跨平台應用程式!][tutorial/tutorial-0]" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po index 78b0f680..3c39e7bf 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po @@ -52,11 +52,11 @@ msgid "Start a new project" msgstr "" #: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the ``briefcase new`` wizard." +msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." msgstr "" #: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the ``helloworld`` project folder, and start a new project named \"Hello Camera\":" +msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" msgstr "" #: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f @@ -64,7 +64,7 @@ msgid "Add code to take a photo" msgstr "" #: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the ``app.py`` for the new application so that it has the following content:" +msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" msgstr "" #: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd @@ -72,15 +72,15 @@ msgid "This code has two changes over the default app that is generated by Brief msgstr "" #: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the ``startup()`` method) adds the two widgets needed to control the camera: an ``ImageView`` to display a photo; and a ``Button`` to trigger the camera." +msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." msgstr "" #: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the ``take_photo()`` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of ``await``; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." msgstr "" #: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an ``Image`` object that can be assigned as the content of the ``ImageView``. If the photo request was canceled by the user, the ``self.camera.take_photo()`` call will return ``None``, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." msgstr "" #: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 @@ -96,7 +96,7 @@ msgid "However, this request comes in two parts. The first is in the code we've msgstr "" #: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.hellocamera]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" msgstr "" #: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b @@ -124,10 +124,10 @@ msgid "Adding more permissions" msgstr "" #: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to ``briefcase create``. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running ``briefcase create``; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." msgstr "" -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the ``[tool.briefcase.app.helloworld]`` configuration section of your app's ``pyproject.toml`` file, add the following (just above the ``sources`` declaration):" +#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" #~ msgstr "" #~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po index 08993a3a..47dd6a1f 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -25,7 +25,7 @@ msgstr "" #: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c #, fuzzy msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "到目前為止,我們的應用程式使用了預設的 ``灰色蜜蜂`` 圖示。我們如何更新應用程式以使用我們自己的圖標?" +msgstr "到目前為止,我們的應用程式使用了預設的 `灰色蜜蜂` 圖示。我們如何更新應用程式以使用我們自己的圖標?" #: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 msgid "Adding an icon" @@ -36,7 +36,7 @@ msgid "Every platform uses a different format for application icons - and some p msgstr "" #: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your ``pyproject.toml``, adding a new ``icon`` configuration item in the ``[tool.briefcase.app.helloworld]`` configuration section, just above the ``sources`` definition::" +msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 @@ -44,7 +44,7 @@ msgid "This icon definition doesn't specify any file extension. The value will b msgstr "" #: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run ``briefcase update`` again - but this time, we pass in the ``--update-resources`` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" msgstr "" #: ../../tutorial/topics/custom-icons.rst:36 @@ -87,7 +87,7 @@ msgid "This reports the specific icon file (or files) that Briefcase is expectin msgstr "" #: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unzip it into the root of your project directory. After unzipping, your project directory should look something like::" +msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 @@ -99,11 +99,11 @@ msgid "Icon of green snake with a light blue background" msgstr "" #: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with ``-adaptive-`` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." msgstr "" #: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, ``briefcase update`` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing ``--update-resources`` to our call to ``run`` - this will update the app, update the app's resources, and then start the app:" +msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f @@ -111,30 +111,30 @@ msgid "If you're using a recent version of Android, you may notice that the app msgstr "" #: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing ``faker`` or ``httpx`` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the ``-r`` argument to update the app requirements." +msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." msgstr "" #: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your ``pyproject.toml``, just after the ``icon`` definition::" +msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to ``briefcase create``. To apply this change, we have to re-create the app by re-running ``briefcase create``. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" msgstr "" #: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using ``briefcase run``. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." msgstr "" #: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your ``pyproject.toml`` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the ``build`` folder, and you shouldn't add the ``build`` folder to your version control system. The ``build`` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." msgstr "" #~ msgid "**Coming soon**" #~ msgstr "**即將推出**" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to :doc:`Tutorial 11 ` to find out..." -#~ msgstr "我們現在在桌面和手機上有了一個帶有自訂圖示的應用程式!我們如何與其他人分享這個應用程式?到 :doc:`教程 11` 找找看..." +#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." +#~ msgstr "我們現在在桌面和手機上有了一個帶有自訂圖示的應用程式!我們如何與其他人分享這個應用程式?到 [教程 11` 找找看..." #~ msgid "Tutorial 10 - Make this app your own" #~ msgstr "教程 10 - 打造您自己的應用程式" @@ -142,6 +142,6 @@ msgstr "" #~ msgid "Next steps" #~ msgstr "下一步" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle <../resources/icons.zip>`, and unpack it into the root of your project directory. After unpacking, your project directory should look something like::" +#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" #~ msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po index 002da45a..497262f5 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po @@ -31,16 +31,16 @@ msgstr "運行測試套件" #: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: ``src`` and ``tests``. The ``src`` folder contains the code for our app; the ``tests`` folder contains our test suite. Inside the ``tests`` folder is a file named ``test_app.py`` with the following content::" -msgstr "事實上,我們的專案已經有測試套件了!當我們最初產生專案時,產生了兩個資料夾: ``src`` 和 ``tests`` 。 ``src`` 資料夾包含我們應用程式的程式碼; ``tests`` 資料夾包含我們的測試套件。在 ``tests`` 資料夾內有一個名為 ``test_app.py`` 的文件,其中包含以下內容:" +msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +msgstr "事實上,我們的專案已經有測試套件了!當我們最初產生專案時,產生了兩個資料夾: `src` 和 `tests` 。 `src` 資料夾包含我們應用程式的程式碼; `tests` 資料夾包含我們的測試套件。在 `tests` 資料夾內有一個名為 `test_app.py` 的文件,其中包含以下內容:" #: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a `Pytest `__ *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "這是一個 `Pytest `__ 的 *測試範例* - 可以執行以驗證應用程式的某些行為的程式碼區塊。在本例中,測試僅是一個範例,不會測試有關我們應用程式的任何內容 - 但它是我們可以執行的測試。" +msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +msgstr "這是一個 [Pytest]{1} 的 *測試範例* - 可以執行以驗證應用程式的某些行為的程式碼區塊。在本例中,測試僅是一個範例,不會測試有關我們應用程式的任何內容 - 但它是我們可以執行的測試。" #: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the ``--test`` option to ``briefcase dev``. As this is the first time we are running tests, we also need to pass in the ``-r`` option to ensure that the test requirements are also installed:" -msgstr "我們可以使用 ``briefcase dev`` 的 ``--test`` 選項來執行這個測試套件。由於這是我們第一次執行測試,我們還需要傳入 ``-r`` 選項以確保測試要求也已安裝:" +msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +msgstr "我們可以使用 `briefcase dev` 的 `--test` 選項來執行這個測試套件。由於這是我們第一次執行測試,我們還需要傳入 `-r` 選項以確保測試要求也已安裝:" #: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 #: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 @@ -71,36 +71,36 @@ msgid "Success! We've just executed a single test that verifies Python math work msgstr "成功了!我們剛剛執行了一個測試,證實了 Python 的數學按照我們期望的方式工作(真是鬆了一口氣!)。" #: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -msgid "Let's replace this placeholder test with a test to verify that our ``greeting()`` method behaves the way we'd expect. Replace the contents of ``test_app.py`` with the following::" -msgstr "讓我們用一個測試來取代這個範例,以驗證我們的 ``greeting()`` 方法的行為是否符合我們的預期。將 ``test_app.py`` 的內容替換為以下內容:" +msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +msgstr "讓我們用一個測試來取代這個範例,以驗證我們的 `greeting()` 方法的行為是否符合我們的預期。將 `test_app.py` 的內容替換為以下內容:" #: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." msgstr "這定義了兩個新的測試,驗證我們期望看到的兩個行為:提供名稱時的輸出,以及名稱為空時的輸出。" #: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the ``-r`` option, as the test requirements have already been installed; we only need to use the ``--test`` option:" -msgstr "我們現在可以重新運行測試套件。這次,我們不需要提供 ``-r`` 選項,因為測試要求已經安裝了;我們只需要使用 ``--test`` 選項:" +msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" +msgstr "我們現在可以重新運行測試套件。這次,我們不需要提供 `-r` 選項,因為測試要求已經安裝了;我們只需要使用 `--test` 選項:" #: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -msgid "Excellent! Our ``greeting()`` utility method is working as expected." -msgstr "非常好!我們的 ``greeting()`` 實用方法按預期工作。" +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "非常好!我們的 `greeting()` 實用方法按預期工作。" #: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 msgid "Test driven development" msgstr "用測試來驅動開發" #: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of ``test_app.py``::" -msgstr "現在我們有了測試套件,我們可以用它來驅動新功能的開發。讓我們修改我們的應用程序,為某個特定用戶提供特殊的問候語。我們可以先為我們希望在 ``test_app.py`` 底部看到的新行為新增一個測試案例::" +msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +msgstr "現在我們有了測試套件,我們可以用它來驅動新功能的開發。讓我們修改我們的應用程序,為某個特定用戶提供特殊的問候語。我們可以先為我們希望在 `test_app.py` 底部看到的新行為新增一個測試案例:" #: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 msgid "Then, run the test suite with this new test:" msgstr "然後,使用這個新測試來執行測試套件:" #: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of ``greeting()`` is returning \"Hello, Brutus\". Let's modify the implementation of ``greeting()`` in ``src/helloworld/app.py`` to have the new behavior::" -msgstr "這次,我們看到測試失敗 - 輸出解釋了失敗的根源:測試期望輸出 ``BeeWare the IDEs of Python!`` ,但我們的 ``greeting()`` 實現返回 ``Hello, Brutus`` 。讓我們修改 src/helloworld/app.py 中的 greeting() 實作以獲得新的行為:" +msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +msgstr "這次,我們看到測試失敗 - 輸出解釋了失敗的根源:測試期望輸出 `BeeWare the IDEs of Python!` ,但我們的 `greeting()` 實現返回 `Hello, Brutus` 。讓我們修改 src/helloworld/app.py 中的 greeting() 實作以獲得新的行為:" #: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 msgid "If we run the tests again, we'll now see our tests pass:" @@ -115,16 +115,16 @@ msgid "So far, we've been running the tests in development mode. This is especia msgstr "到目前為止,我們一直在開發模式下執行測試。當您開發新功能時,這特別有用,因為您可以快速迭代添加測試,並添加程式碼以使這些測試通過。但是,在某些時候,您需要驗證您的程式碼在部署的環境中是否也可以正確運行。" #: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -msgid "The ``--test`` and ``-r`` options can also be passed to the ``run`` command. If you use ``briefcase run --test -r``, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "``--test`` 和 ``-r`` 選項也可以傳遞給 ``run`` 指令。如果您使用 ``briefcase run --test -r`` ,將運行相同的測試套件,但它將在部署的環境中運行,而不是在您的開發環境中運行:" +msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +msgstr "`--test` 和 `-r` 選項也可以傳遞給 `run` 指令。如果您使用 `briefcase run --test -r` ,將運行相同的測試套件,但它將在部署的環境中運行,而不是在您的開發環境中運行:" #: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -msgid "As with ``briefcase dev --test``, the ``-r`` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "與 ``briefcase dev --test`` 一樣,僅在第一次執行測試套件時才需要 ``-r`` 選項,以確保測試依賴項存在。在後續運行中,您可以忽略此選項。" +msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +msgstr "與 `briefcase dev --test` 一樣,僅在第一次執行測試套件時才需要 `-r` 選項,以確保測試依賴項存在。在後續運行中,您可以忽略此選項。" #: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -msgid "You can also use the ``--test`` option on mobile backends: - so ``briefcase run iOS --test`` and ``briefcase run android --test`` will both work, running the test suite on the mobile device you select." -msgstr "您還可以在移動環境下使用 ``--test`` 選項: - 因此 ``briefcase run iOS --test`` 和 ``briefcase run android --test`` 都可以工作,在您選擇的移動設備上運行測試套件。" +msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +msgstr "您還可以在移動環境下使用 `--test` 選項: - 因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以工作,在您選擇的移動設備上運行測試套件。" #~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" #~ msgstr "這是您對 BeeWare 專案提供的工具的嘗試。您可以決定要從哪做起!" @@ -132,10 +132,10 @@ msgstr "您還可以在移動環境下使用 ``--test`` 選項: - 因此 ``bri #~ msgid "Some places to go from here:" #~ msgstr "可以去的一些地方:" -#~ msgid "Tutorials demonstrating `features of the Toga widget toolkit `__." -#~ msgstr "示範 `Toga 小工具工具包的功能 `__ 的教學。" +#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." +#~ msgstr "示範 [Toga 小工具工具包的功能]{1} 的教學。" -#~ "`有關配置 Briefcase 項目時可用的選項的詳細資訊 `__ 。Plural-Forms: nplurals=1; plural=0;\n" +#~ "[有關配置 Briefcase 項目時可用的選項的詳細資訊]{1} 。Plural-Forms: nplurals=1; plural=0;\n" #~ "MIME-Version: 1.0\n" #~ "Content-Type: text/plain; charset=utf-8\n" #~ "Content-Transfer-Encoding: 8bit\n" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po index d496973b..4c051e51 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po @@ -42,13 +42,13 @@ msgstr "macOS" #: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from `the Python website `_. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "如果您使用的是 Windows,則可以從 `Python 網站 `_ 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" +msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" #: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 #, fuzzy -msgid "You can also install Python through `homebrew `__, use `pyenv `__ to manage multiple Python installs, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your terminal and get a working, supported Python interpreter." -msgstr "安裝 Python 有很多不同的方法。您可以透過 `homebrew `__ 安裝 Python。您可以使用 `pyenv `__ 來管理同一台電腦上的多個 Python 安裝。 Windows 使用者可以從 Windows App Store 安裝 Python。有數據科學背景的用戶可能希望使用 `Anaconda `_ 或 `Miniconda `__ 。" +msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +msgstr "安裝 Python 有很多不同的方法。您可以透過 [homebrew]{1} 安裝 Python。您可以使用 [pyenv]{2} 來管理同一台電腦上的多個 Python 安裝。 Windows 使用者可以從 Windows App Store 安裝 Python。有數據科學背景的用戶可能希望使用 [Anaconda]{3} 或 [Miniconda]{4} 。" #: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." @@ -69,8 +69,8 @@ msgid "Linux" msgstr "Linux" #: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (``apt`` on Debian/Ubuntu/Mint, ``dnf`` on Fedora, or ``pacman`` on Arch)." -msgstr "如果您使用的是 Linux,則會使用系統套件管理器(Debian/Ubuntu/Mint 上的 ``apt`` 、Fedora 上的 ``dnf`` 或 Arch 上的 ``pacman`` )安裝 Python。" +msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "如果您使用的是 Linux,則會使用系統套件管理器(Debian/Ubuntu/Mint 上的 `apt` 、Fedora 上的 `dnf` 或 Arch 上的 `pacman` )安裝 Python。" #: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 #, fuzzy @@ -93,8 +93,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website `_. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "如果您使用的是 Windows,則可以從 `Python 網站 `_ 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" +msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." +msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" #: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 #, fuzzy @@ -103,8 +103,8 @@ msgstr "目前對 Raspberry Pi 的支援有限。" #: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda `__ or `Miniconda `__. It doesn't matter *how* you've installed Python - it only matters that you can run ``python3`` from your command prompt and get a working, supported Python interpreter." -msgstr "如果你在 macOS 或 Windows 上,你如何安裝 Python 並不重要 - 重要的是你可以從作業系統的命令提示字元/終端應用程式運行 ``python3`` ,並獲得一個可用的 Python 直譯器。" +msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." +msgstr "如果你在 macOS 或 Windows 上,你如何安裝 Python 並不重要 - 重要的是你可以從作業系統的命令提示字元/終端應用程式運行 `python3` ,並獲得一個可用的 Python 直譯器。" #: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 msgid "Install dependencies" @@ -149,8 +149,8 @@ msgid "Building BeeWare apps on Windows requires:" msgstr "在 Windows 上建立 BeeWare 應用程式需要:" #: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from `git-scm.com `__." -msgstr "**Git** ,版本控制系統。您可以從 `git-scm.com `__ 下載 Git。" +msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +msgstr "**Git** ,版本控制系統。您可以從 [git-scm.com]{1} 下載 Git。" #: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." @@ -162,10 +162,10 @@ msgstr "設定虛擬環境" #: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "現在,我們將創建一個虛擬環境 - 一個 `沙箱` ,我們可以使用它來將本教程的工作與主 Python 安裝隔離。如果我們將套件安裝到虛擬環境中,我們的主要 Python 安裝(以及我們電腦上的任何其他 Python 專案)將不會受到影響。如果我們把虛擬環境弄得一團糟,我們只需刪除它並重新開始,就不會影響我們電腦上的任何其他 Python 項目,也不需要重新安裝 Python。" +msgstr "現在,我們將創建一個虛擬環境 - 一個 [沙箱` ,我們可以使用它來將本教程的工作與主 Python 安裝隔離。如果我們將套件安裝到虛擬環境中,我們的主要 Python 安裝(以及我們電腦上的任何其他 Python 專案)將不會受到影響。如果我們把虛擬環境弄得一團糟,我們只需刪除它並重新開始,就不會影響我們電腦上的任何其他 Python 項目,也不需要重新安裝 Python。" #: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the ``-3.12`` in these instructions with the version number that you are using." +msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." msgstr "" #: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 @@ -173,48 +173,48 @@ msgid "Errors running PowerShell Scripts" msgstr "執行 PowerShell 腳本時發生錯誤" #: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error::" -msgstr "如果您使用 PowerShell,並且收到錯誤::" +msgid "If you're using PowerShell, and you receive the error:" +msgstr "如果您使用 PowerShell,並且收到錯誤:" #: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "您的 Windows 帳戶沒有執行腳本的權限。要解決此問題:" #: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator `_." +msgid "Run `Windows PowerShell as Administrator]{1}." msgstr "" #: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run ``set-executionpolicy RemoteSigned``" -msgstr "運行 ``set-executionpolicy RemoteSigned``" +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "運行 `set-executionpolicy RemoteSigned`" #: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select ``Y`` to change the execution policy." -msgstr "選擇 ``Y`` 更改執行策略。" +msgid "Select `Y` to change the execution policy." +msgstr "選擇 `Y` 更改執行策略。" #: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun ``beeware-venv\\Scripts\\activate.ps1`` in your original PowerShell session (or a new session in the same directory)." -msgstr "完成此操作後,您可以在原始 PowerShell 會話(或同一目錄中的新會話)中重新執行 ``beeware-venv\\Scripts\\activate.ps1`` 。" +msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." +msgstr "完成此操作後,您可以在原始 PowerShell 會話(或同一目錄中的新會話)中重新執行 `beeware-venv\\Scripts\\activate.ps1` 。" #: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a ``(beeware-venv)`` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the ``activate`` command) to re-activate your environment." -msgstr "如果這有效,你的提示現在應該改變 - 它應該有一個 ``(beeware-venv)`` 前綴。這可以讓您知道您目前處於 BeeWare 虛擬環境。每當您學習本教學時,您都應該確保您的虛擬環境已啟動。如果不是,請重新執行最後一個命令( ``activate`` 命令)以啟動您的虛擬環境。" +msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." +msgstr "如果這有效,你的提示現在應該改變 - 它應該有一個 `(beeware-venv)` 前綴。這可以讓您知道您目前處於 BeeWare 虛擬環境。每當您學習本教學時,您都應該確保您的虛擬環境已啟動。如果不是,請重新執行最後一個命令( `activate` 命令)以啟動您的虛擬環境。" #: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd msgid "Alternative virtual environments" msgstr "替代的虛擬環境" #: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of ``virtualenv``, a predecessor to Python's built in ``venv`` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to ``venv`` and the system Python." -msgstr "如果您使用 Anaconda 或 miniconda,您可能會更熟悉使用 conda 環境。您可能也聽說過 ``virtualenv`` ,它是 Python 內建的 ``venv`` 模組的前身。與 Python 安裝一樣 - 如果您使用的是 macOS 或 Windows,只要您有一個虛擬環境, *如何* 建立虛擬環境並不重要。如果您使用的是 Linux,則應該堅持使用 ``venv`` 和系統 Python。" +msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." +msgstr "如果您使用 Anaconda 或 miniconda,您可能會更熟悉使用 conda 環境。您可能也聽說過 `virtualenv` ,它是 Python 內建的 `venv` 模組的前身。與 Python 安裝一樣 - 如果您使用的是 macOS 或 Windows,只要您有一個虛擬環境, *如何* 建立虛擬環境並不重要。如果您使用的是 Linux,則應該堅持使用 `venv` 和系統 Python。" #: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to :doc:`create our first BeeWare application `." -msgstr "我們現在已經設定好了我們的環境。我們準備好 :doc:`創建我們的第一個 BeeWare 應用程式`。" +msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." +msgstr "我們現在已經設定好了我們的環境。我們準備好 [創建我們的第一個 BeeWare 應用程式[。" #~ msgid "Run Windows PowerShell as Administrator." #~ msgstr "以管理員身分執行 Windows PowerShell。" @@ -234,6 +234,6 @@ msgstr "我們現在已經設定好了我們的環境。我們準備好 :doc:` #~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." #~ msgstr "如果安裝了 Python,您將看到其版本號。否則,系統將提示您安裝命令列開發人員工具。" -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website `_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站 `_ 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" +#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website][https://www.python.org/downloads]_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." +#~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po index bd5ecb1d..de182aa2 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -31,8 +31,8 @@ msgid "Install the BeeWare tools" msgstr "安裝 BeeWare 工具" #: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the ``beeware-tutorial`` directory you created in :doc:`Tutorial 0 `, with the ``beeware-venv`` virtual environment activated, and run:" -msgstr "首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具,可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 :doc:`教學 0 ` 中建立的 ``beeware-tutorial`` 目錄中,啟動 ``beeware-venv`` 虛擬環境,然後執行:" +msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +msgstr "首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具,可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 [教學 0][tutorial-0] 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` 虛擬環境,然後執行:" #: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 #: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 @@ -54,8 +54,8 @@ msgid "Possible errors during installation" msgstr "安裝過程中可能出現的錯誤" #: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have :ref:`installed all the platform pre-requisites `." -msgstr "如果您在安裝過程中看到錯誤,幾乎可以肯定是因為某些系統需求尚未安裝。確保您 :ref:`已安裝所有平台先決條件 `。" +msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." +msgstr "如果您在安裝過程中看到錯誤,幾乎可以肯定是因為某些系統需求尚未安裝。確保您 [已安裝所有平台先決條件 ][install-dependencies]。" #: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 #: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 @@ -65,37 +65,37 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use ``python -m pip``, rather than a bare ``pip``. Briefcase needs to ensure that it has an up-to-date version of ``pip`` and ``setuptools``, and a bare invocation of ``pip`` can't self-update. If you want to know more, `Brett Cannon has a detailed blog post about the issue `__." -msgstr "使用 ``python -m pip`` ,而不是只有 ``pip`` ,這一點很重要。 Briefcase需要確保它有最新版本的 ``pip`` 和 ``setuptools`` ,並且單純調用 ``pip`` 無法自我更新。如果您想了解更多信息,`Brett Cannon 有一篇關於該問題的詳細博客文章 `__ 。" +msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "使用 `python -m pip` ,而不是只有 `pip` ,這一點很重要。 Briefcase需要確保它有最新版本的 `pip` 和 `setuptools` ,並且單純調用 `pip` 無法自我更新。如果您想了解更多信息,[Brett Cannon 有一篇關於該問題的詳細博客文章]{1} 。" #: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd msgid "Bootstrap a new project" msgstr "開始一個新項目" #: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase ``new`` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "讓我們開始我們的第一個 BeeWare 專案吧!我們將使用 Briefcase 的 ``new`` 命令建立一個名為 **Hello World** 的應用程式。從命令提示字元執行以下命令:" +msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" +msgstr "讓我們開始我們的第一個 BeeWare 專案吧!我們將使用 Briefcase 的 `new` 命令建立一個名為 **Hello World** 的應用程式。從命令提示字元執行以下命令:" #: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" msgstr "Briefcase 將詢問我們新應用程式的一些詳細資訊。出於本教學的目的,請使用以下內容:" #: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: ``Hello World``." -msgstr "**正式名稱** - 接受預設值: ``Hello World`` 。" +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "**正式名稱** - 接受預設值: `Hello World` 。" #: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: ``helloworld``." -msgstr "**應用程式名稱** - 接受預設值: ``helloworld`` 。" +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "**應用程式名稱** - 接受預設值: `helloworld` 。" #: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter ``com.cupcakes`` as the bundle). If you don't own your own domain, accept the default bundle (``com.example``)." -msgstr "**封裝名稱** - 如果您擁有自己的網域,請以相反的順序輸入該網域。 (例如,如果您擁有網域名稱 ``cupcakes.com`` ,請輸入 ``com.cupcakes`` 作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( ``com.example`` )。" +msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +msgstr "**封裝名稱** - 如果您擁有自己的網域,請以相反的順序輸入該網域。 (例如,如果您擁有網域名稱 `cupcakes.com` ,請輸入 `com.cupcakes` 作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( `com.example` )。" #: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: ``Hello World``." -msgstr "**項目名稱** - 接受預設值: ``Hello World`` 。" +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "**項目名稱** - 接受預設值: `Hello World` 。" #: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" @@ -112,8 +112,8 @@ msgstr "**作者的電子郵件** - 輸入您自己的電子郵件地址。這 #: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the ``https://``). Otherwise, just accept the default URL (``https://example.com/helloworld``). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - 您的應用程式的登入頁面的 URL。同樣,如果您擁有自己的網域,請輸入該網域的 URL(包括 ``https://`` )。否則,只需接受預設 URL (``https://example.com/helloworld``)。該 URL 不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" +msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +msgstr "**URL** - 您的應用程式的登入頁面的 URL。同樣,如果您擁有自己的網域,請輸入該網域的 URL(包括 `https://` )。否則,只需接受預設 URL (`https://example.com/helloworld`)。該 URL 不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" #: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 #, fuzzy @@ -125,12 +125,12 @@ msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI to msgstr "**GUI 框架** - 接受預設選項 Toga(BeeWare 自己的 GUI 工具)。" #: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like::" +msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" msgstr "然後,Briefcase 將產生一個專案框架供您使用。如果您到目前為止已經遵循了本教學,並接受了所描述的預設設置,您的資料夾應該類似於:" #: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The ``src`` folder contains all the code for the application, the ``tests`` folder contains an initial test suite, and the ``pyproject.toml`` file describes how to package the application for distribution. If you open ``pyproject.toml`` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "這個框架實際上是一個功能齊全的應用程式,無需添加任何其他內容。 ``src`` 資料夾包含應用程式的所有程式碼, ``tests`` 資料夾包含初始測試套件, ``pyproject.toml`` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 ``pyproject.toml`` ,您將看到剛剛提供給 ``Briefcase`` 的設定詳細資訊。" +msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +msgstr "這個框架實際上是一個功能齊全的應用程式,無需添加任何其他內容。 `src` 資料夾包含應用程式的所有程式碼, `tests` 資料夾包含初始測試套件, `pyproject.toml` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 `pyproject.toml` ,您將看到剛剛提供給 `Briefcase` 的設定詳細資訊。" #: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a msgid "Now that we have a stub application, we can use Briefcase to run the application." @@ -141,8 +141,8 @@ msgid "Run the app in developer mode" msgstr "在開發者模式下運行應用程式" #: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the ``helloworld`` project directory and tell briefcase to start the project in Developer (or ``dev``) mode:" -msgstr "進入 ``helloworld`` 專案目錄並告訴公事包以開發人員(或 ``dev`` )模式啟動專案:" +msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +msgstr "進入 `helloworld` 專案目錄並告訴公事包以開發人員(或 `dev` )模式啟動專案:" #: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 msgid "This should open a GUI window:" @@ -169,7 +169,7 @@ msgid "If you encounter the error:" msgstr "" #: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a :ref:`version of python that this tutorial supports `." +msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." msgstr "" #: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f @@ -178,7 +178,7 @@ msgstr "" #: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" msgstr "按下關閉按鈕(或從應用程式的選單中選擇退出),就完成了!恭喜 - 您剛剛用 Python 編寫了一個獨立的本機應用程式!" #: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b @@ -186,7 +186,7 @@ msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In :doc:`Tutorial 2 `, we'll put a more useful user interface onto our application." +msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." msgstr "我們現在有了一個可以運行的應用程序,在開發人員模式下運行。現在我們可以添加一些我們自己的邏輯,使我們的應用程式做一些更有趣的事情。在 :doc:`教程 2 中`,我們將在我們的應用程式中放置一個更有用的使用者介面。" #~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po index b579d8b4..1cd836a3 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po @@ -25,8 +25,8 @@ msgstr "教學 2 - 讓它變得有趣" #: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c #, fuzzy -msgid "In :doc:`Tutorial 1 `, we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "在 :doc:`教程 1 中`,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼。讓我們看看為我們產生了什麼。" +msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." +msgstr "在 [教程 1 中`,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼。讓我們看看為我們產生了什麼。" #: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 #, fuzzy @@ -35,61 +35,61 @@ msgstr "生成了什麼" #: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e #, fuzzy -msgid "In the ``src/helloworld`` directory, you should see 3 files: ``__init__.py``, ``__main__.py`` and ``app.py``." +msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." msgstr "在 src/helloworld 目錄中,您應該會看到 3 個檔案:__init__.py、__main__.py 和 app.py。" #: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 #, fuzzy -msgid "``__init__.py`` marks the ``helloworld`` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the ``helloworld`` directory defines a module." -msgstr "``__init__.py`` 將``helloworld`` 目錄標記為可匯入的Python 模組。這是一個空文件;它的存在告訴 Python 解釋器``helloworld``目錄定義了一個模組。" +msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." +msgstr "`__init__.py` 將`helloworld` 目錄標記為可匯入的Python 模組。這是一個空文件;它的存在告訴 Python 解釋器`helloworld`目錄定義了一個模組。" #: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa #, fuzzy -msgid "``__main__.py`` marks the ``helloworld`` module as a special kind of module - an executable module. If you try to run the ``helloworld`` module using ``python -m helloworld``, the ``__main__.py`` file is where Python will start executing. The contents of ``__main__.py`` is relatively simple::" -msgstr "``__main__.py`` 將``helloworld`` 模組標記為一種特殊類型的模組 - 可執行模組。如果您嘗試使用``python -m helloworld``來執行``helloworld``模組,則``__main__.py``檔案是Python將開始執行的位置。 ``__main__.py`` 的內容比較簡單:" +msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" +msgstr "`__main__.py` 將`helloworld` 模組標記為一種特殊類型的模組 - 可執行模組。如果您嘗試使用`python -m helloworld`來執行`helloworld`模組,則`__main__.py`檔案是Python將開始執行的位置。 `__main__.py` 的內容比較簡單:" #: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc msgid "This file does two things:" msgstr "" #: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the ``main`` method from from the ``helloworld`` app." +msgid "It imports the `main` method from from the `helloworld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc #, fuzzy msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "也就是說 - 它從``helloworld``應用程式導入``main``方法;如果它是作為入口點執行,則呼叫 main() 方法,並啟動應用程式的主循環。主循環是 GUI 應用程式偵聽使用者輸入(如滑鼠點擊和鍵盤按下)的方式。" +msgstr "也就是說 - 它從`helloworld`應用程式導入`main`方法;如果它是作為入口點執行,則呼叫 main() 方法,並啟動應用程式的主循環。主循環是 GUI 應用程式偵聽使用者輸入(如滑鼠點擊和鍵盤按下)的方式。" #: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 #, fuzzy -msgid "The more interesting file is ``app.py`` - this contains the logic that creates our application window::" -msgstr "更有趣的檔案是``app.py``——它包含創建我們的應用程式視窗的邏輯::" +msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgstr "更有趣的檔案是`app.py`——它包含創建我們的應用程式視窗的邏輯:" #: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 #, fuzzy -msgid "Let's go through this line by line::" +msgid "Let's go through this line by line:" msgstr "讓我們逐行瀏覽一下:" #: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d #, fuzzy -msgid "First, we import the ``toga`` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "首先,我們匯入``toga``小工具工具包,以及一些與樣式相關的實用程式類別和常數。我們的程式碼尚未使用它們 - 但我們很快就會使用它們。" +msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +msgstr "首先,我們匯入`toga`小工具工具包,以及一些與樣式相關的實用程式類別和常數。我們的程式碼尚未使用它們 - 但我們很快就會使用它們。" #: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 #, fuzzy -msgid "Then, we define a class::" +msgid "Then, we define a class:" msgstr "然後,我們定義一個類別::" #: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a #, fuzzy -msgid "Each Toga application has a single ``toga.App`` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "每個 Toga 應用程式都有一個``toga.App``實例,代表應用程式的運作實體。該應用程式最終可能會管理多個視窗;但對於簡單的應用程序,將有一個主視窗。" +msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." +msgstr "每個 Toga 應用程式都有一個`toga.App`實例,代表應用程式的運作實體。該應用程式最終可能會管理多個視窗;但對於簡單的應用程序,將有一個主視窗。" #: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 #, fuzzy -msgid "Next, we define a ``startup()`` method::" -msgstr "接下來,我們定義一個``startup()``方法:" +msgid "Next, we define a `startup()` method:" +msgstr "接下來,我們定義一個`startup()`方法:" #: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 #, fuzzy @@ -103,13 +103,13 @@ msgstr "在此應用程式中,我們定義了一個框,但沒有在其中放 #: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 #, fuzzy -msgid "Next, we define a window into which we can put this empty box::" +msgid "Next, we define a window into which we can put this empty box:" msgstr "接下來,我們定義一個窗口,可以將這個空框放入其中:" #: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 #, fuzzy -msgid "This creates an instance of a ``toga.MainWindow``, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "這將建立一個``toga.MainWindow``實例,它將具有與應用程式名稱相符的標題。主視窗是 Toga 中的一種特殊視窗 - 它是與應用程式的生命週期密切相關的視窗。當主視窗關閉時,應用程式退出。主視窗也是具有應用程式選單的視窗(如果您使用的是 Windows 等平台,其中功能表列是視窗的一部分)" +msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." +msgstr "這將建立一個`toga.MainWindow`實例,它將具有與應用程式名稱相符的標題。主視窗是 Toga 中的一種特殊視窗 - 它是與應用程式的生命週期密切相關的視窗。當主視窗關閉時,應用程式退出。主視窗也是具有應用程式選單的視窗(如果您使用的是 Windows 等平台,其中功能表列是視窗的一部分)" #: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 msgid "Where is my window?" @@ -121,17 +121,17 @@ msgstr "" #: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window::" -msgstr "然後,我們添加空框作為主視窗的內容,並指示應用程式顯示我們的視窗::" +msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgstr "然後,我們添加空框作為主視窗的內容,並指示應用程式顯示我們的視窗:" #: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -msgid "Last of all, we define a ``main()`` function. This is what creates the instance of our application::" -msgstr "最後,我們定義一個``main()``方法。這就是創建我們的應用程式實例的原因::" +msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +msgstr "最後,我們定義一個`main()`方法。這就是創建我們的應用程式實例的原因:" #: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa #, fuzzy -msgid "This ``main()`` method is the one that is imported and invoked by ``__main__.py``. It creates and returns an instance of our ``HelloWorld`` application." -msgstr "這個``main()``方法是由``__main__.py``導入和呼叫的方法。它創建並傳回我們的``HelloWorld``應用程式的實例。" +msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." +msgstr "這個`main()`方法是由`__main__.py`導入和呼叫的方法。它創建並傳回我們的`HelloWorld`應用程式的實例。" #: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c #, fuzzy @@ -144,18 +144,18 @@ msgid "Adding some content of our own" msgstr "添加一些我們自己的內容" #: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our ``HelloWorld`` app." +msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" #: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the ``main()`` at the bottom of the file. You only need to update the ``HelloWorld`` class." -msgstr "不要刪除文件頂部的導入或底部的``main()``。您只需要更新``HelloWorld``類別。" +msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgstr "不要刪除文件頂部的導入或底部的`main()`。您只需要更新`HelloWorld`類別。" #: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 #, fuzzy -msgid "Modify your ``HelloWorld`` class inside ``src/helloworld/app.py`` so that it looks like this::" -msgstr "修改``src/helloworld/app.py``中的``HelloWorld``類,使其看起來像這樣::" +msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgstr "修改`src/helloworld/app.py`中的`HelloWorld`類,使其看起來像這樣:" #: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 #, fuzzy @@ -164,21 +164,21 @@ msgstr "讓我們詳細看看發生了什麼變化。" #: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 #, fuzzy -msgid "We're still creating a main box; however, we are now applying a style::" -msgstr "我們仍在創建一個主盒子;然而,我們現在正在應用一種風格::" +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "我們仍在創建一個主盒子;然而,我們現在正在應用一種風格:" #: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are ``
``, ````, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a ``COLUMN`` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Toga 的內建佈局系統稱為``Pack``。它的行為很像 CSS。您可以在層次結構中定義物件 - 在 HTML 中,物件是``
``、`` `` 和其他 DOM 元素;在 Toga 中,它們是小部件和盒子。然後,您可以為各個元素指定樣式。在這種情況下,我們表明這是一個``COLUMN``框 - 也就是說,它是一個將消耗所有可用寬度的框,並且會在添加內容時擴展其高度,但它會嘗試盡可能短。" +msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +msgstr "Toga 的內建佈局系統稱為`Pack`。它的行為很像 CSS。您可以在層次結構中定義物件 - 在 HTML 中,物件是`
`、`][span]` 和其他 DOM 元素;在 Toga 中,它們是小部件和盒子。然後,您可以為各個元素指定樣式。在這種情況下,我們表明這是一個`COLUMN`框 - 也就是說,它是一個將消耗所有可用寬度的框,並且會在添加內容時擴展其高度,但它會嘗試盡可能短。" #: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this::" +msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" msgstr "" #: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets::" -msgstr "接下來,我們定義幾個小工具::" +msgid "Next, we define a couple of widgets:" +msgstr "接下來,我們定義幾個小工具:" #: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 #, fuzzy @@ -192,18 +192,18 @@ msgstr "TextInput 被指定為該類別的實例變數。這使我們可以輕 #: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c #, fuzzy -msgid "Next, we define a box to hold these two widgets::" +msgid "Next, we define a box to hold these two widgets:" msgstr "接下來,我們定義一個盒子來容納這兩個小工具:" #: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 #, fuzzy -msgid "The ``name_box`` is a box just like the main box; however, this time, it's a ``ROW`` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "``name_box`` 是一個像主盒子一樣的盒子;然而,這一次,它是一個``ROW``盒子。這意味著內容將水平添加,並且它將嘗試使其寬度盡可能窄。盒子還有一些內邊距 - 所有邊都是 5px。" +msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." +msgstr "`name_box` 是一個像主盒子一樣的盒子;然而,這一次,它是一個`ROW`盒子。這意味著內容將水平添加,並且它將嘗試使其寬度盡可能窄。盒子還有一些內邊距 - 所有邊都是 5px。" #: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 #, fuzzy -msgid "Now we define a button::" -msgstr "現在我們定義一個按鈕::" +msgid "Now we define a button:" +msgstr "現在我們定義一個按鈕:" #: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 #, fuzzy @@ -212,18 +212,18 @@ msgstr "此按鈕的所有邊都有 5 像素的內邊距。我們也定義了一 #: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 #, fuzzy -msgid "Then, we add the name box and the button to the main box::" +msgid "Then, we add the name box and the button to the main box:" msgstr "然後,我們將名稱框和按鈕新增到主框:" #: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a ``MainWindow``, and assigning the main box as the window's content::" -msgstr "這樣就完成了我們的佈局;啟動方法的其餘部分與之前一樣 - 定義一個 MainWindow,並將主框指定為視窗的內容::" +msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" +msgstr "這樣就完成了我們的佈局;啟動方法的其餘部分與之前一樣 - 定義一個 MainWindow,並將主框指定為視窗的內容:" #: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed::" -msgstr "我們需要做的最後一件事是定義按鈕的處理程序。處理程序可以是任何方法、生成器或非同步協程;它接受生成事件的小部件作為參數,並且每當按下按鈕時就會調用::" +msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +msgstr "我們需要做的最後一件事是定義按鈕的處理程序。處理程序可以是任何方法、生成器或非同步協程;它接受生成事件的小部件作為參數,並且每當按下按鈕時就會調用:" #: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba #, fuzzy @@ -252,8 +252,8 @@ msgstr "Windows" #: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a ``-r`` option when you run ``briefcase dev``." -msgstr "您會注意到,這一次,它``不``安裝依賴項。公文包可以檢測到該應用程式之前已經運行過,為了節省時間,只會運行該應用程式。如果您為應用程式新增的依賴項,則可以在執行``briefcase dev``時傳入``-r``選項來確保它們已安裝。" +msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +msgstr "您會注意到,這一次,它`不`安裝依賴項。公文包可以檢測到該應用程式之前已經運行過,為了節省時間,只會運行該應用程式。如果您為應用程式新增的依賴項,則可以在執行`briefcase dev`時傳入`-r`選項來確保它們已安裝。" #: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de msgid "This should open a GUI window:" @@ -280,7 +280,7 @@ msgid "If you enter a name in the text box, and press the GUI button, you should msgstr "如果您在文字方塊中輸入名稱,然後按 GUI 按鈕,您應該會看到啟動應用程式的控制台中出現輸出。" #: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." msgstr "" #: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc @@ -289,9 +289,9 @@ msgstr "下一步" #: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3 `, we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." +msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." msgstr "我們現在有了一個可以做一些更有趣的事情的應用程式。但它只能在我們自己的計算機上運行。讓我們打包這個應用程式以進行分發。在 :doc:`教程 3 中`,我們將把我們的應用程式打包為一個獨立的安裝程序,我們可以將其發送給朋友、客戶,或上傳到應用程式商店。" -#~ msgid "Lets do something more interesting with our ``HelloWorld`` app." +#~ msgid "Lets do something more interesting with our `HelloWorld`` app." #~ msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po index 9d9bc7c9..78b7ea3a 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po @@ -26,7 +26,7 @@ msgstr "教學 3 - 分發包裝" #: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b #, fuzzy msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "到目前為止,我們一直在``開發人員模式``下運行我們的應用程式。這使我們可以輕鬆地在本地運行我們的應用程式 - 但我們真正想要的是能夠將我們的應用程式提供給其他人。" +msgstr "到目前為止,我們一直在`開發人員模式`下運行我們的應用程式。這使我們可以輕鬆地在本地運行我們的應用程式 - 但我們真正想要的是能夠將我們的應用程式提供給其他人。" #: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d #, fuzzy @@ -45,8 +45,8 @@ msgstr "創建您的應用程式支架" #: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the ``helloworld`` directory, run:" -msgstr "由於這是我們第一次打包應用程序,因此我們需要創建一些配置文件和其他腳手架來支援打包過程。從``helloworld``目錄中,運行:" +msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" +msgstr "由於這是我們第一次打包應用程序,因此我們需要創建一些配置文件和其他腳手架來支援打包過程。從`helloworld`目錄中,運行:" #: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 #: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 @@ -75,7 +75,7 @@ msgid "The version of Python being used to run Briefcase (3.12) is not the syste msgstr "" #: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system ``python3``. Using the system Python is a requirement for packaging your application." +msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." msgstr "" #: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 @@ -103,7 +103,7 @@ msgstr "如果您對公文包提供的範本不滿意,您可以提供自己的 #: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 #, fuzzy msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "它**下載並安裝了支援包**。公事包採用的打包方法最好被描述為``可能有效的最簡單的方法``——它提供了一個完整的、獨立的 Python 解釋器,作為它構建的每個應用程式的一部分。這在空間效率方面稍顯低下 - 如果您有 5 個使用 Briefcase 打包的應用程序,那麼您將擁有 5 個 Python 解釋器副本。然而,這種方法保證每個應用程式都是完全獨立的,使用已知可與該應用程式配合使用的特定 Python 版本。" +msgstr "它**下載並安裝了支援包**。公事包採用的打包方法最好被描述為`可能有效的最簡單的方法`——它提供了一個完整的、獨立的 Python 解釋器,作為它構建的每個應用程式的一部分。這在空間效率方面稍顯低下 - 如果您有 5 個使用 Briefcase 打包的應用程序,那麼您將擁有 5 個 Python 解釋器副本。然而,這種方法保證每個應用程式都是完全獨立的,使用已知可與該應用程式配合使用的特定 Python 版本。" #: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 #, fuzzy @@ -121,8 +121,8 @@ msgstr "" #: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using ``pip`` into your application's installer." -msgstr "它**安裝了應用程式要求**。您的應用程式可以指定運行時所需的任何第三方模組。這些將使用``pip``安裝到應用程式的安裝程式中。" +msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." +msgstr "它**安裝了應用程式要求**。您的應用程式可以指定運行時所需的任何第三方模組。這些將使用`pip`安裝到應用程式的安裝程式中。" #: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f #, fuzzy @@ -136,8 +136,8 @@ msgstr "它 **安裝了應用程式所需的資源。** 最後,它添加了安 #: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (``macOS``, ``linux``, or ``windows``) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "完成後,如果您查看專案目錄,您現在應該會看到與您的平台(``macOS``、``linux``或``windows``)相對應的目錄,其中包含其他檔案。這是您的應用程式的特定於平台的打包配置。" +msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." +msgstr "完成後,如果您查看專案目錄,您現在應該會看到與您的平台(`macOS`、`linux`或`windows`)相對應的目錄,其中包含其他檔案。這是您的應用程式的特定於平台的打包配置。" #: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece #, fuzzy @@ -151,18 +151,18 @@ msgstr "現在您可以編譯您的應用程式。此步驟執行應用程式在 #: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d #, fuzzy -msgid "On macOS, the ``build`` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "在 macOS 上,``build`` 命令不需要 *編譯* 任何內容,但它確實需要對二進位內容進行簽名,以便可以執行。此簽名是 *臨時* 簽名 - 它僅適用於 *您的* 機器;如果您想將應用程式分發給其他人,則需要提供完整的簽名。" +msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." +msgstr "在 macOS 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要對二進位內容進行簽名,以便可以執行。此簽名是 *臨時* 簽名 - 它僅適用於 *您的* 機器;如果您想將應用程式分發給其他人,則需要提供完整的簽名。" #: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 #, fuzzy -msgid "Once this step completes, the ``build`` folder will contain a ``helloworld-0.0.1`` folder that contains a mirror of a Linux ``/usr`` file system. This file system mirror will contain a ``bin`` folder with a ``helloworld`` binary, plus ``lib`` and ``share`` folders needed to support the binary." -msgstr "此步驟完成後,``build``資料夾將包含一個``helloworld-0.0.1``資料夾,其中包含 Linux``/usr``檔案系統的鏡像。該檔案系統鏡像將包含一個包含``helloworld``二進位檔案的``bin``資料夾,以及支援該二進位檔案所需的``lib``和``share``資料夾。" +msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." +msgstr "此步驟完成後,`build`資料夾將包含一個`helloworld-0.0.1`資料夾,其中包含 Linux`/usr`檔案系統的鏡像。該檔案系統鏡像將包含一個包含`helloworld`二進位檔案的`bin`資料夾,以及支援該二進位檔案所需的`lib`和`share`資料夾。" #: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 #, fuzzy -msgid "On Windows, the ``build`` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "在 Windows 上,``build`` 命令不需要 *編譯* 任何內容,但它確實需要編寫一些元數據,以便應用程式知道其名稱、版本等。" +msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." +msgstr "在 Windows 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要編寫一些元數據,以便應用程式知道其名稱、版本等。" #: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa #, fuzzy @@ -171,8 +171,8 @@ msgstr "觸發防毒" #: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the ``create`` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named ``rcedit-x64.exe``) to run and re-run the command above." -msgstr "由於此元資料在``create``命令期間直接寫入從範本推出的預編譯二進位檔案中,因此這可能會觸發電腦上執行的防毒軟體並阻止寫入元資料。在這種情況下,指示防毒軟體允許該工具(名為``rcedit-x64.exe``)運行並重新執行上述命令。" +msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." +msgstr "由於此元資料在`create`命令期間直接寫入從範本推出的預編譯二進位檔案中,因此這可能會觸發電腦上執行的防毒軟體並阻止寫入元資料。在這種情況下,指示防毒軟體允許該工具(名為`rcedit-x64.exe`)運行並重新執行上述命令。" #: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 #, fuzzy @@ -186,16 +186,16 @@ msgstr "現在您可以使用 Briefcase 來運行您的應用程式:" #: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the ``build`` command." -msgstr "這將開始使用``build``命令的輸出來執行您的本機應用程式。" +msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgstr "這將開始使用`build`命令的輸出來執行您的本機應用程式。" #: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 #, fuzzy msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "您可能會注意到應用程式運行時的外觀存在一些細微的差異。例如,作業系統顯示的圖示和名稱可能與您在開發人員模式下運行時看到的圖示略有不同。這也是因為您正在使用打包的應用程序,而不僅僅是運行 Python 程式碼。從作業系統的角度來看,您現在運行的是``應用程式``,而不是``Python 程式``,這反映在應用程式的顯示方式上。" +msgstr "您可能會注意到應用程式運行時的外觀存在一些細微的差異。例如,作業系統顯示的圖示和名稱可能與您在開發人員模式下運行時看到的圖示略有不同。這也是因為您正在使用打包的應用程序,而不僅僅是運行 Python 程式碼。從作業系統的角度來看,您現在運行的是`應用程式`,而不是`Python 程式`,這反映在應用程式的顯示方式上。" #: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase run``." +msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." msgstr "" #: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 @@ -205,23 +205,23 @@ msgstr "建立您的安裝程式" #: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc #, fuzzy -msgid "You can now package your application for distribution, using the ``package`` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "現在,您可以使用``package``命令打包您的應用程式以進行分發。 package 命令執行將鷹架專案轉換為最終的可分發產品所需的任何編譯。根據平台的不同,這可能涉及編譯安裝程式、執行程式碼簽署或執行其他預分發任務。" +msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." +msgstr "現在,您可以使用`package`命令打包您的應用程式以進行分發。 package 命令執行將鷹架專案轉換為最終的可分發產品所需的任何編譯。根據平台的不同,這可能涉及編譯安裝程式、執行程式碼簽署或執行其他預分發任務。" #: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 #, fuzzy -msgid "The ``dist`` folder will contain a file named ``Hello World-0.0.1.dmg``. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "``dist`` 資料夾將包含一個名為``Hello World-0.0.1.dmg`` 的檔案。如果您在 Finder 中找到此文件,然後雙擊其圖標,您將安裝 DMG,為您提供 Hello World 應用程式的副本以及指向您的應用程式資料夾的鏈接,以便於安裝。將應用程式檔案拖曳到應用程式中,您就已經安裝了應用程式。將 DMG 檔案發送給朋友,他們應該能夠執行相同的操作。" +msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." +msgstr "`dist` 資料夾將包含一個名為`Hello World-0.0.1.dmg` 的檔案。如果您在 Finder 中找到此文件,然後雙擊其圖標,您將安裝 DMG,為您提供 Hello World 應用程式的副本以及指向您的應用程式資料夾的鏈接,以便於安裝。將應用程式檔案拖曳到應用程式中,您就已經安裝了應用程式。將 DMG 檔案發送給朋友,他們應該能夠執行相同的操作。" #: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 #, fuzzy -msgid "In this example, we've used the ``--adhoc-sign`` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "在此範例中,我們使用了``--adhoc-sign``選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才``需要``它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" +msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." +msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" #: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity `__." -msgstr "當您準備好發布實際應用程式時,請查看有關``設定 macOS 代碼簽署身分``的公文包操作指南 `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." +msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" #: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 #, fuzzy @@ -230,8 +230,8 @@ msgstr "根據您的 Linux 發行版,打包步驟的輸出將略有不同。 #: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c #, fuzzy -msgid "The ``dist`` folder will contain the ``.deb`` file that was generated." -msgstr "``dist`` 資料夾將包含產生的``.deb`` 檔案。" +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "`dist` 資料夾將包含產生的`.deb` 檔案。" #: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee #, fuzzy @@ -240,8 +240,8 @@ msgstr "如果您使用的是基於 RHEL 的發行版,您將看到:" #: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 #, fuzzy -msgid "The ``dist`` folder will contain the ``.rpm`` file that was generated." -msgstr "``dist`` 資料夾將包含產生的``.rpm`` 檔案。" +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "`dist` 資料夾將包含產生的`.rpm` 檔案。" #: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 #, fuzzy @@ -250,8 +250,8 @@ msgstr "如果您使用的是基於 Arch 的發行版,您將看到:" #: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 #, fuzzy -msgid "The ``dist`` folder will contain the ``.pkg.tar.zst`` file that was generated." -msgstr "``dist`` 資料夾將包含產生的``.pkg.tar.zst`` 檔案。" +msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "`dist` 資料夾將包含產生的`.pkg.tar.zst` 檔案。" #: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae #, fuzzy @@ -265,8 +265,8 @@ msgstr "如果您想為您正在使用的 Linux 發行版以外的發行版建 #: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 #, fuzzy -msgid "Official installers for `Docker Engine `__ are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "`Docker Engine `__ 的官方安裝程式可用於一系列 Unix 發行版。請遵循適合您平台的說明;但是,請確保不要以``無根``模式安裝 Docker。" +msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." +msgstr "[Docker Engine]{1} 的官方安裝程式可用於一系列 Unix 發行版。請遵循適合您平台的說明;但是,請確保不要以`無根`模式安裝 Docker。" #: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe #, fuzzy @@ -275,8 +275,8 @@ msgstr "安裝 Docker 後,您應該能夠啟動 Linux 容器 - 例如:" #: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 #, fuzzy -msgid "will show you a Unix prompt (something like ``root@84444e31cff9:/#``) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "將在 Ubuntu 22.04 Docker 容器內向您顯示 Unix 提示字元(類似``root@844444e31cff9:/#``)。鍵入 Ctrl-D 退出 Docker 並返回本機 shell。" +msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." +msgstr "將在 Ubuntu 22.04 Docker 容器內向您顯示 Unix 提示字元(類似`root@844444e31cff9:/#`)。鍵入 Ctrl-D 退出 Docker 並返回本機 shell。" #: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 #, fuzzy @@ -285,23 +285,23 @@ msgstr "安裝 Docker 後,您可以透過傳入 Docker 映像作為參數, #: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the ``dist`` folder will contain the package for the target Linux distribution." -msgstr "這將為您選擇的作業系統下載 Docker 映像,建立一個能夠運行 Briefcase 建置的容器,並在映像內建置應用程式包。完成後,``dist`` 資料夾將包含目標 Linux 發行版的軟體包。" +msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." +msgstr "這將為您選擇的作業系統下載 Docker 映像,建立一個能夠運行 Briefcase 建置的容器,並在映像內建置應用程式包。完成後,`dist` 資料夾將包含目標 Linux 發行版的軟體包。" #: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 #, fuzzy msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "在此範例中,我們使用了``--adhoc-sign``選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才``需要``它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" +msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" #: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity `__." -msgstr "當您準備好發布實際應用程式時,請查看有關``設定 macOS 代碼簽署身分``的公文包操作指南 `__" +msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." +msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" #: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c #, fuzzy -msgid "Once this step completes, the ``dist`` folder will contain a file named ``Hello_World-0.0.1.msi``. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "此步驟完成後,``dist``資料夾將包含一個名為 ``Hello_World-0.0.1.msi`` 的檔案。如果您雙擊此安裝程式來運行它,您應該經歷熟悉的 Windows 安裝過程。安裝完成後,開始功能表中將出現一個 \"Hello World\" 項目。" +msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." +msgstr "此步驟完成後,`dist`資料夾將包含一個名為 `Hello_World-0.0.1.msi` 的檔案。如果您雙擊此安裝程式來運行它,您應該經歷熟悉的 Windows 安裝過程。安裝完成後,開始功能表中將出現一個 \"Hello World\" 項目。" #: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 msgid "Next steps" @@ -309,9 +309,9 @@ msgstr "下一步" #: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to :doc:`Tutorial 4 <./tutorial-4>` to find out..." -msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。但是當我們需要更新應用程式中的程式碼時會發生什麼?我們如何將這些更新添加到打包的應用程式中?請參閱 :doc:`教程 4 <./tutorial-4>` 以了解..." +msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." +msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。但是當我們需要更新應用程式中的程式碼時會發生什麼?我們如何將這些更新添加到打包的應用程式中?請參閱 [教程 4][./tutorial-4] 以了解..." -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran ``briefcase dev``." +#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." #~ msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po index 55d43bc6..26f95848 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po @@ -45,11 +45,11 @@ msgstr "目前,當您按下按鈕時,我們的應用程式會列印到控制 #: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the ``say_hello`` callback so it looks like this::" -msgstr "讓我們新增一個對話框來打招呼,而不是寫入控制台。修改``say_hello``回調,使其看起來像這樣::" +msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +msgstr "讓我們新增一個對話框來打招呼,而不是寫入控制台。修改`say_hello`回調,使其看起來像這樣:" #: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method ``async`` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in :doc:`Tutorial 8 `." +msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." msgstr "" #: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 @@ -59,8 +59,8 @@ msgstr "這會指示 Toga 在按下按鈕時開啟模式對話方塊。" #: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 #, fuzzy -msgid "If you run ``briefcase dev``, enter a name, and press the button, you'll see the new dialog box:" -msgstr "如果執行``briefcase dev``,輸入名稱,然後按按鈕,您將看到新的對話方塊:" +msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgstr "如果執行`briefcase dev`,輸入名稱,然後按按鈕,您將看到新的對話方塊:" #: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 #: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e @@ -97,13 +97,13 @@ msgstr "Hello World 教學 4 對話框,在 Windows 上" #: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 #, fuzzy -msgid "However, if you run ``briefcase run``, the dialog box won't appear." -msgstr "但是,如果執行``briefcase run``,則不會出現該對話方塊。" +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "但是,如果執行`briefcase run`,則不會出現該對話方塊。" #: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a #, fuzzy -msgid "Why is this? Well, ``briefcase dev`` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "為什麼是這樣?好吧,``briefcase dev`` 通過就地運行您的代碼來運行- 它嘗試為您的代碼生成盡可能真實的運行時環境,但它不提供或使用任何平台基礎設施來將您的代碼包裝為應用程式.打包應用程式的過程的一部分涉及將程式碼複製到應用程式包中 - 目前,您的應用程式中仍然包含舊程式碼。" +msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +msgstr "為什麼是這樣?好吧,`briefcase dev` 通過就地運行您的代碼來運行- 它嘗試為您的代碼生成盡可能真實的運行時環境,但它不提供或使用任何平台基礎設施來將您的代碼包裝為應用程式.打包應用程式的過程的一部分涉及將程式碼複製到應用程式包中 - 目前,您的應用程式中仍然包含舊程式碼。" #: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 #, fuzzy @@ -112,18 +112,18 @@ msgstr "因此 - 我們需要告訴公文包更新您的應用程序,複製新 #: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke ``create`` to generate a fresh scaffold." -msgstr "如果Briefcase找不到鷹架模板,它會自動呼叫``create``來產生一個新的鷹架。" +msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgstr "如果Briefcase找不到鷹架模板,它會自動呼叫`create`來產生一個新的鷹架。" #: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 #, fuzzy -msgid "Now that we've updated the installer code, we can then run ``briefcase build`` to re-compile the app, ``briefcase run`` to run the updated app, and ``briefcase package`` to repackage the application for distribution." -msgstr "現在我們已經更新了安裝程式碼,然後我們可以運行``briefcase build``來重新編譯應用程序,運行``briefcase run``來運行更新後的應用程序,以及運行``briefcase package``來重新打包應用程式用於分發。" +msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +msgstr "現在我們已經更新了安裝程式碼,然後我們可以運行`briefcase build`來重新編譯應用程序,運行`briefcase run`來運行更新後的應用程序,以及運行`briefcase package`來重新打包應用程式用於分發。" #: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 #, fuzzy -msgid "(macOS users, remember that as noted in :doc:`Tutorial 3 `, for the tutorial we recommend running ``briefcase package`` with the ``--adhoc-sign`` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(macOS 用戶,請記住,如 :doc:`教學 3 所述`,對於本教程,我們建議使用``--adhoc-sign``標誌運行``briefcase package``,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" +msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +msgstr "(macOS 用戶,請記住,如 [教學 3 所述`,對於本教程,我們建議使用`--adhoc-sign`標誌運行`briefcase package`,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" #: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 #, fuzzy @@ -132,33 +132,33 @@ msgstr "一步更新並運行" #: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (``briefcase dev``) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to ``briefcase run``. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the ``-u`` (or ``--update``) option on the ``run`` command." -msgstr "如果您快速迭代程式碼更改,您可能需要更改程式碼、更新應用程序,然後立即重新執行您的應用程式。對於大多數目的,開發人員模式(``briefcase dev``)將是進行這種快速迭代的最簡單方法;但是,如果您正在測試應用程式如何作為本機二進位檔案運行,或者尋找僅在應用程式處於打包形式時才會出現的錯誤,則可能需要重複調用``briefcase run``。為了簡化更新和執行捆綁應用程式的過程,Briefcase 有一個快捷方式來支援這種使用模式 - ``run`` 命令上的``-u``(或``--update``)選項。" +msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "如果您快速迭代程式碼更改,您可能需要更改程式碼、更新應用程序,然後立即重新執行您的應用程式。對於大多數目的,開發人員模式(`briefcase dev`)將是進行這種快速迭代的最簡單方法;但是,如果您正在測試應用程式如何作為本機二進位檔案運行,或者尋找僅在應用程式處於打包形式時才會出現的錯誤,則可能需要重複調用`briefcase run`。為了簡化更新和執行捆綁應用程式的過程,Briefcase 有一個快捷方式來支援這種使用模式 - `run` 命令上的`-u`(或`--update`)選項。" #: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the ``say_hello`` function again to handle this edge case." -msgstr "讓我們嘗試進行另一個更改。您可能已經注意到,如果您不在文字輸入方塊中鍵入姓名,則對話方塊將顯示 \"Hello,\"。讓我們再次修改 ``say_hello`` 函數來處理這種邊緣情況。" +msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +msgstr "讓我們嘗試進行另一個更改。您可能已經注意到,如果您不在文字輸入方塊中鍵入姓名,則對話方塊將顯示 \"Hello,\"。讓我們再次修改 `say_hello` 函數來處理這種邊緣情況。" #: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db #, fuzzy -msgid "At the top of the file, between the imports and the ``class HelloWorld`` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided::" -msgstr "在檔案頂部的匯入和``class HelloWorld``定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" +msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +msgstr "在檔案頂部的匯入和`class HelloWorld`定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" #: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e #, fuzzy -msgid "Then, modify the ``say_hello`` callback to use this new utility method::" -msgstr "然後,修改``say_hello``回調以使用這個新的實用方法:" +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "然後,修改`say_hello`回調以使用這個新的實用方法:" #: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 #, fuzzy -msgid "Run your app in development mode (with ``briefcase dev``) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "在開發模式下運行您的應用程式(使用``briefcase dev``)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" +msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +msgstr "在開發模式下運行您的應用程式(使用`briefcase dev`)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" #: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 #, fuzzy -msgid "The package command also accepts the ``-u`` argument, so if you make a change to your application code and want to repackage immediately, you can run ``briefcase package -u``." -msgstr "package 命令也接受``-u``參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包,則可以運行``briefcase package -u``。" +msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +msgstr "package 命令也接受`-u`參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包,則可以運行`briefcase package -u`。" #: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b msgid "Next steps" @@ -171,6 +171,6 @@ msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發 #: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 #, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5 `, we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "但行動裝置呢?在 :doc:`教程 5 ` 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" +msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +msgstr "但行動裝置呢?在 [教程 5][tutorial-5/index] 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po index 15b2eb80..2b37e6ee 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -40,8 +40,8 @@ msgstr "創建一個 Android 應用程式並編譯它" #: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 #, fuzzy -msgid "First, run the ``create`` command. This downloads an Android app template and adds your Python code to it." -msgstr "首先,執行``create``命令。這將下載 Android 應用程式模板並向其中添加您的 Python 程式碼。" +msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." +msgstr "首先,執行`create`命令。這將下載 Android 應用程式模板並向其中添加您的 Python 程式碼。" #: ../../tutorial/tutorial-5/android.rst:21 #: ../../tutorial/tutorial-5/android.rst:120 @@ -72,18 +72,18 @@ msgstr "Windows" #: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f #, fuzzy -msgid "When you run ``briefcase create android`` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering ``y`` at the prompt to review and accept each of the necessary the license agreements." -msgstr "當您第一次執行``briefcase create android``時,Briefcase 會下載 Java JDK 和 Android SDK。文件大小和下載時間可能相當大;這可能需要一段時間(10 分鐘或更長時間,具體取決於您的 Internet 連線速度)。下載完成後,系統會提示您接受 Google 的 Android SDK 授權。" +msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." +msgstr "當您第一次執行`briefcase create android`時,Briefcase 會下載 Java JDK 和 Android SDK。文件大小和下載時間可能相當大;這可能需要一段時間(10 分鐘或更長時間,具體取決於您的 Internet 連線速度)。下載完成後,系統會提示您接受 Google 的 Android SDK 授權。" #: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 #, fuzzy -msgid "Once this completes, we'll have a ``build\\helloworld\\android\\gradle`` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "完成後,我們的專案中將有一個 ``build\\helloworld\\android\\gradle`` 目錄,其中包含具有 Gradle 建置配置的 Android 專案。該專案將包含您的應用程式程式碼以及包含 Python 解釋器的支援套件。" +msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." +msgstr "完成後,我們的專案中將有一個 `build\\helloworld\\android\\gradle` 目錄,其中包含具有 Gradle 建置配置的 Android 專案。該專案將包含您的應用程式程式碼以及包含 Python 解釋器的支援套件。" #: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 #, fuzzy -msgid "We can then use Briefcase's ``build`` command to compile this into an Android APK app file." -msgstr "然後我們可以使用 Briefcase 的 ``build`` 命令將其編譯成 Android APK 應用程式檔案。" +msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." +msgstr "然後我們可以使用 Briefcase 的 `build` 命令將其編譯成 Android APK 應用程式檔案。" #: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 #, fuzzy @@ -92,8 +92,8 @@ msgstr "Gradle 可能看起來卡住了" #: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 #, fuzzy -msgid "During the ``briefcase build android`` step, Gradle (the Android platform build tool) will print ``CONFIGURING: 100%``, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run ``build``; the tools are cached, and on your next build, the cached versions will be used." -msgstr "在``briefcase build android``步驟中,Gradle(Android 平台建置工具)將列印``CONFIGURING: 100%``,似乎什麼也沒做。別擔心,它並沒有卡住 - 它正在下載更多 Android SDK 組件。根據您的網路連線速度,這可能還需要 10 分鐘(或更長)。這種滯後應該只在你第一次執行``build``時發生;這些工具會被緩存,並且在您的下一個建置中,將使用快取的版本。" +msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." +msgstr "在`briefcase build android`步驟中,Gradle(Android 平台建置工具)將列印`CONFIGURING: 100%`,似乎什麼也沒做。別擔心,它並沒有卡住 - 它正在下載更多 Android SDK 組件。根據您的網路連線速度,這可能還需要 10 分鐘(或更長)。這種滯後應該只在你第一次執行`build`時發生;這些工具會被緩存,並且在您的下一個建置中,將使用快取的版本。" #: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 #, fuzzy @@ -102,23 +102,23 @@ msgstr "在虛擬設備上運行應用程式" #: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 #, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's ``run`` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "現在我們已經準備好運行我們的應用程式了。您可以使用 Briefcase 的``run``命令在 Android 裝置上執行該應用程式。讓我們從在 Android 模擬器上運行開始。" +msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +msgstr "現在我們已經準備好運行我們的應用程式了。您可以使用 Briefcase 的`run`命令在 Android 裝置上執行該應用程式。讓我們從在 Android 模擬器上運行開始。" #: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d #, fuzzy -msgid "To run your application, run ``briefcase run android``. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "要運行您的應用程序,請運行``briefcase run android``。當您執行此操作時,系統會提示您提供可以執行該應用程式的裝置清單。最後一項始終是建立新 Android 模擬器的選項。" +msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +msgstr "要運行您的應用程序,請運行`briefcase run android`。當您執行此操作時,系統會提示您提供可以執行該應用程式的裝置清單。最後一項始終是建立新 Android 模擬器的選項。" #: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 #, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (``beePhone``)." -msgstr "我們現在可以選擇我們想要的設備。選擇``建立新的 Android 模擬器``選項,並接受裝置名稱的預設選擇 (``beePhone``)。" +msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +msgstr "我們現在可以選擇我們想要的設備。選擇`建立新的 Android 模擬器`選項,並接受裝置名稱的預設選擇 (`beePhone`)。" #: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc #, fuzzy -msgid "Briefcase ``run`` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "公事包``run``將自動啟動虛擬設備。當裝置啟動時,您將看到 Android 標誌:" +msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +msgstr "公事包`run`將自動啟動虛擬設備。當裝置啟動時,您將看到 Android 標誌:" #: ../../tutorial/tutorial-5/android.rst:240 #: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 @@ -158,8 +158,8 @@ msgstr "模擬器沒有啟動!" #: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the `Requirements and recommendations `__ section of the Android developer documentation." -msgstr "Android 模擬器是一款複雜的軟體,依賴許多硬體和作業系統功能 - 這些功能在舊機器上可能無法使用或啟用。如果您在啟動 Android 模擬器時遇到任何困難,請參閱 Android 開發人員文件的``要求與建議 `__ 部分。" +msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +msgstr "Android 模擬器是一款複雜的軟體,依賴許多硬體和作業系統功能 - 這些功能在舊機器上可能無法使用或啟用。如果您在啟動 Android 模擬器時遇到任何困難,請參閱 Android 開發人員文件的 [要求與建議]{1} 部分。" #: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a #, fuzzy @@ -178,8 +178,8 @@ msgstr "演示應用程式全面啟動" #: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran ``briefcase run`` and look for any error messages." -msgstr "如果您無法看到應用程式啟動,您可能需要檢查執行``briefcase run``的終端並查找任何錯誤訊息。" +msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." +msgstr "如果您無法看到應用程式啟動,您可能需要檢查執行`briefcase run`的終端並查找任何錯誤訊息。" #: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." @@ -187,8 +187,8 @@ msgstr "" #: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using ``briefcase run android -d \"@beePhone\"`` to run on the virtual device directly." -msgstr "將來,如果您想在該裝置上運行而不使用選單,您可以將模擬器的名稱提供給Briefcase,使用``briefcase run android -d @beePhone``直接在虛擬裝置上執行。" +msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." +msgstr "將來,如果您想在該裝置上運行而不使用選單,您可以將模擬器的名稱提供給Briefcase,使用`briefcase run android -d @beePhone`直接在虛擬裝置上執行。" #: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 #, fuzzy @@ -217,18 +217,18 @@ msgstr "啟用USB調試" #: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 #, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation `__." -msgstr "有關如何進行這些更改的詳細信息,請參閱``Android 開發人員文件 ``。" +msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgstr "有關如何進行這些更改的詳細信息,請參閱 [Android 開發人員文件]{1}。" #: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run ``briefcase run android``." -msgstr "完成這些步驟後,當您執行``briefcase run android``時,您的裝置應該會出現在可用裝置清單中。" +msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." +msgstr "完成這些步驟後,當您執行`briefcase run android`時,您的裝置應該會出現在可用裝置清單中。" #: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, ``briefcase run android -d 94ZZY0LNE8``). This will run on the device directly, without prompting." -msgstr "在這裡,我們可以在部署清單中看到一個新的實體設備及其序號 - 在本例中為 Pixel 3a。將來,如果您想在該裝置上運行而不使用選單,您可以向Briefcase提供手機的序號(在本例中為``briefcase run android -d 94ZZY0LNE8``)。這將直接在設備上運行,無需提示。" +msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "在這裡,我們可以在部署清單中看到一個新的實體設備及其序號 - 在本例中為 Pixel 3a。將來,如果您想在該裝置上運行而不使用選單,您可以向Briefcase提供手機的序號(在本例中為`briefcase run android -d 94ZZY0LNE8`)。這將直接在設備上運行,無需提示。" #: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd #, fuzzy @@ -242,8 +242,8 @@ msgstr "如果您的裝置完全沒有出現在此清單中,則可能是您尚 #: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options `__, and re-run ``briefcase run android``." -msgstr "如果您的裝置出現,但被列為``未知裝置(未授權開發)``,則表示開發者模式尚未正確啟用。重新執行`啟用開發人員選項的步驟`__,並重新執行``briefcase run android``。" +msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." +msgstr "如果您的裝置出現,但被列為`未知裝置(未授權開發)`,則表示開發者模式尚未正確啟用。重新執行 [啟用開發人員選項的步驟]{1},並重新執行`briefcase run android``。" #: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 msgid "Next steps" @@ -251,6 +251,6 @@ msgstr "下一步" #: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 :doc:`教學 6 <../tutorial-6>` 以了解..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 85121d59..1f9eeda7 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -25,7 +25,7 @@ msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "教學 5 - 行動裝置:iOS" #: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae @@ -35,23 +35,23 @@ msgstr "一旦我們安裝了 Xcode,我們就可以將我們的應用程式部 #: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 #, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the ``create`` command - but this time, we specify that we want to create an iOS application:" -msgstr "將應用程式部署到 iOS 的過程與部署為桌面應用程式的過程非常相似。首先,執行``create``命令 - 但這一次,我們指定要建立一個 iOS 應用程式:" +msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" +msgstr "將應用程式部署到 iOS 的過程與部署為桌面應用程式的過程非常相似。首先,執行`create`命令 - 但這一次,我們指定要建立一個 iOS 應用程式:" #: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 #, fuzzy -msgid "Once this completes, we'll have a ``build/helloworld/ios/xcode`` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "完成後,我們將擁有一個``build/helloworld/ios/xcode``目錄,其中包含 Xcode 專案以及應用程式所需的支援庫和應用程式程式碼。" +msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." +msgstr "完成後,我們將擁有一個`build/helloworld/ios/xcode`目錄,其中包含 Xcode 專案以及應用程式所需的支援庫和應用程式程式碼。" #: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d #, fuzzy -msgid "You can then use Briefcase to compile your app using ``briefcase build iOS``:" -msgstr "然後,您可以使用``briefcase build iOS``來使用 Briefcase 來編譯您的應用程式:" +msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "然後,您可以使用`briefcase build iOS`來使用 Briefcase 來編譯您的應用程式:" #: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed #, fuzzy -msgid "We're now ready to run our application, using ``briefcase run iOS``. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "現在我們已經準備好使用``briefcase run iOS``來運行我們的應用程式。系統會提示您選擇要編譯的設備;如果您安裝了多個 iOS SDK 版本的模擬器,系統也可能會詢問您要定位哪個 iOS 版本。您顯示的選項可能與此輸出中顯示的選項不同 - 至少,設備清單可能會有所不同。就我們的目的而言,您選擇哪個模擬器並不重要。" +msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." +msgstr "現在我們已經準備好使用`briefcase run iOS`來運行我們的應用程式。系統會提示您選擇要編譯的設備;如果您安裝了多個 iOS SDK 版本的模擬器,系統也可能會詢問您要定位哪個 iOS 版本。您顯示的選項可能與此輸出中顯示的選項不同 - 至少,設備清單可能會有所不同。就我們的目的而言,您選擇哪個模擬器並不重要。" #: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 #, fuzzy @@ -69,8 +69,8 @@ msgstr "" #: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a ``-d`` (or ``--device``) option. Using the name of the device you selected when you built your application, run:" -msgstr "如果您事先知道要定位哪個 iOS 模擬器,則可以透過提供``-d``(或``--device``)選項來告訴 Briefcase 使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" +msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" +msgstr "如果您事先知道要定位哪個 iOS 模擬器,則可以透過提供`-d`(或`--device`)選項來告訴 Briefcase 使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" #: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 #, fuzzy @@ -88,12 +88,12 @@ msgstr "下一步" #: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e #, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to :doc:`Tutorial 6 <../tutorial-6>` to find out..." -msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 :doc:`教學 6 <../tutorial-6>` 以了解..." +msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." +msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__." -#~ msgstr "要編譯 iOS 應用程序,我們需要 Xcode,它可以從``macOS App Store ``免費獲得。" +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." +#~ msgstr "要編譯 iOS 應用程序,我們需要 Xcode,它可以從`macOS App Store `免費獲得。" -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store `__. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." +#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." #~ msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po index b02fe8c8..dcba2f1b 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -47,9 +47,9 @@ msgstr "Android" msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" -#~ msgid ":doc:`Let's build our app for iOS! `" -#~ msgstr ":doc:`讓我們為 iOS 建立我們的應用程式!`" +#~ msgid "[Let's build our app for iOS!][iOS]" +#~ msgstr "[讓我們為 iOS 建立我們的應用程式!`" -#~ msgid ":doc:`Let's build our app for Android! `" +#~ msgid ":doc:`Let's build our app for Android!][android]" #~ msgstr ":doc:`讓我們為 Android 建立應用程式!`" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po index 8ca9581f..f4465f76 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po @@ -38,7 +38,7 @@ msgid "The Toga Web backend is the least mature of all the Toga backends. It's m msgstr "" "Toga Web 後端是所有 Toga 後端中最不成熟的。它已經足夠成熟,可以展示一些功能," "但它可能有缺陷,並且會缺少其他平台上可用的許多小部件。此時,Web 部署應被視為 " -"``概念驗證`` - 足以演示可以做什麼,但不足以依賴認真的開發。" +"`概念驗證` - 足以演示可以做什麼,但不足以依賴認真的開發。" #: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e msgid "If you have problems with this step of the tutorial, you can skip to the next page." @@ -70,8 +70,8 @@ msgid "Windows" msgstr "Windows" #: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -msgid "This will open a web browser, pointing at `http://127.0.0.1:8080 `__:" -msgstr "這將開啟一個網頁瀏覽器,指向 `http://127.0.0.1:8080 `" +msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" +msgstr "這將開啟一個網頁瀏覽器,指向 [http://127.0.0.1:8080 `" "__ :" #: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 @@ -87,18 +87,18 @@ msgid "How does this work?" msgstr "這個怎麼用?" #: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the ``www`` folder onto any web server that can serve static content." +msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." msgstr "" "此 Web 應用程式是一個靜態網站 - 單一 HTML 來源頁面,帶有一些 CSS 和其他資源。" " Briefcase 已啟動本機 Web " "伺服器來提供此頁面,以便您的瀏覽器可以查看該頁面。如果您想將此網頁投入生產," -"您可以將 ``www`` 資料夾的內容複製到任何可以提供靜態內容的 Web 伺服器上。" +"您可以將 `www` 資料夾的內容複製到任何可以提供靜態內容的 Web 伺服器上。" #: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript `__ to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." msgstr "" "但是當你按下按鈕時,你正在運行 Python 程式碼......這是如何運作的? Toga 使用 " -"`PyScript `__ 在瀏覽器中提供 Python 解譯器。 Briefcase " +"[PyScript]{1} 在瀏覽器中提供 Python 解譯器。 Briefcase " "將應用程式的程式碼打包為 PyScript " "可以在瀏覽器中載入的輪子。載入頁面後,應用程式程式碼在瀏覽器中運行," "使用瀏覽器 DOM 建立 " @@ -109,7 +109,7 @@ msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to :doc:`Tutorial 7 ` to find out..." +msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." msgstr "" "雖然我們現在已經在桌面、行動和網路上部署了這個應用程序,但該應用程式相當簡單" ",並且不涉及任何第三方程式庫。我們可以在我們的應用程式中包含 Python 套件索引 " diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po index 6e46356d..47bafe84 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -42,18 +42,18 @@ msgid "Let's modify our application to say a little bit more than just \"Hi, the msgstr "" #: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called `Faker `__ . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." msgstr "" #: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e #, fuzzy -msgid "We start by adding ``faker`` to our app. Add an import to the top of the ``app.py`` to import ``faker``::" -msgstr "讓我們為我們的應用程式新增一個``httpx`` API 呼叫。將導入新增至``app.py``頂部以導入``httpx``::" +msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" +msgstr "讓我們為我們的應用程式新增一個`httpx` API 呼叫。將導入新增至`app.py`頂部以導入`httpx`:" #: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "然後修改``say_hello()``回調,使其看起來像這樣::" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "然後修改`say_hello()`回調,使其看起來像這樣:" #: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 #, fuzzy @@ -108,8 +108,8 @@ msgstr "" #: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f #, fuzzy -msgid "What happened? We've added ``faker`` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing ``faker`` with ``pip``, and then re-running ``briefcase dev``:" -msgstr "發生了什麼事?我們已將``httpx``新增至我們的*程式碼*中,但我們尚未將其新增至我們的開發虛擬環境。我們可以透過用``pip``安裝``httpx``來解決這個問題,然後重新執行``briefcase dev``:" +msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +msgstr "發生了什麼事?我們已將`httpx`新增至我們的*程式碼*中,但我們尚未將其新增至我們的開發虛擬環境。我們可以透過用`pip`安裝`httpx`來解決這個問題,然後重新執行`briefcase dev`:" #: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 #: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb @@ -145,8 +145,8 @@ msgstr "運行更新的應用程式" #: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in :doc:`Tutorial 4 `:" -msgstr "讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼,因此我們需要遵循 :doc:`教程 4 ` 中的相同步驟:" +msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" +msgstr "讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼,因此我們需要遵循 [教程 4][tutorial-4] 中的相同步驟:" #: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 #: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 @@ -207,8 +207,8 @@ msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤: #: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a #, fuzzy -msgid "Once again, the app has failed to start because ``faker`` has not been installed - but why? Haven't we already installed ``faker``?" -msgstr "再一次,應用程式無法啟動,因為``httpx``已安裝 - 但為什麼呢?我們不是已經安裝了``httpx``了嗎?" +msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" +msgstr "再一次,應用程式無法啟動,因為`httpx`已安裝 - 但為什麼呢?我們不是已經安裝了`httpx`了嗎?" #: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 #, fuzzy @@ -217,8 +217,8 @@ msgstr "我們有 - 但僅限於開發環境。您的開發環境完全位於您 #: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run ``briefcase build`` - an isolated Python environment. This also explains why ``faker`` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "確保其他人擁有一個包含其所需一切的Python環境的唯一方法是建立一個完全隔離的Python環境。這意味著有一個完全隔離的 Python 安裝和一組完全隔離的依賴項。這就是當您執行``briefcase build``時,Briefcase 正在建置的內容—一個獨立的 Python 環境。這也解釋了為什麼未安裝``httpx`` - 它已安裝在您的*開發*環境中,但未安裝在打包的應用程式中。" +msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." +msgstr "確保其他人擁有一個包含其所需一切的Python環境的唯一方法是建立一個完全隔離的Python環境。這意味著有一個完全隔離的 Python 安裝和一組完全隔離的依賴項。這就是當您執行`briefcase build`時,Briefcase 正在建置的內容—一個獨立的 Python 環境。這也解釋了為什麼未安裝`httpx` - 它已安裝在您的*開發*環境中,但未安裝在打包的應用程式中。" #: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 #, fuzzy @@ -232,43 +232,43 @@ msgstr "更新依賴項" #: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 #, fuzzy -msgid "In the root directory of your app, there is a file named ``pyproject.toml``. This file contains all the app configuration details that you provided when you originally ran ``briefcase new``." -msgstr "在應用程式的根目錄中,有一個名為``pyproject.toml``的檔案。該檔案包含您最初執行``briefcase new``時提供的所有應用程式設定詳細資訊。" +msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." +msgstr "在應用程式的根目錄中,有一個名為`pyproject.toml`的檔案。該檔案包含您最初執行`briefcase new`時提供的所有應用程式設定詳細資訊。" #: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d #, fuzzy -msgid "``pyproject.toml`` is broken up into sections; one of the sections describes the settings for your app::" -msgstr "``pyproject.toml`` 被分成幾個部分;其中一節描述了您的應用程式的設定::" +msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgstr "`pyproject.toml` 被分成幾個部分;其中一節描述了您的應用程式的設定::" #: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 #, fuzzy -msgid "The ``requires`` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "``requires`` 選項描述了我們應用程式的依賴關係。它是一個字串列表,指定您想要包含在應用程式中的庫(以及可選的版本)。" +msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." +msgstr "`requires` 選項描述了我們應用程式的依賴關係。它是一個字串列表,指定您想要包含在應用程式中的庫(以及可選的版本)。" #: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f #, fuzzy -msgid "Modify the ``requires`` setting so that it reads::" -msgstr "修改``requires``設置,使其顯示為:" +msgid "Modify the `requires` setting so that it reads:" +msgstr "修改`requires`設置,使其顯示為:" #: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run ``pip install faker`` into the application bundle\". Anything that would be legal input to ``pip install`` can be used here - so, you could specify:" -msgstr "透過添加此設置,我們告訴 Briefcase``當您建立我的應用程式時,在應用程式包中執行``pip install httpx````。任何可以作為``pip install``合法輸入的內容都可以在這裡使用 - 因此,您可以指定:" +msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" +msgstr "透過添加此設置,我們告訴 Briefcase`當您建立我的應用程式時,在應用程式包中執行`pip install httpx``。任何可以作為`pip install`合法輸入的內容都可以在這裡使用 - 因此,您可以指定:" #: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 #, fuzzy -msgid "A specific library version (e.g., ``\"faker==37.3.0\"``);" -msgstr "特定的庫版本(例如``httpx==0.19.0``);" +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "特定的庫版本(例如`httpx==0.19.0`);" #: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba #, fuzzy -msgid "A range of library versions (e.g., ``\"faker>=37\"``);" -msgstr "一系列庫版本(例如``httpx>=0.19``);" +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "一系列庫版本(例如`httpx>=0.19`);" #: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 #, fuzzy -msgid "A path to a git repository (e.g., ``\"git+https://github.com/joke2k/faker/\"``); or" -msgstr "git 儲存庫的路徑(例如,``\"git+https://github.com/encode/httpx\"``);或者" +msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgstr "git 儲存庫的路徑(例如,`\"git+https://github.com/encode/httpx\"`);或者" #: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 #, fuzzy @@ -277,84 +277,84 @@ msgstr "本機檔案路徑(但是 - 請注意:如果您將程式碼提供給 #: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 #, fuzzy -msgid "Further down in ``pyproject.toml``, you'll notice other sections that are operating system dependent, like ``[tool.briefcase.app.helloworld.macOS]`` and ``[tool.briefcase.app.helloworld.windows]``. These sections *also* have a ``requires`` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific ``requires`` section, and that setting will only be used for that platform. You will notice that the ``toga`` libraries are all specified in the platform-specific ``requires`` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "在``pyproject.toml``中,您會注意到與作業系統相關的其他部分,例如``[tool.briefcase.app.helloworld.macOS]``和``[tool.briefcase.app.helloworld``.windows]`` 。這些部分*也*有一個``requires``設定。這些設定允許您定義其他特定於平台的依賴項 - 因此,例如,如果您需要特定於平台的庫來處理應用程式的某些方面,您可以在特定於平台的``requires``部分中指定該庫,並且該設定將僅用於該平台。您會注意到``toga``庫都是在特定於平台的``requires``部分中指定的 - 這是因為顯示使用者介面所需的庫是特定於平台的。" +msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." +msgstr "在`pyproject.toml`中,您會注意到與作業系統相關的其他部分,例如`[tool.briefcase.app.helloworld.macOS]`和`[tool.briefcase.app.helloworld`.windows]` 。這些部分*也*有一個`requires`設定。這些設定允許您定義其他特定於平台的依賴項 - 因此,例如,如果您需要特定於平台的庫來處理應用程式的某些方面,您可以在特定於平台的`requires`部分中指定該庫,並且該設定將僅用於該平台。您會注意到`toga`庫都是在特定於平台的`requires`部分中指定的 - 這是因為顯示使用者介面所需的庫是特定於平台的。" #: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 #, fuzzy -msgid "In our case, we want ``faker`` to be installed on all platforms, so we use the app-level ``requires`` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "在我們的例子中,我們希望在所有平台上安裝``httpx``,因此我們使用應用程式層級``requires``設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會安裝特定於平台的依賴項。" +msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." +msgstr "在我們的例子中,我們希望在所有平台上安裝`httpx`,因此我們使用應用程式層級`requires`設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會安裝特定於平台的依賴項。" #: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to ``pyproject.toml``, and then update your app again - this time, passing in the ``-r`` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "現在我們已經告訴 Briefcase 我們的附加要求,我們可以嘗試再次打包我們的應用程式。確保您已將變更儲存到``pyproject.toml``,然後再次更新您的應用程式 - 這次傳入``-r``標誌。這告訴 Briefcase 更新打包應用程式中的要求:" +msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "現在我們已經告訴 Briefcase 我們的附加要求,我們可以嘗試再次打包我們的應用程式。確保您已將變更儲存到`pyproject.toml`,然後再次更新您的應用程式 - 這次傳入`-r`標誌。這告訴 Briefcase 更新打包應用程式中的要求:" #: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e #, fuzzy -msgid "Once you've updated, you can run ``briefcase build`` and ``briefcase run`` - and you should see your packaged app, with the new dialog behavior." -msgstr "更新後,您可以運行``briefcase build``和``briefcase run`` - 您應該會看到打包的應用程序,具有新的對話框行為。" +msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." +msgstr "更新後,您可以運行`briefcase build`和`briefcase run` - 您應該會看到打包的應用程序,具有新的對話框行為。" #: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 #, fuzzy -msgid "The ``-r`` option for updating requirements is also honored by the ``build`` and ``run`` command, so if you want to update, build, and run in one step, you could use ``briefcase run -u -r``." -msgstr "用於更新需求的``-r``選項也受到``build``和``run``命令的支持,因此如果您想一步更新、構建和運行,您可以使用``briefcase``運行-u -r``。" +msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." +msgstr "用於更新需求的`-r`選項也受到`build`和`run`命令的支持,因此如果您想一步更新、構建和運行,您可以使用`briefcase`運行-u -r`。" #: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" #: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI) `__, and installed into your local virtual environment. We've been using ``pip`` in this tutorial, but there are other options." +msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." msgstr "" #: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited `__." -msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安裝的``pip``都可以加入您的需求。在行動和網路平台上,`您的選擇略有限制 `__。" +msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." +msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安裝的`pip`都可以加入您的需求。在行動和網路平台上,[您的選擇略有限制]{1}。" #: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." msgstr "" #: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a ``-py3-none-any.whl`` suffix (e.g., `Faker `__), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., `Pillow `__, which has wheels with suffixes like ``-cp313-cp313-macosx_11_0_arm64.whl`` and ``-cp39-cp39-win_amd64.whl``), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{2}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." msgstr "" #: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including ``numpy``, ``pandas``, and ``cryptography``). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." msgstr "" #: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 #, fuzzy msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare 可以為一些流行的二進位模組(包括``numpy``、``pandas``和``cryptography``)提供二進位檔案。 *通常* 可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹性教程的範圍。" +msgstr "BeeWare 可以為一些流行的二進位模組(包括`numpy`、`pandas`和`cryptography`)提供二進位檔案。 *通常* 可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹性教程的範圍。" #: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 msgid "Next steps" msgstr "下一步" #: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In :doc:`Tutorial 8 ` we'll learn how to ensure our app remains responsive as we add more complex application logic." +msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." msgstr "" #~ msgid "Accessing an API" #~ msgstr "存取 API" -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data." -#~ msgstr "應用程式需要執行的常見任務是在 Web API 上發出請求以檢索數據,並向使用者顯示該數據。這是一個玩具應用程序,因此我們沒有*真正的* API 可供使用,因此我們將使用 `{JSON} Placeholder API `__ 作為來源資料。" +#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." +#~ msgstr "應用程式需要執行的常見任務是在 Web API 上發出請求以檢索數據,並向使用者顯示該數據。這是一個玩具應用程序,因此我們沒有*真正的* API 可供使用,因此我們將使用 [{JSON} Placeholder API]{1} 作為來源資料。" -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." -#~ msgstr "{JSON} Placeholder API 有許多``假``API 端點,您可以將其用作測試資料。這些 API 之一是``/posts/``端點,它會傳回虛假的部落格文章。如果您在瀏覽器中開啟 ``https://jsonplaceholder.typicode.com/posts/42``,您將獲得一個描述單一貼文的 JSON 有效負載 - 一些 `Lorum ipsum `__ ID 為42 的部落格文章的內容。" +#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." +#~ msgstr "{JSON} Placeholder API 有許多`假`API 端點,您可以將其用作測試資料。這些 API 之一是`/posts/`端點,它會傳回虛假的部落格文章。如果您在瀏覽器中開啟 `https://jsonplaceholder.typicode.com/posts/42`,您將獲得一個描述單一貼文的 JSON 有效負載 - 一些 [Lorum ipsum]{1} ID 為42 的部落格文章的內容。" #~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Python 標準函式庫包含存取 API 所需的所有工具。然而,內建的 API 等級非常低。它們是 HTTP 協定的良好實作 - 但它們要求使用者管理大量低階細節,例如 URL 重新導向、會話、驗證和有效負載編碼。作為``普通瀏覽器用戶``,您可能習慣於將這些詳細資訊視為理所當然,因為瀏覽器會為您管理這些詳細資訊。" +#~ msgstr "Python 標準函式庫包含存取 API 所需的所有工具。然而,內建的 API 等級非常低。它們是 HTTP 協定的良好實作 - 但它們要求使用者管理大量低階細節,例如 URL 重新導向、會話、驗證和有效負載編碼。作為`普通瀏覽器用戶`,您可能習慣於將這些詳細資訊視為理所當然,因為瀏覽器會為您管理這些詳細資訊。" -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__." -#~ msgstr "因此,人們開發了第三方函式庫來包裝內建 API,並提供更簡單的 API,更適合日常瀏覽器體驗。我們將使用其中一個函式庫來存取 {JSON} Placeholder API - 一個名為 `httpx `__ 的函式庫。" +#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." +#~ msgstr "因此,人們開發了第三方函式庫來包裝內建 API,並提供更簡單的 API,更適合日常瀏覽器體驗。我們將使用其中一個函式庫來存取 {JSON} Placeholder API - 一個名為 [httpx]{1} 的函式庫。" -#~ msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" -#~ msgstr "這將更改``say_hello()``回調,以便在調用它時,它將:" +#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#~ msgstr "這將更改`say_hello()`回調,以便在調用它時,它將:" #~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" #~ msgstr "對 JSON 佔位符 API 發出 GET 請求以取得 post 42;" @@ -374,6 +374,6 @@ msgstr "" #~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." #~ msgstr "簡而言之;任何 *純Python* 套件(即,*不* 包含二進位模組的套件)都可以毫無困難地使用。但是,如果您的依賴項包含二進位元件,則必須對其進行編譯;目前,大多數Python套件不提供非桌面平台的編譯支援。" -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to :doc:`Tutorial 8 ` to find out..." -#~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 :doc:`教學 8 ` 找出..." +#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." +#~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 [教學 8][tutorial-8] 找出..." diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po index 377a8070..19a33e8b 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po @@ -40,7 +40,7 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 #, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the `{JSON} Placeholder API `__ as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the ``/posts/`` endpoint, which returns fake blog posts. If you open ``https://jsonplaceholder.typicode.com/posts/42`` in your browser, you'll get a JSON payload describing a single post - some `Lorum ipsum `__ content for a blog post with ID 42." +msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." msgstr "" #: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 @@ -49,24 +49,24 @@ msgstr "" #: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 #, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called `httpx `__. Briefcase uses ``httpx`` internally, so it's already in your local environment - you don't need to install it separately to use it here." +msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." msgstr "" #: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a ``httpx`` API call to our app. Modify the ``requires`` setting in our ``pyproject.toml`` to include the new requirement::" +msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" msgstr "" #: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the ``app.py`` to import ``httpx``::" +msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" #: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 #, fuzzy -msgid "Then modify the ``say_hello()`` callback so it looks like this::" -msgstr "要使我們的教程異步,請修改 ``say_hello()`` 事件處理程序,使其如下所示:" +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" #: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the ``say_hello()`` callback so that when it is invoked, it will:" +msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" msgstr "" #: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c @@ -86,7 +86,7 @@ msgid "include the body of that post as the text of the \"message\" dialog, in p msgstr "" #: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the ``-r`` argument:" +msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" #: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 @@ -158,21 +158,21 @@ msgid "To understand why this happens, we need to dig into the details of how a msgstr "為了理解為什麼會發生這種情況,我們需要深入研究 GUI 應用程式如何運作的細節。具體情況因平台而異;但無論您使用什麼平台或 GUI 環境,概念都是相同的。" #: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -msgid "A GUI app is, fundamentally, a single loop that looks something like::" -msgstr "從根本上來說,GUI 應用程式是一個看起來像這樣的循環::" +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "從根本上來說,GUI 應用程式是一個看起來像這樣的循環:" #: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 #, fuzzy msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "此循環稱為 *事件循環* 。 (這些不是實際的方法名稱 - 它是 ``偽代碼`` 中發生的情況的說明)。" +msgstr "此循環稱為 *事件循環* 。 (這些不是實際的方法名稱 - 它是 `偽代碼` 中發生的情況的說明)。" #: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the ``process_events()`` call." -msgstr "當您按一下按鈕、拖曳捲軸或按下按鍵時,代表你產生一個 ``事件`` 。該 ``事件`` 被放入佇列中,應用程式將在下次有機會處理事件佇列時處理該事件。響應事件而觸發的程式碼稱為 ``event handler`` 。這些事件處理程序作為 ``process_events()`` 呼叫的一部分被呼叫。" +msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." +msgstr "當您按一下按鈕、拖曳捲軸或按下按鍵時,代表你產生一個 `事件` 。該 `事件` 被放入佇列中,應用程式將在下次有機會處理事件佇列時處理該事件。響應事件而觸發的程式碼稱為 `event handler` 。這些事件處理程序作為 `process_events()` 呼叫的一部分被呼叫。" #: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -msgid "Once an app has processed all the available events, it will ``redraw()`` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "一旦應用程式處理完所有可用事件,它將 ``redraw()`` GUI。這考慮了事件對應用程式顯示造成的任何變化,以及作業系統中發生的任何其他變化 - 例如,另一個應用程式的視窗可能會遮蓋或顯示我們應用程式視窗的一部分,我們的應用程式的重繪需要反映目前可見的視窗部分。" +msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." +msgstr "一旦應用程式處理完所有可用事件,它將 `redraw()` GUI。這考慮了事件對應用程式顯示造成的任何變化,以及作業系統中發生的任何其他變化 - 例如,另一個應用程式的視窗可能會遮蓋或顯示我們應用程式視窗的一部分,我們的應用程式的重繪需要反映目前可見的視窗部分。" #: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." @@ -180,11 +180,11 @@ msgstr "需要注意的重要細節:當應用程式正在處理事件時, * #: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "這意味著事件處理程序中包含的任何使用者邏輯都需要快速完成。使用者將觀察到完成事件處理程序的任何延遲,因為 GUI 更新速度會減慢(或停止)。如果延遲足夠長,您的作業系統可能會將此報告為問題 - macOS ``beachball`` 和 Windows ``spinner`` 圖示是作業系統告訴您您的應用程式在事件處理程序中花費的時間太長。" +msgstr "這意味著事件處理程序中包含的任何使用者邏輯都需要快速完成。使用者將觀察到完成事件處理程序的任何延遲,因為 GUI 更新速度會減慢(或停止)。如果延遲足夠長,您的作業系統可能會將此報告為問題 - macOS `beachball` 和 Windows `spinner` 圖示是作業系統告訴您您的應用程式在事件處理程序中花費的時間太長。" #: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "``更新標籤`` 或 ``重新計算輸入總數`` 等簡單操作很容易快速完成。然而,有許多操作無法快速完成。如果您正在執行複雜的數學計算,或對檔案系統上的所有檔案進行索引,或執行網路請求,則您無法 ``快速完成`` - 那些操作本質上很慢。" +msgstr "`更新標籤` 或 `重新計算輸入總數` 等簡單操作很容易快速完成。然而,有許多操作無法快速完成。如果您正在執行複雜的數學計算,或對檔案系統上的所有檔案進行索引,或執行網路請求,則您無法 `快速完成` - 那些操作本質上很慢。" #: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 msgid "So - how do we perform long-lived operations in a GUI application?" @@ -200,7 +200,7 @@ msgstr "我們需要的是一種方法讓耗時的event handler執行時告訴 #: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "我們可以透過使用 ``非同步程式設計`` 來做到這一點。非同步程式設計是一種描述程式的方式,允許解釋器同時運行多個函數,在所有並發運行的函數之間共用資源。" +msgstr "我們可以透過使用 `非同步程式設計` 來做到這一點。非同步程式設計是一種描述程式的方式,允許解釋器同時運行多個函數,在所有並發運行的函數之間共用資源。" #: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d #, fuzzy @@ -209,8 +209,8 @@ msgstr "非同步函數(稱為 *協程* )需要明確宣告為非同步。 #: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the ``async`` and ``await`` keywords, and the `asyncio `__ module in the standard library. The ``async`` keyword allows us to declare that a function is an asynchronous coroutine. The ``await`` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The `asyncio `__ module provides some other useful tools and primitives for asynchronous coding." -msgstr "在Python中,非同步程式設計是使用 ``async`` 和 ``await`` 關鍵字以及 `asyncio `_ 中的模組來實現的。標準庫。 ``async`` 關鍵字允許我們宣告函數是非同步協同例程。 ``await`` 關鍵字提供了一種聲明何時存在將上下文更改為另一個協同例程的機會的方法。 `asyncio `__ 模組為非同步程式設計提供了一些其他有用的工具和語法。" +msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." +msgstr "在Python中,非同步程式設計是使用 `async` 和 `await` 關鍵字以及 [asyncio]{1} 中的模組來實現的。標準庫。 `async` 關鍵字允許我們宣告函數是非同步協同例程。 `await` 關鍵字提供了一種聲明何時存在將上下文更改為另一個協同例程的機會的方法。 [asyncio]{2} 模組為非同步程式設計提供了一些其他有用的工具和語法。" #: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d #, fuzzy @@ -218,8 +218,8 @@ msgid "Making the tutorial asynchronous" msgstr "使教學異步" #: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -msgid "To make our tutorial asynchronous, modify the ``say_hello()`` event handler so it looks like this::" -msgstr "要使我們的教程異步,請修改 ``say_hello()`` 事件處理程序,使其如下所示:" +msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" #: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 #, fuzzy @@ -227,19 +227,19 @@ msgid "There are only three changes to this callback from the previous version:" msgstr "與先前的版本相比,此程式碼僅發生了 4 處變更:" #: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -msgid "The client that is created is an asynchronous ``AsyncClient()``, rather than a synchronous ``Client()``. This tells ``httpx`` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "建立的客戶端是異步 ``AsyncClient()`` ,而不是同步 ``Client()`` 。這告訴 ``httpx`` 它應該以非同步模式運行,而不是同步模式。" +msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." +msgstr "建立的客戶端是異步 `AsyncClient()` ,而不是同步 `Client()` 。這告訴 `httpx` 它應該以非同步模式運行,而不是同步模式。" #: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -msgid "The context manager used to create the client is marked as ``async``. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "用於建立客戶端的上下文管理器被標記為 ``async`` 。這告訴Python,當進入和退出上下文管理器時,有機會釋放控制權。" +msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." +msgstr "用於建立客戶端的上下文管理器被標記為 `async` 。這告訴Python,當進入和退出上下文管理器時,有機會釋放控制權。" #: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use ``await`` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." msgstr "" #: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use ``await`` statements inside a method that is declared as ``async def``." +msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." msgstr "" #: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 @@ -250,11 +250,11 @@ msgstr "Toga 允許您使用常規方法或非同步協同例程作為處理程 #: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 #, fuzzy msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "如果您儲存這些變更並重新執行應用程式(在開發模式下使用 ``briefcase dev`` ,或透過更新並重新執行打包的應用程式),應用程式不會有任何明顯的變更。但是,當您單擊按鈕觸發對話框時,您可能會注意到一些細微的改進:" +msgstr "如果您儲存這些變更並重新執行應用程式(在開發模式下使用 `briefcase dev` ,或透過更新並重新執行打包的應用程式),應用程式不會有任何明顯的變更。但是,當您單擊按鈕觸發對話框時,您可能會注意到一些細微的改進:" #: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "該按鈕返回到 ``未單擊`` 狀態,而不是停留在 ``單擊`` 狀態。" +msgstr "該按鈕返回到 `未單擊` 狀態,而不是停留在 `單擊` 狀態。" #: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 msgid "The \"beachball\"/\"spinner\" icon won't appear" @@ -269,7 +269,7 @@ msgid "If you try to open an app menu, the menu will appear immediately." msgstr "如果您嘗試開啟應用程式選單,該選單將立即出現。" #: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (``httpx``) we also need to update our app's requirements; we can do this by passing ``-r`` to ``briefcase run``. This will update our app's requirements, then re-build the app, then launch the app:" +msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" msgstr "" #: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a @@ -321,35 +321,35 @@ msgid "So - where to from here?" msgstr "" #: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional :doc:`topic tutorials ` that go into detail on specific aspects of application development." +msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." msgstr "" #: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." msgstr "" #: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to :doc:`Tutorial 9 ` to find out..." -#~ msgstr "我們現在擁有一個流暢且響應迅速的應用程序,即使它正在等待緩慢的 API。但是,當我們繼續進一步開發應用程式時,如何確保該應用程式繼續運行?我們如何測試我們的應用程式?前往 :doc:`教學 9` 找找看..." +#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." +#~ msgstr "我們現在擁有一個流暢且響應迅速的應用程序,即使它正在等待緩慢的 API。但是,當我們繼續進一步開發應用程式時,如何確保該應用程式繼續運行?我們如何測試我們的應用程式?前往 [教學 9[ 找找看..." -#~ msgid "The method is defined as ``async def``, rather than just ``def``. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "該方法被定義為 ``async def`` ,而不僅僅是 ``def`` 。這告訴 Python 該方法是一個非同步協同例程。" +#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." +#~ msgstr "該方法被定義為 `async def` ,而不僅僅是 `def` 。這告訴 Python 該方法是一個非同步協同例程。" -#~ msgid "The ``get`` call is made with an ``await`` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "``get`` 呼叫是使用 ``await`` 關鍵字進行的。這指示應用程式在等待網路回應時,應用程式可以釋放對事件循環的控制。" +#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." +#~ msgstr "`get` 呼叫是使用 `await` 關鍵字進行的。這指示應用程式在等待網路回應時,應用程式可以釋放對事件循環的控制。" -#~ msgid "Let's add a ``httpx`` API call to our app. Add an import to the top of the ``app.py`` to import ``httpx``::" +#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" #~ msgstr "" #~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." #~ msgstr "" -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation `__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit `__." +#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." #~ msgstr "" -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into `Briefcase's documentation `__." +#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." #~ msgstr "" diff --git a/pyproject.toml b/pyproject.toml index 2163b9fd..ad28c080 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -53,10 +53,11 @@ dev = [ ] # Docs are always built on a specific Python version; see RTD and tox config files. docs = [ + # "beeware-docs-tools @ /Users/kattni/BeeWare/beeware-docs-tools", "black", "codespell", "markdown-checker", - "mkdocs", # Is this needed? + "mkdocs", "mkdocs-autorefs", "mkdocs-include-markdown-plugin", "mkdocs-literate-nav", diff --git a/tox.ini b/tox.ini index bc2e6b15..dbf346d0 100644 --- a/tox.ini +++ b/tox.ini @@ -45,11 +45,11 @@ wheel_build_env = .pkg extras = docs commands: !lint-!all-!translate-!live-!en-!fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat en - translate : md2po --input {[docs]docs_dir} --output {[docs]templates_dir} --pot --duplicates=merge --exclude={[docs]exclude_translate} -; translate : python {tox_root}{/}translation_tools{/}build_po_translations.py fr + translate : md2po --input docs --output {[docs]templates_dir} --pot --duplicates=merge --exclude={[docs]exclude_translate} +# translate : python {tox_root}{/}translation_tools{/}build_po_translations.py fr lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_paths lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls - live : python -m mkdocs serve --clean --config-file {[docs]docs_dir}{/}mkdocs.en.yml + live : python -m mkdocs serve --clean --config-file {[docs]docs_dir}{/}mkdocs.en.yml --watch {[docs]docs_dir} all : python {tox_root}{/}translation_tools{/}build_md_translations.py en fr en : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat {posargs} en fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat {posargs} fr diff --git a/updated-locales/de/LC_MESSAGES/how-to/index.po b/updated-locales/de/LC_MESSAGES/how-to/index.po deleted file mode 100644 index 002438c5..00000000 --- a/updated-locales/de/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: de\n" -"Language-Team: de \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/de/LC_MESSAGES/index.po b/updated-locales/de/LC_MESSAGES/index.po deleted file mode 100644 index 60eeafc1..00000000 --- a/updated-locales/de/LC_MESSAGES/index.po +++ /dev/null @@ -1,101 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2024-08-17 05:09+0000\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Willkommen zum BeeWare-Tutorial!" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -msgid "**Write Python. Run Anywhere.**" -msgstr "**Einmal schreiben. Überall ausführen.**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Willkommen bei BeeWare! In diesem Tutorial werden wir eine grafische Benutzeroberfläche mit Python erstellen und sie als Desktop-, Mobil- und Web-Anwendung bereitstellen. Außerdem sehen wir uns an, wie Sie die BeeWare-Tools nutzen können, um übliche Aufgaben als App-Entwickler zu erledigen, wie zum Beispiel das Testen Ihrer App." - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Übersetzungen sind verfügbar" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "Wenn Sie mit Englisch nicht vertraut sind, sind Übersetzungen dieses Tutorials in [Deutsch]{1} und [Español]{1} verfügbar __, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1} und [中文(繁体)]{1}." - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "Dies ist eine maschinelle Übersetzung!" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Diese Version des Tutorials wurde durch maschinelle Übersetzung erstellt. Wir wissen, dass dies nicht ideal ist, aber wir waren der Meinung, dass eine schlechte Übersetzung besser ist als gar keine Übersetzung." - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Wenn du helfen möchtest, die Übersetzung zu verbessern, melde dich! Wir haben einen `#translations`-Kanal in [Discord]{1}. Stellen Sie sich dort vor und wir werden Sie dem Übersetzungsteam hinzufügen." - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "Dies ist eine Übersetzung!" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Dieses Dokument ist eine Übersetzung der englischen Version. Die Übersetzung wurde von Menschen überprüft, aber neuere Abschnitte können durch maschinelle Übersetzung erstellt oder überhaupt nicht übersetzt worden sein." - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -msgid "What is BeeWare?" -msgstr "Was ist BeeWare?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare ist kein einzelnes Produkt, Werkzeug oder eine Bibliothek - es ist eine Sammlung von Werkzeugen und Bibliotheken, die alle zusammenarbeiten, um Ihnen zu helfen, plattformübergreifende Python-Anwendungen mit einer nativen GUI zu schreiben. Es umfasst:" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, ein plattformübergreifendes Widget-Toolkit;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -#, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, ein Werkzeug zum Verpacken von Python-Projekten als verteilbare Artefakte, die an Endbenutzer ausgeliefert werden können;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -#, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Bibliotheken (wie [Rubicon ObjC]{1}) für den Zugriff auf plattformspezifische Bibliotheken;" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Vorkompilierte Python-Builds, die auf Plattformen verwendet werden können, für die keine offiziellen Python-Installationsprogramme verfügbar sind." - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "In diesem Tutorium werden wir alle diese Tools verwenden, aber als Benutzer müssen Sie nur mit den ersten beiden (Toga und Briefcase) interagieren. Jedes der Tools kann jedoch auch einzeln verwendet werden - zum Beispiel können Sie Briefcase verwenden, um eine App bereitzustellen, ohne Toga als GUI-Toolkit zu verwenden." - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "Die BeeWare-Suite ist für macOS, Windows, Linux (unter Verwendung von GTK), für mobile Plattformen wie Android und iOS und für das Web verfügbar." - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "Los geht's!" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? [Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen!][tutorial/tutorial-0]" - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index b232e6e9..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,131 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-08-19 17:09+0000\n" -"Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "Kameranutzung" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -#, fuzzy -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "Fast jedes moderne Computergerät verfügt über eine Kamera. In diesem Tutorial schreiben wir eine neue Anwendung, die Zugriff auf diese Kamera anfordern, ein Foto aufnehmen und dieses Foto dann in der App anzeigen kann. Neue Anwendung, die die Kamera Ihres Geräts verwendet." - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "Dieses Tutorial funktioniert nicht auf allen Plattformen!" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "Leider funktioniert dieses Tutorial derzeit nur auf macOS und Android." - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "Obwohl alle iPhones über Kameras verfügen, verfügt der iOS-*Simulator* nicht über eine funktionierende Kamera. Windows- und Linux-Geräte verfügen ebenfalls über Kameras, aber Toga kann derzeit auf diesen Plattformen nicht auf die Kamera zugreifen." - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "Der hier dargestellte Code *läuft* unter Windows oder Linux, löst jedoch einen Fehler aus, wenn Sie versuchen, ein Foto aufzunehmen." - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "Der Code funktioniert, wenn er auf einem echten iOS-Gerät ausgeführt wird, kann jedoch kein Foto aufnehmen, wenn er im iOS-Simulator bereitgestellt wird." - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "Neues Projekt starten" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "Für dieses Tutorial werden wir nicht auf der Anwendung aus dem Kerntutorial aufbauen, sondern ein neues Projekt beginnen. Sie können dieselbe virtuelle Umgebung verwenden, die Sie im ersten Projekt verwendet haben. Wir müssen jedoch den Assistenten „Aktenkoffer neu“ erneut ausführen." - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "Wechseln Sie zurück in das Verzeichnis, das den Projektordner `helloworld` enthält, und starten Sie ein neues Projekt mit dem Namen „Hello Camera“:" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "Fügen Sie Code hinzu, um ein Foto aufzunehmen" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "Der Assistent hat ein neues leeres Toga-Projekt generiert. Wir können jetzt den Code zum Aufnehmen und Anzeigen eines Fotos hinzufügen. Bearbeiten Sie die Datei `app.py` für die neue Anwendung, sodass sie den folgenden Inhalt hat:" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -#, fuzzy -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "Dieser Code weist gegenüber der von Briefcase generierten Standard-App zwei Änderungen auf. Diese Ergänzungen sind gelb hervorgehoben:" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "Der erste hervorgehobene Codeblock (in der Methode `startup()`) fügt die beiden Widgets hinzu, die zur Steuerung der Kamera erforderlich sind: ein `ImageView` zum Anzeigen eines Fotos und einen `Button` zum Auslösen der Kamera." - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "Der zweite hervorgehobene Codeblock (die Methode `take_photo()`) definiert den Ereignishandler, wenn die Schaltfläche gedrückt wird. Dieser Handler bestätigt zunächst, ob die Anwendung die Berechtigung zum Aufnehmen eines Fotos hat. Wenn keine Berechtigung vorliegt, wird sie angefordert. Dann wird ein Foto aufgenommen. Die Anforderung der Berechtigung und die Anforderung zum Aufnehmen eines Fotos sind beide asynchrone Anforderungen, sodass die Verwendung von `await` erforderlich ist. Während die App darauf wartet, dass der Benutzer die Berechtigung bestätigt oder das Foto aufnimmt, kann die Ereignisschleife der App im Hintergrund fortgesetzt werden." - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt zurück, das als Inhalt der `ImageView` zugewiesen werden kann. Wenn die Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf `self.camera.take_photo()` `None` zurück und das Ergebnis kann ignoriert werden. Wenn der Benutzer keine Berechtigung zur Verwendung der Kamera erteilt oder die Kamera auf der aktuellen Plattform nicht implementiert ist, wird ein Fehler ausgelöst und dem Benutzer ein Dialogfeld angezeigt." - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "Geräteberechtigungen hinzufügen" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "Ein Teil des Codes, den wir gerade hinzugefügt haben, fragt nach der Erlaubnis, die Kamera zu verwenden. Dies ist eine gängige Funktion moderner App-Plattformen – Sie können nicht auf Hardwarefunktionen zugreifen, ohne vorher ausdrücklich die Erlaubnis des Benutzers einzuholen." - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "Diese Anfrage besteht aus zwei Teilen. Der erste Teil befindet sich im Code, den wir gerade gesehen haben. Bevor die App jedoch Berechtigungen anfordern kann, muss sie die Berechtigungen deklarieren, die sie anfordern wird." - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -#, fuzzy -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "Die für jede Plattform erforderlichen Berechtigungen unterscheiden sich geringfügig, aber Briefcase bietet eine plattformübergreifende Darstellung für viele gängige Hardwareberechtigungen. Fügen Sie im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` der Datei `pyproject.toml` Ihrer App Folgendes hinzu (direkt über der Deklaration `Sources`):" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "Dies erklärt, dass Ihre App auf die Kamera zugreifen muss, und liefert eine kurze Beschreibung, warum die Kamera erforderlich ist. Diese Beschreibung ist auf einigen Plattformen erforderlich (insbesondere macOS und iOS) und wird dem Benutzer als zusätzliche Information angezeigt, wenn der Berechtigungsdialog angezeigt wird." - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "Wir können jetzt die App generieren und ausführen:" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "Wenn die App ausgeführt wird, wird Ihnen eine Schaltfläche angezeigt. Drücken Sie die Schaltfläche, und der Standardkameradialog der Plattform wird angezeigt. Machen Sie ein Foto. Der Kameradialog verschwindet und das Foto wird in der App direkt über der Schaltfläche angezeigt. Sie können dann ein weiteres Foto machen. Dadurch wird das erste Foto ersetzt." - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "Weitere Berechtigungen hinzufügen" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von `briefcase create` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie `briefcase create` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index 9a7275a0..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,142 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2024-08-19 17:09+0000\n" -"Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "Symbole anpassen" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Die App, die wir im Haupttutorial entwickelt haben, verwendet beim Verpacken standardmäßig das Symbol „gray bee“. Personalisieren wir diese Anwendung, indem wir sie so konfigurieren, dass sie unser eigenes Symbol verwendet." - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -msgid "Adding an icon" -msgstr "Hinzufügen eines Symbols" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "Jede Plattform verwendet ein anderes Format für Anwendungssymbole – und einige Plattformen benötigen *mehrere* Symbole in unterschiedlichen Größen und Formen. Um dies zu berücksichtigen, bietet Briefcase eine Kurzform, mit der Sie ein Symbol einmal konfigurieren und diese Definition dann auf alle verschiedenen Symbole erweitern können, die für jede einzelne Plattform erforderlich sind." - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "Bearbeiten Sie Ihr `pyproject.toml` und fügen Sie ein neues Konfigurationselement `Symbol` im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` direkt über der Definition von `Quellen` hinzu:" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**Kommt bald**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Wir haben jetzt eine Anwendung mit einem eigenen Symbol auf unserem Desktop und Telefon! Wie können wir diese Anwendung mit allen anderen teilen? Schau dir [Tutorial 11][tutorial-11] an, um das herauszufinden..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutorial 10 - Machen Sie diese Anwendung zu Ihrer eigenen" - -#~ msgid "Next steps" -#~ msgstr "Nächste Schritte" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index 31deddcd..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,64 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: 2024-08-14 00:09+0000\n" -"Last-Translator: tct123 \n" -"Language-Team: German \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" -"X-Generator: Weblate 5.7-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "Weiterführende Informationen" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "" -"Möchten Sie tiefer in bestimmte Themen einsteigen? Hier sind einige " -"zusätzliche Tutorials, die allgemeine Aspekte der Anwendungsentwicklung " -"behandeln. Jedes Tutorial ist eigenständig und kann in beliebiger " -"Reihenfolge abgeschlossen werden. Sie setzen jedoch alle voraus, dass Sie " -"das Haupt-Tutorial abgeschlossen haben." - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "Symbole anpassen" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "" -"Passen Sie das Erscheinungsbild Ihrer Anwendung an, indem Sie das " -"standardmäßige „graue Biene“-Symbol ersetzen." - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "Anwendungstests" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "" -"Wie stellen Sie sicher, dass Ihre Anwendung funktioniert und funktioniert? " -"Indem Sie Ihrem Projekt eine Testsuite hinzufügen!" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "Kamerazugriff" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "" -"Verwenden Sie die Kamera Ihres Mobil- oder Desktopgeräts, um innerhalb Ihrer " -"Anwendung ein Bild aufzunehmen und anzuzeigen." diff --git a/updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index 217b0524..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,147 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2025-02-17 02:05+0000\n" -"Last-Translator: Ettore Atalan \n" -"Language-Team: German \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" -"X-Generator: Weblate 5.10\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Prüfzeiten" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -#, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "Bei der Softwareentwicklung wird meist kein neuer Code geschrieben, sondern bestehender Code geändert. Die Sicherstellung, dass vorhandener Code weiterhin so funktioniert, wie wir es erwarten, ist ein wichtiger Teil des Softwareentwicklungsprozesses. Eine Möglichkeit, das Verhalten unserer Anwendung sicherzustellen, ist eine *Testsuite*." - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -#, fuzzy -msgid "Running the test suite" -msgstr "Ausführen der Testsuite" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -#, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der obersten Ebene erzeugt: `src` und `tests`. Der Ordner `src` enthält den Code für unsere Anwendung; der Ordner `tests` enthält unsere Testsuite. Innerhalb des Ordners `tests` befindet sich eine Datei namens `test_app.py` mit folgendem Inhalt:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -#, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Dies ist ein [Pytest]{1} *Testfall* - ein Codeblock, der ausgeführt werden kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - aber es ist ein Test, den wir durchführen können." - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -#, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Wir können diese Testsuite mit der Option `--test` für `briefcase dev` ausführen. Da dies das erste Mal ist, dass wir Tests ausführen, müssen wir auch die Option `-r` übergeben, um sicherzustellen, dass die Testanforderungen auch installiert werden:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -#, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Erfolgreich! Wir haben soeben einen einzigen Test durchgeführt, der bestätigt, dass die Python-Mathematik so funktioniert, wie wir es erwartet haben (was für eine Erleichterung!)." - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Lassen Sie uns diesen Platzhaltertest durch einen Test ersetzen, der überprüft, ob sich unsere Methode `Gruß()` so verhält, wie wir es erwarten. Ersetzen Sie den Inhalt von `test_app.py` durch den folgenden:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -#, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Dies definiert zwei neue Tests, die beiden erwarteten Verhaltensweisen überprüfen: die Ausgabe, wenn ein Name angegeben wird, und die Ausgabe, wenn der Name leer ist." - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -#, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Wir können nun die Testsuite erneut ausführen. Diesmal brauchen wir die Option `-r` nicht, da die Testanforderungen bereits installiert wurden; wir müssen nur die Option `--test` verwenden:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Ausgezeichnet! Unsere Utility-Methode `Gruß()` funktioniert wie erwartet." - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -#, fuzzy -msgid "Test driven development" -msgstr "Testgetriebene Entwicklung" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Jetzt, da wir eine Test-Suite haben, können wir sie nutzen, um die Entwicklung neuer Funktionen voranzutreiben. Ändern wir unsere Anwendung, um eine spezielle Begrüßung für einen bestimmten Benutzer zu erhalten. Wir können damit beginnen, indem wir einen Testfall für das neue Verhalten, das wir gerne sehen möchten, am Ende von `test_app.py` hinzufügen:" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "Führen Sie dann die Testsuite mit diesem neuen Test aus:" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Dieses Mal sehen wir einen Testfehler - und die Ausgabe erklärt die Quelle des Fehlers: der Test erwartet die Ausgabe \"BeeWare the IDEs of Python!\", aber unsere Implementierung von `Gruß()` gibt \"Hallo, Brutus\" zurück. Ändern wir die Implementierung von `Gruß()` in `src/helloworld/app.py`, um das neue Verhalten zu erhalten:" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Wenn wir die Tests noch einmal durchführen, sehen wir, dass die Tests bestanden wurden:" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -#, fuzzy -msgid "Runtime tests" -msgstr "Laufzeittests" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Bislang haben wir die Tests im Entwicklungsmodus ausgeführt. Dies ist besonders nützlich, wenn Sie neue Funktionen entwickeln, da Sie schnell Tests und Code hinzufügen können, damit diese Tests erfolgreich sind. Irgendwann werden Sie jedoch sicherstellen wollen, dass Ihr Code auch als Anwendungspaket korrekt ausgeführt wird." - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Die Optionen `--test` und `-r` können auch an den Befehl `run` übergeben werden. Wenn Sie `briefcase run --test -r` verwenden, wird die gleiche Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in Ihrer Entwicklungsumgebung:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Wie bei `briefcase dev --test` wird die Option `-r` nur bei der ersten Ausführung der Testsuite benötigt, um sicherzustellen, dass die Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese Option weglassen." - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Sie können auch die Option `--test` auf mobilen Backends verwenden: - so funktionieren `briefcase run iOS --test` und `briefcase run android --test`, die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." - -#~ msgid "Next steps" -#~ msgstr "Nächste Schritte" diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index 7882b504..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,233 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2024-08-19 17:09+0000\n" -"Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutorial 0 - Erstinstallation" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Bevor wir unsere erste BeeWare-App erstellen, müssen wir sicherstellen, dass wir alle Voraussetzungen für den Betrieb von BeeWare erfüllen." - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -msgid "Install Python" -msgstr "Python installieren" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "Als erstes brauchen wir einen funktionierenden Python-Interpreter." - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -#, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -#, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können Python über [homebrew]{1} installieren. Sie können [pyenv]{1} verwenden, um mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-Benutzer können Python aus dem Windows App Store installieren. Für Benutzer mit einem datenwissenschaftlichen Hintergrund könnten auch [Anaconda]{1} oder [Miniconda]{1} interessant sein." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Unter Linux installieren Sie Python mit dem Paketmanager des Systems (`apt` unter Debian/Ubuntu/Mint, `dnf` unter Fedora, oder `pacman` unter Arch)." - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Sie sollten sich vergewissern, dass das System Python 3.8 oder eine neuere Version verwendet. Ist dies nicht der Fall (z. B. wird Ubuntu 18.04 mit Python 3.6 ausgeliefert), müssen Sie Ihre Linux-Distribution auf eine neuere Version aktualisieren." - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Unter macOS oder Windows ist es egal, *wie* Sie Python installiert haben - wichtig ist nur, dass Sie `python3` über die Eingabeaufforderung/Terminalanwendung Ihres Betriebssystems ausführen können und einen funktionierenden Python-Interpreter erhalten." - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -msgid "Install dependencies" -msgstr "Abhängigkeiten installieren" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Als Nächstes installieren Sie die zusätzlichen Abhängigkeiten, die für Ihr Betriebssystem erforderlich sind:" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -msgid "Building BeeWare apps on macOS requires:" -msgstr "Die Erstellung von BeeWare-Anwendungen unter macOS erfordert:" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "**Git**, ein Versionskontrollsystem. Dies ist in Xcode oder den Befehlszeilen-Entwicklertools enthalten, die Sie oben installiert haben. Möglicherweise müssen Sie Xcode zum ersten Mal öffnen, damit Git in Ihrer Terminalsitzung funktioniert. Wenn immer noch nicht registriert wird, dass Git installiert ist, müssen Sie möglicherweise Ihre Terminalsitzung neu starten." - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Um die lokale Entwicklung zu unterstützen, müssen Sie einige Systempakete installieren. Die Liste der erforderlichen Pakete hängt von Ihrer Distribution ab:" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu / Debian**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -msgid "**Arch / Manjaro**" -msgstr "**Arch / Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "**OpenSUSE Tumbleweed**" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -msgid "Building BeeWare apps on Windows requires:" -msgstr "Die Erstellung von BeeWare-Anwendungen unter Windows erfordert:" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, ein Versionskontrollsystem. Sie können Git von [git-scm.com]{1} herunterladen." - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Nach der Installation dieser Tools sollten Sie sicherstellen, dass Sie alle Terminalsitzungen neu starten. Windows zeigt neu installierte Tools nur auf Terminals an, die *nach* Abschluss der Installation gestartet wurden." - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -msgid "Set up a virtual environment" -msgstr "Einrichten einer virtuellen Umgebung" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Wir werden nun eine virtuelle Umgebung erstellen - eine \"Sandbox\", die wir verwenden können, um unsere Arbeit an diesem Tutorial von unserer Haupt-Python-Installation zu isolieren. Wenn wir Pakete in die virtuelle Umgebung installieren, wird unsere Haupt-Python-Installation (und alle anderen Python-Projekte auf unserem Computer) davon nicht betroffen sein. Wenn wir unsere virtuelle Umgebung komplett durcheinander bringen, können wir sie einfach löschen und neu beginnen, ohne dass andere Python-Projekte auf unserem Computer betroffen sind und ohne dass wir Python neu installieren müssen." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Fehler bei der Ausführung von PowerShell-Skripten" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error:" -msgstr "Wenn Sie PowerShell verwenden und die folgende Fehlermeldung erhalten:" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Ihr Windows-Konto hat keine Berechtigung zum Ausführen von Skripten. So beheben Sie dies:" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "Führen Sie [Windows Powershell als Administrator aus]{1}." - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "Führen Sie `set-executionpolicy RemoteSigned` aus" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select `Y` to change the execution policy." -msgstr "Wählen Sie `Y`, um die Ausführungspolitik zu ändern." - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Danach können Sie `beeware-venv\\Scripts\\activate.ps1` in Ihrer ursprünglichen PowerShell-Sitzung (oder in einer neuen Sitzung im selben Verzeichnis) erneut ausführen." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Wenn dies geklappt hat, sollte Ihre Eingabeaufforderung nun geändert sein - sie sollte ein `(beeware-venv)`-Präfix haben. Dies zeigt Ihnen, dass Sie sich gerade in Ihrer virtuellen BeeWare-Umgebung befinden. Wann immer Sie an diesem Tutorial arbeiten, sollten Sie sicherstellen, dass Ihre virtuelle Umgebung aktiviert ist. Ist dies nicht der Fall, führen Sie den letzten Befehl (den Befehl `activate`) erneut aus, um Ihre Umgebung wieder zu aktivieren." - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Alternative virtuelle Umgebungen" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Wenn Sie Anaconda oder miniconda benutzen, sind Sie vielleicht mehr mit der Verwendung von conda-Umgebungen vertraut. Vielleicht haben Sie auch schon von `virtualenv` gehört, einem Vorgänger von Pythons eingebautem `venv` Modul. Wie bei Python-Installationen ist es unter macOS oder Windows egal, *wie* Sie Ihre virtuelle Umgebung erstellen, solange Sie eine haben. Wenn Sie unter Linux arbeiten, sollten Sie sich an `venv` und das System-Python halten." - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, [unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Öffnen Sie Windows PowerShell als Administrator." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, ein Versionskontrollsystem. Es ist in Xcode oder den Kommandozeilen-Entwicklungswerkzeugen enthalten, die Sie oben installiert haben." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Alternative Python-Distributionen" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Wenn Sie mit Linux arbeiten, sollten Sie das von Ihrem Betriebssystem bereitgestellte Python verwenden. Sie können den *größten Teil* dieses Tutorials mit einem systemfremden Python durchführen, aber Sie werden nicht in der Lage sein, Ihre Anwendung für die Weitergabe an andere zu verpacken." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Wenn Sie mit macOS arbeiten, ist eine aktuelle Version von Python in Xcode oder den Kommandozeilen-Entwicklerwerkzeugen enthalten. Um zu prüfen, ob Sie Python bereits haben, führen Sie den folgenden Befehl aus:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Wenn Python installiert ist, wird die Versionsnummer angezeigt. Andernfalls werden Sie aufgefordert, die Entwicklerwerkzeuge für die Kommandozeile zu installieren." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von [der Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index 13911352..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,192 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutorial 1 - Ihre erste App" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -#, fuzzy -msgid "We're ready to create our first application." -msgstr "Wir sind bereit, unsere erste Anwendung zu erstellen." - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -msgid "Install the BeeWare tools" -msgstr "Installieren Sie die BeeWare-Tools" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Zunächst müssen wir **Briefcase** installieren. Briefcase ist ein BeeWare-Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis `beeware-tutorial` befinden, das Sie in [Tutorial 0][tutorial-0] erstellt haben, und dass die virtuelle Umgebung `beeware-venv` aktiviert ist, und starten Sie:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Mögliche Fehler bei der Installation" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Wenn Sie während der Installation Fehler sehen, liegt das höchstwahrscheinlich daran, dass einige der Systemvoraussetzungen nicht installiert wurden. Stellen Sie sicher, dass Sie [alle Plattformvoraussetzungen ][install-dependencies] installiert haben." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "Es ist wichtig, dass Sie `python -m pip` und nicht `pip` verwenden. Briefcase muss sicherstellen, dass es eine aktuelle Version von `pip` und `setuptools` hat, und ein bloßer Aufruf von `pip` kann sich nicht selbst aktualisieren. Wenn Sie mehr darüber wissen wollen, hat [Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -msgid "Bootstrap a new project" -msgstr "Erstellen Sie ein neues Projekt" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Beginnen wir mit unserem ersten BeeWare-Projekt! Wir werden den Briefcase-Befehl `new` verwenden, um eine Anwendung namens **Hello World** zu erstellen. Führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus:" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase wird uns nach einigen Details zu unserer neuen Anwendung fragen. Verwenden Sie für dieses Tutorial die folgenden Angaben:" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Formaler Name** - Akzeptieren Sie den Standardwert: `Hello World`." - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**App Name** - Akzeptieren Sie den Standardwert: `helloworld`." - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -#, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Wenn Sie eine eigene Domain besitzen, geben Sie diese in umgekehrter Reihenfolge an. (Wenn Sie zum Beispiel die Domain \"cupcakes.com\" besitzen, geben Sie `com.cupcakes` als Bundle ein). Wenn Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle (`com.example`)." - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Projektname** - Übernehmen Sie den Standardwert: `Hello World`." - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Description** - Übernehmen Sie den Standardwert (wenn Sie wirklich kreativ sein wollen, denken Sie sich Ihre eigene Beschreibung aus!)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -msgid "**Author** - Enter your own name here." -msgstr "**Author** - Geben Sie hier Ihren eigenen Namen ein." - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -#, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Author's email** - Geben Sie Ihre eigene E-Mail-Adresse ein. Diese wird in der Konfigurationsdatei, im Hilfetext und überall dort verwendet, wo bei der Einreichung der App bei einem App-Store eine E-Mail erforderlich ist." - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -#, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - Die URL der Landing Page für Ihre Anwendung. Auch hier gilt: Wenn Sie Ihre eigene Domain besitzen, geben Sie eine URL auf dieser Domain ein (einschließlich `https://`). Ansonsten akzeptieren Sie einfach die Standard-URL (`https://example.com/helloworld`). Diese URL muss (vorerst) nicht tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in einem App Store veröffentlichen." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -#, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**Lizenz** - Akzeptieren Sie die Standardlizenz (BSD). Dies hat jedoch keinen Einfluss auf die Funktionsweise des Tutorials - wenn Sie also besonders starke Gefühle bezüglich der Lizenzwahl haben, können Sie gerne eine andere Lizenz wählen." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI-Framework** - Akzeptieren Sie die Standardoption Toga (BeeWare's eigenes GUI-Toolkit)." - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase generiert dann ein Projektgerüst, das Sie verwenden können. Wenn Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Dieses Gerüst ist bereits eine voll funktionsfähige Anwendung, ohne etwas anderes hinzufügen zu müssen. Der Ordner `rc` enthält den gesamten Code für die Anwendung, der Ordner `tests` enthält eine erste Testreihe und die Datei `pyproject.toml` beschreibt, wie die Anwendung für die Verteilung verpackt werden soll. Wenn Sie die Datei `pyproject.toml` in einem Editor öffnen, sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt haben." - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Nun, da wir eine Rumpfanwendung haben, können wir Briefcase verwenden, um die Anwendung auszuführen." - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -msgid "Run the app in developer mode" -msgstr "Führen Sie die Anwendung im Entwicklermodus aus" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -#, fuzzy -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Wechseln Sie in das `helloworld` Projektverzeichnis und sagen Sie briefcase, daß es das Projekt im Developer (oder `dev`) Modus starten soll:" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -msgid "This should open a GUI window:" -msgstr "Dies sollte ein GUI-Fenster öffnen:" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Hello World Tutorial 1 Fenster unter macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Hello World Tutorial 1 Fenster unter Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Hello World Tutorial 1 Fenster unter Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Drücken Sie die Schaltfläche \"Schließen\" (oder wählen Sie \"Beenden\" aus dem Menü der Anwendung), und Sie sind fertig! Herzlichen Glückwunsch - Sie haben gerade eine eigenständige, native Anwendung in Python geschrieben!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir unserer Anwendung eine nützlichere Benutzeroberfläche geben." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Eines der BeeWare-Tools ist **Briefcase**. Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - es kann aber auch zur Erstellung eines neuen Projekts verwendet werden." - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index dfc5d55e..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,288 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-03 01:43+0000\n" -"Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutorial 2 - Es wird interessant" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "In [Tutorial 1][tutorial-1] haben wir ein lauffähiges Rumpfprojekt erstellt, aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für uns generiert wurde." - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -msgid "What was generated" -msgstr "Was generiert wurde" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "In dem Verzeichnis `src/helloworld` sollten 3 Dateien zu sehen sein: `__init__.py`, `__main__.py` und `app.py`." - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` markiert das `helloworld`-Verzeichnis als importierbares Python-Modul. Es ist eine leere Datei; allein die Tatsache, dass sie existiert, sagt dem Python-Interpreter, dass das `helloworld`-Verzeichnis ein Modul definiert." - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` markiert das `helloworld` Modul als eine besondere Art von Modul - ein ausführbares Modul. Wenn Sie versuchen, das Modul `helloworld` mit `python -m helloworld` zu starten, ist die Datei `__main__.py` der Ort, an dem Python mit der Ausführung beginnt. Der Inhalt von `__main__.py` ist relativ einfach:" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -#, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Das heißt, es importiert die Methode `main` aus der Anwendung `helloworld`; und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks und Tastatureingaben) wartet." - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -#, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "Die interessantere Datei ist `app.py` - diese enthält die Logik, die unser Anwendungsfenster erstellt:" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -#, fuzzy -msgid "Let's go through this line by line:" -msgstr "Gehen wir diese Zeile für Zeile durch:" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -#, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Als erstes importieren wir das `toga`-Widget-Toolkit, sowie einige stilbezogene Utility-Klassen und Konstanten. Unser Code verwendet diese noch nicht - aber wir werden sie in Kürze nutzen." - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class:" -msgstr "Definieren wir eine Klasse:" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -#, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Jede Toga-Anwendung hat eine einzige `toga.App`-Instanz, die laufende Entität, die Anwendung, darstellt. Die Anwendung kann mehrere Fenster verwalten, aber für einfache Anwendungen gibt es ein einziges Hauptfenster." - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -#, fuzzy -msgid "Next, we define a `startup()` method:" -msgstr "Als nächstes definieren wir eine `Startup()` Methode:" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -#, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "Das erste, was die Startup-Methode macht, ist die Definition eines Hauptfeldes. Das Layout-Schema von Toga verhält sich ähnlich wie HTML. Sie bauen eine Anwendung auf, indem Sie eine Sammlung von Boxen konstruieren, von denen jede andere Boxen oder Widgets enthält. Sie wenden dann Stile auf diese Boxen an, um zu definieren, wie sie den verfügbaren Platz im Fenster nutzen werden." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -#, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "In dieser Anwendung definieren wir ein einzelnes Feld, in das wir jedoch nichts einfügen." - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -#, fuzzy -msgid "Next, we define a window into which we can put this empty box:" -msgstr "Als Nächstes definieren wir ein Fenster, in das wir dieses leere Feld einfügen können:" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -#, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Dies erzeugt eine Instanz eines `toga.MainWindow`, das einen Titel hat, der dem Namen der Anwendung entspricht. Ein Hauptfenster ist eine besondere Art von Fenster in Toga - es ist ein Fenster, das eng an den Lebenszyklus der Anwendung gebunden ist. Wenn das Hauptfenster geschlossen wird, wird die Anwendung beendet. Das Hauptfenster ist auch das Fenster, in dem sich das Menü der Anwendung befindet (wenn Sie auf einer Plattform wie Windows arbeiten, wo die Menüleisten Teil des Fensters sind)" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -#, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Dann fügen wir unsere leere Box als Inhalt des Hauptfensters hinzu und weisen die Anwendung an, unser Fenster anzuzeigen:" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -#, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Als letztes definieren wir eine `main()` Methode. Diese erzeugt die Instanz unserer Anwendung:" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -#, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Diese `main()` Methode ist diejenige, die von `__main__.py` importiert und aufgerufen wird. Sie erzeugt eine Instanz unserer `HelloWorld`-Anwendung und gibt diese zurück." - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -#, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Das ist die einfachste mögliche Toga-Anwendung. Lassen Sie uns einige unserer eigenen Inhalte in die Anwendung einfügen und die Anwendung etwas Interessantes tun lassen." - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -#, fuzzy -msgid "Adding some content of our own" -msgstr "Hinzufügen von eigenen Inhalten" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -#, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Entfernen Sie nicht die Importe am Anfang der Datei oder `main()` am Ende. Sie müssen nur die Klasse `HelloWorld` aktualisieren." - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -#, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Ändern Sie Ihre `HelloWorld` Klasse in `src/helloworld/app.py` so, dass sie wie folgt aussieht:" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -#, fuzzy -msgid "Let's look in detail at what has changed." -msgstr "Schauen wir uns im Detail an, was sich geändert hat." - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -#, fuzzy -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Wir erstellen immer noch ein Hauptfeld, aber wir wenden jetzt einen Stil an:" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -#, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Das in Toga eingebaute Layoutsystem heißt \"Pack\". Es verhält sich sehr ähnlich wie CSS. Sie definieren Objekte in einer Hierarchie - in HTML sind die Objekte `
`, `` und andere DOM-Elemente; in Toga sind es Widgets und Boxen. Sie können dann den einzelnen Elementen Stile zuweisen. In diesem Fall geben wir an, dass es sich um einen `COLUMN`-Kasten handelt - das heißt, es handelt sich um einen Kasten, der die gesamte verfügbare Breite beansprucht und sich in der Höhe vergrößert, wenn Inhalt hinzugefügt wird, aber er versucht, so kurz wie möglich zu sein." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -#, fuzzy -msgid "Next, we define a couple of widgets:" -msgstr "Als nächstes definieren wir ein paar Widgets:" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -#, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Hier definieren wir ein Label und einen TextInput. Beiden Widgets sind Stile zugeordnet; das Label hat links und rechts ein Padding von 5px und oben und unten kein Padding. Der TextInput ist als flexibel gekennzeichnet, d. h. er nimmt den gesamten verfügbaren Platz in seiner Layoutachse ein." - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -#, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "Der TextInput wird als Instanzvariable der Klasse zugewiesen. Dies ermöglicht uns einen einfachen Zugriff auf die Instanz des Widgets - etwas, das wir gleich verwenden werden." - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -#, fuzzy -msgid "Next, we define a box to hold these two widgets:" -msgstr "Als nächstes definieren wir eine Box, die diese beiden Widgets enthält:" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -#, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "Die `name_box` ist eine Box genau wie die Hauptbox, aber dieses Mal ist es eine `ROW`-Box. Das bedeutet, daß der Inhalt horizontal eingefügt wird, und daß versucht wird, die Breite so schmal wie möglich zu machen. Die Box hat auch etwas Padding - 5px auf allen Seiten." - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -#, fuzzy -msgid "Now we define a button:" -msgstr "Jetzt definieren wir eine Schaltfläche:" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "Die Schaltfläche hat auch 5px Polsterung auf allen Seiten. Wir definieren auch einen *Handler* - eine Methode, die aufgerufen wird, wenn die Schaltfläche gedrückt wird." - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -#, fuzzy -msgid "Then, we add the name box and the button to the main box:" -msgstr "Dann fügen wir das Namensfeld und die Schaltfläche zum Hauptfeld hinzu:" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -#, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Damit ist unser Layout fertiggestellt; der Rest der Startup-Methode ist wie zuvor - Definition eines MainWindow und Zuweisung des Hauptfeldes als Inhalt des Fensters:" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -#, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "Als Letztes müssen wir den Handler für die Schaltfläche definieren. Ein Handler kann eine beliebige Methode, ein Generator oder eine asynchrone Co-Routine sein; er akzeptiert das Widget, das Ereignis erzeugt hat, als Argument und wird immer dann aufgerufen, wenn die Schaltfläche gedrückt wird:" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -#, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "Der Hauptteil der Methode ist eine einfache Druckanweisung - sie fragt jedoch den aktuellen Wert der Namenseingabe ab und verwendet diesen Inhalt als den Text, der gedruckt wird." - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -#, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Nachdem wir nun diese Änderungen vorgenommen haben, können wir sehen, wie sie aussehen, indem wir die Anwendung erneut starten. Wie zuvor werden wir den Entwicklermodus verwenden:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -#, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Sie werden feststellen, dass dieses Mal *keine* Abhängigkeiten installiert werden. Briefcase kann erkennen, dass die Anwendung schon einmal ausgeführt wurde, und um Zeit zu sparen, wird nur die Anwendung ausgeführt. Wenn Sie neue Abhängigkeiten zu Ihrer Anwendung hinzufügen, können Sie sicherstellen, dass diese installiert werden, indem Sie die Option `-r` beim Aufruf von `briefcase dev` mitgeben." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -msgid "This should open a GUI window:" -msgstr "Dies sollte ein GUI-Fenster öffnen:" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Hello World Tutorial 2 Fenster, auf macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Hello World Tutorial 2 Fenster, unter Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Hello World Tutorial 2 Fenster, unter Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -#, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Wenn Sie einen Namen in das Textfeld eingeben und die Schaltfläche GUI drücken, sollte die Ausgabe in der Konsole erscheinen, in der Sie die Anwendung gestartet haben." - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -#, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere Anwendung als eigenständiges Installationsprogramm verpacken, das wir an einen Freund oder Kunden schicken oder in einen App Store hochladen können." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index 3065fbcf..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,313 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutorial 3 - Verpackung für den Vertrieb" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -#, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Bislang haben wir unsere Anwendung im \"Entwicklermodus\" ausgeführt. Das macht es uns leicht, unsere Anwendung lokal auszuführen - aber was wir wirklich wollen, ist, dass wir unsere Anwendung an andere weitergeben können." - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -#, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Wir möchten unseren Benutzern jedoch nicht beibringen müssen, wie man Python installiert, eine virtuelle Umgebung erstellt, ein Git-Repository klont und Briefcase im Entwicklermodus startet. Wir würden ihnen lieber einfach ein Installationsprogramm geben und die Anwendung einfach funktionieren lassen." - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -#, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung auf diese Weise zu verpacken." - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -#, fuzzy -msgid "Creating your application scaffold" -msgstr "Erstellen Ihres Anwendungsgerüsts" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -#, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Da dies das erste Mal ist, dass wir unsere Anwendung paketieren, müssen wir einige Konfigurationsdateien und andere Gerüste erstellen, um den Paketierungsprozess zu unterstützen. Starten Sie im Verzeichnis `helloworld`:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -#, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Wahrscheinlich haben Sie gerade gesehen, wie seitenweise Inhalte an Ihrem Terminal vorbeigezogen sind... was ist also passiert? Briefcase hat das Folgende getan:" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -#, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Es **generiert eine Anwendungsvorlage**. Um ein natives Installationsprogramm zu erstellen, sind eine Menge Dateien und Konfigurationen erforderlich, die über den Code der eigentlichen Anwendung hinausgehen. Dieses zusätzliche Gerüst ist für jede Anwendung auf der gleichen Plattform fast gleich, mit Ausnahme des Namens der eigentlichen Anwendung, die erstellt wird - daher bietet Briefcase eine Anwendungsvorlage für jede unterstützte Plattform. In diesem Schritt wird die Vorlage ausgerollt, wobei der Name Ihrer Anwendung, die Bundle-ID und andere Eigenschaften Ihrer Konfigurationsdatei entsprechend der Plattform, auf der Sie bauen, ersetzt werden." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -#, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Wenn Sie mit der von Briefcase bereitgestellten Vorlage nicht zufrieden sind, können Sie Ihre eigene Vorlage erstellen. Sie sollten dies jedoch erst dann tun, wenn Sie etwas mehr Erfahrung mit der Standardvorlage von Briefcase haben." - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -#, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Es **lud ein Support-Paket herunter und installierte es**. Der Paketierungsansatz von Briefcase lässt sich am besten als \"das Einfachste, was möglich ist\" beschreiben - es liefert einen vollständigen, isolierten Python-Interpreter als Teil jeder Anwendung, die es erstellt. Dies ist etwas ineffizient - wenn Sie 5 Anwendungen mit Briefcase verpackt haben, haben Sie 5 Kopien des Python-Interpreters. Allerdings garantiert dieser Ansatz, dass jede Anwendung völlig unabhängig ist und eine bestimmte Python-Version verwendet, von der bekannt ist, dass sie mit der Anwendung funktioniert." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -#, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Auch hier bietet Briefcase ein Standard-Unterstützungspaket für jede Plattform; wenn Sie möchten, können Sie Ihr eigenes Unterstützungspaket bereitstellen und dieses Paket als Teil des Erstellungsprozesses einbinden lassen. Dies kann sinnvoll sein, wenn Sie bestimmte Optionen im Python-Interpreter aktiviert haben wollen oder wenn Sie Module aus der Standardbibliothek entfernen wollen, die Sie zur Laufzeit nicht benötigen." - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -#, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase verwaltet einen lokalen Zwischenspeicher für Support-Pakete. Wenn Sie also ein bestimmtes Support-Paket heruntergeladen haben, wird diese zwischengespeicherte Kopie bei zukünftigen Builds verwendet." - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -#, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Es **installiert Anwendungsanforderungen**. Ihre Anwendung kann alle Module von Drittanbietern angeben, die zur Laufzeit benötigt werden. Diese werden mittels `pip` in das Installationsprogramm Ihrer Anwendung installiert." - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -#, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Es **Installiert Ihren Anwendungscode**. Ihre Anwendung hat ihren eigenen Code und Ressourcen (z. B. Bilder, die zur Laufzeit benötigt werden); diese Dateien werden in das Installationsprogramm kopiert." - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -#, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Er **installiert die von Ihrer Anwendung benötigten Ressourcen**. Schließlich fügt er alle zusätzlichen Ressourcen hinzu, die das Installationsprogramm selbst benötigt. Dazu gehören Dinge wie Symbole, die an die endgültige Anwendung angehängt werden müssen, und Splash-Screen-Bilder." - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -#, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Sobald dies abgeschlossen ist, sollten Sie im Projektverzeichnis ein Verzeichnis sehen, das Ihrer Plattform entspricht (`macOS`, `linux` oder `windows`) und zusätzliche Dateien enthält. Dies ist die plattformspezifische Paketierungskonfiguration für Ihre Anwendung." - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -#, fuzzy -msgid "Building your application" -msgstr "Erstellung Ihrer Anwendung" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -#, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Sie können nun Ihre Anwendung kompilieren. In diesem Schritt wird die Binärkompilierung durchgeführt, die erforderlich ist, damit Ihre Anwendung auf Ihrer Zielplattform ausgeführt werden kann." - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -#, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Unter macOS muss der Befehl `build` nichts *kompilieren*, aber er muss den Inhalt der Binärdatei signieren, damit sie ausgeführt werden kann. Diese Signatur ist eine *ad hoc* Signatur - sie funktioniert nur auf *Ihrem* Rechner; wenn Sie die Anwendung an andere weitergeben wollen, müssen Sie eine vollständige Signatur bereitstellen." - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -#, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Sobald dieser Schritt abgeschlossen ist, wird der `build`-Ordner einen `helloworld-0.0.1`-Ordner enthalten, der einen Spiegel des Linux `/usr`-Dateisystems enthält. Dieser Spiegel des Dateisystems enthält einen `bin`-Ordner mit einer `helloworld`-Binärdatei, sowie die `lib`- und `share`-Ordner, die zur Unterstützung der Binärdatei benötigt werden." - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -#, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Unter Windows muss der `build`-Befehl nichts *kompilieren*, aber er muss einige Metadaten schreiben, damit die Anwendung ihren Namen, ihre Version und so weiter kennt." - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Auslösen von Antivirus" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -#, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Da diese Metadaten direkt in die vorkompilierte Binärdatei geschrieben werden, die während des `create`-Befehls aus der Vorlage ausgerollt wird, kann dies Antivirensoftware auf Ihrem Rechner auslösen und verhindern, dass die Metadaten geschrieben werden. In diesem Fall weisen Sie das Antivirusprogramm an, die Ausführung des Tools (mit dem Namen `rcedit-x64.exe`) zu erlauben und führen Sie den obigen Befehl erneut aus." - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -#, fuzzy -msgid "Running your app" -msgstr "Ausführen Ihrer Anwendung" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -#, fuzzy -msgid "You can now use Briefcase to run your application:" -msgstr "Sie können nun Briefcase verwenden, um Ihre Anwendung auszuführen:" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -#, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Dies startet Ihre native Anwendung unter Verwendung der Ausgabe des `build` Befehls." - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -#, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Möglicherweise bemerken Sie einige kleine Unterschiede im Aussehen Ihrer Anwendung, wenn sie ausgeführt wird. Beispielsweise können die vom Betriebssystem angezeigten Symbole und der Name etwas anders aussehen als bei der Ausführung im Entwicklermodus. Das liegt auch daran, dass Sie die gepackte Anwendung verwenden und nicht nur den Python-Code ausführen. Aus der Sicht des Betriebssystems führen Sie nun \"eine Anwendung\" und nicht \"ein Python-Programm\" aus, was sich in der Darstellung der Anwendung widerspiegelt." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -#, fuzzy -msgid "Building your installer" -msgstr "Erstellung Ihres Installationsprogramms" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -#, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Sie können nun Ihre Anwendung mit dem Befehl `package` zur Verteilung verpacken. Der Befehl `package` führt alle Kompilierungen durch, die notwendig sind, um das gerüstete Projekt in ein endgültiges, verteilbares Produkt zu verwandeln. Abhängig von der Plattform kann dies die Kompilierung eines Installationsprogramms, die Durchführung einer Codesignierung oder andere Aufgaben vor der Verteilung beinhalten." - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -#, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "Der Ordner `dist` enthält eine Datei namens `Hello World-0.0.1.dmg`. Wenn Sie diese Datei im Finder finden und auf das Symbol doppelklicken, wird die DMG-Datei gemountet und Sie erhalten eine Kopie der Hello World-Anwendung und einen Link zu Ihrem Programme-Ordner für eine einfache Installation. Ziehen Sie die Anwendungsdatei in den Ordner Programme, und schon ist Ihre Anwendung installiert. Schicken Sie die DMG-Datei an einen Freund oder eine Freundin, der/die das Gleiche tun kann." - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -#, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -#, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "Die Ausgabe des Paketschritts wird je nach Linux-Distribution leicht unterschiedlich sein. Wenn Sie mit einer von Debian abgeleiteten Distribution arbeiten, werden Sie sehen:" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -#, fuzzy -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "Der `dist`-Ordner enthält die `.deb`-Datei, die erzeugt wurde." - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -#, fuzzy -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "Wenn Sie mit einer RHEL-basierten Distribution arbeiten, werden Sie es sehen:" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -#, fuzzy -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "Der Ordner `dist` enthält die erzeugte `.rpm`-Datei." - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -#, fuzzy -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "Wenn Sie mit einer Arch-basierten Distribution arbeiten, werden Sie es sehen:" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -#, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "Der Ordner `dist` enthält die Datei `.pkg.tar.zst`, die erzeugt wurde." - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -#, fuzzy -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Andere Linux-Distributionen werden derzeit nicht für die Paketierung unterstützt." - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -#, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Wenn Sie ein Paket für eine andere Linux-Distribution als die, die Sie verwenden, erstellen möchten, kann Briefcase ebenfalls helfen - allerdings müssen Sie Docker installieren." - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -#, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Offizielle Installationsprogramme für die [Docker Engine]{1} sind für eine Reihe von Unix-Distributionen verfügbar. Folgen Sie den Anweisungen für Ihre Plattform; stellen Sie jedoch sicher, dass Sie Docker nicht im \"Rootless\"-Modus installieren." - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -#, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Sobald Sie Docker installiert haben, sollten Sie in der Lage sein, einen Linux-Container zu starten - zum Beispiel:" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -#, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "zeigt Ihnen eine Unix-Eingabeaufforderung (etwa `root@84444e31cff9:/#`) innerhalb eines Ubuntu 22.04 Docker-Containers. Geben Sie Strg-D ein, um Docker zu beenden und zu Ihrer lokalen Shell zurückzukehren." - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -#, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Sobald Sie Docker installiert haben, können Sie Briefcase verwenden, um ein Paket für jede Linux-Distribution zu erstellen, die Briefcase unterstützt, indem Sie ein Docker-Image als Argument übergeben. Um beispielsweise ein DEB-Paket für Ubuntu 22.04 (Jammy) zu erstellen, können Sie, unabhängig vom Betriebssystem, das Sie verwenden, Folgendes ausführen:" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -#, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Dadurch wird das Docker-Image für das von Ihnen ausgewählte Betriebssystem heruntergeladen, ein Container erstellt, der Briefcase-Builds ausführen kann, und das Anwendungspaket innerhalb des Images erstellt. Sobald dies abgeschlossen ist, enthält der Ordner `dist` das Paket für die Linux-Zieldistribution." - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -#, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -#, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Sobald dieser Schritt abgeschlossen ist, enthält der Ordner `dist` eine Datei mit dem Namen `Hello_World-0.0.1.msi`. Wenn Sie auf dieses Installationsprogramm doppelklicken, um es zu starten, sollten Sie den bekannten Windows-Installationsprozess durchlaufen. Sobald die Installation abgeschlossen ist, finden Sie einen \"Hello World\"-Eintrag in Ihrem Startmenü." - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattformen verpackt. Aber was passiert, wenn wir den Code in unserer Anwendung aktualisieren müssen? Wie bekommen wir diese Aktualisierungen in unsere paketierte Anwendung? Schauen Sie sich [Tutorial 4][./tutorial-4] an, um das herauszufinden..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index 8397eed7..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,171 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -msgid "Tutorial 4 - Updating your application" -msgstr "Tutorial 4 - Aktualisieren Ihrer Anwendung" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -#, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "Im letzten Lehrgang haben wir unsere Anwendung als native Anwendung verpackt. Wenn Sie es mit einer realen Anwendung zu tun haben, wird das nicht das Ende der Geschichte sein - Sie werden wahrscheinlich einige Tests durchführen, Probleme entdecken und einige Änderungen vornehmen müssen. Selbst wenn Ihre Anwendung perfekt ist, werden Sie irgendwann die Version 2 Ihrer Anwendung mit Verbesserungen veröffentlichen wollen." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -#, fuzzy -msgid "So - how do you update your installed app when you make code changes?" -msgstr "Wie aktualisieren Sie also Ihre installierte Anwendung, wenn Sie Codeänderungen vornehmen?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -#, fuzzy -msgid "Updating application code" -msgstr "Aktualisierung des Anwendungscodes" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -#, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Unsere Anwendung gibt derzeit auf der Konsole aus, wenn Sie die Schaltfläche drücken. Allerdings sollten GUI-Anwendungen die Konsole nicht wirklich für die Ausgabe verwenden. Sie müssen Dialoge verwenden, um mit den Benutzern zu kommunizieren." - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -#, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Fügen wir ein Dialogfeld hinzu, um Hallo zu sagen, anstatt in die Konsole zu schreiben. Ändern Sie den `say_hello` Callback so, dass er wie folgt aussieht:" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -#, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Damit wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die Schaltfläche gedrückt wird." - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -#, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und die Taste drücken, sehen Sie das neue Dialogfenster:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hallo Welt Tutorial 4 Dialog, auf macOS" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Hallo Welt Tutorial 4 Dialog, unter Linux" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Hello World Tutorial 4 Dialog, unter Windows" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -#, fuzzy -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Wenn Sie jedoch `briefcase run` ausführen, wird das Dialogfeld nicht angezeigt." - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Warum ist das so? Nun, `briefcase dev` arbeitet damit, dass es Ihren Code an Ort und Stelle ausführt - es versucht, eine möglichst realistische Laufzeitumgebung für Ihren Code zu erzeugen, aber es stellt keine der Plattforminfrastrukturen zur Verfügung, um Ihren Code als Anwendung zu verpacken. Ein Teil des Prozesses der Paketierung Ihrer Anwendung beinhaltet das Kopieren Ihres Codes *in* das Anwendungsbündel - und im Moment hat Ihre Anwendung noch den alten Code in sich." - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -#, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Wir müssen also briefcase anweisen, Ihre Anwendung zu aktualisieren, indem wir die neue Version des Codes hineinkopieren. Wir *könnten* dies tun, indem wir das alte Plattformverzeichnis löschen und von vorne beginnen. Briefcase bietet jedoch einen einfacheren Weg - Sie können den Code für Ihre bestehende gebündelte Anwendung aktualisieren:" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -#, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch `create` auf, um ein neues Gerüst zu erzeugen." - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -#, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Nun, da wir den Installationscode aktualisiert haben, können wir `briefcase build` ausführen, um die Anwendung neu zu kompilieren, `briefcase run`, um die aktualisierte Anwendung zu starten, und `briefcase package`, um die Anwendung für die Verteilung neu zu verpacken." - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -#, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3][tutorial-3] erwähnt, für das Tutorial empfehlen, `briefcase package` mit dem `--adhoc-sign`-Flag auszuführen, um die Komplexität der Einrichtung einer Code-Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu halten)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -#, fuzzy -msgid "Update and run in one step" -msgstr "Aktualisierung und Ausführung in einem Schritt" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -#, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Wenn Sie Code-Änderungen schnell iterieren, werden Sie wahrscheinlich eine Code-Änderung vornehmen, die Anwendung aktualisieren und sie sofort wieder ausführen wollen. Für die meisten Zwecke ist der Entwicklermodus (`briefcase dev`) der einfachste Weg, diese Art der schnellen Iteration durchzuführen. Wenn Sie jedoch etwas darüber testen, wie Ihre Anwendung als native Binärdatei läuft, oder einen Fehler suchen, der nur auftritt, wenn Ihre Anwendung in gepackter Form vorliegt, müssen Sie möglicherweise wiederholte Aufrufe von `briefcase run` verwenden. Um den Prozess des Aktualisierens und Ausführens der gebündelten Anwendung zu vereinfachen, hat Briefcase eine Abkürzung, die dieses Verwendungsmuster unterstützt - die `-u` (oder `--update`) Option auf dem `run` Befehl." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -#, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Versuchen wir, eine weitere Änderung vorzunehmen. Sie haben vielleicht bemerkt, dass das Dialogfeld \"Hallo\" sagt, wenn Sie keinen Namen in das Texteingabefeld eingeben. Ändern wir die Funktion \"say_hello\" erneut, um diesen Sonderfall zu behandeln." - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -#, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "Am Anfang der Datei, zwischen den Importen und der `class HelloWorld`-Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen:" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -#, fuzzy -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-Methode zu verwenden:" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -#, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Führen Sie Ihre Anwendung im Entwicklungsmodus aus (mit `briefcase dev`), um zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen und starten Sie die Anwendung mit einem Befehl:" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -#, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "Der Befehl package akzeptiert auch das Argument `-u`. Wenn Sie also eine Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, können Sie `briefcase package -u` ausführen." - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattformen verpackt und konnten den Code in unserer Anwendung aktualisieren." - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Aber was ist mit mobilen Geräten? In [Tutorial 5][tutorial-5/index] werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index 8b2aa983..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,214 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-07-30 00:09+0000\n" -"Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutorial 5 - Mobiles Arbeiten: Android" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Jetzt nehmen wir unsere Anwendung und stellen sie als Android-Anwendung bereit." - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "Der Prozess der Bereitstellung einer Anwendung für Android ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Briefcase übernimmt die Installation von Abhängigkeiten für Android, einschließlich des Android SDK, des Android-Emulators und eines Java-Compilers." - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -msgid "Create an Android app and compile it" -msgstr "Eine Android-App erstellen und kompilieren" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Zuerst führen Sie den Befehl `create` aus. Dies lädt eine Android-App-Vorlage herunter und fügt Ihren Python-Code hinzu." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Wenn Sie `briefcase create android` zum ersten Mal ausführen, lädt Briefcase ein Java JDK und das Android SDK herunter. Die Dateigrößen und Downloadzeiten können beträchtlich sein; dies kann eine Weile dauern (10 Minuten oder länger, abhängig von der Geschwindigkeit Ihrer Internetverbindung). Wenn der Download abgeschlossen ist, werden Sie aufgefordert, die Android-SDK-Lizenz von Google zu akzeptieren." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Sobald dies abgeschlossen ist, haben wir in unserem Projekt ein Verzeichnis `build\\helloworld\\android\\gradle`, das ein Android-Projekt mit einer Gradle-Build-Konfiguration enthält. Dieses Projekt enthält Ihren Anwendungscode und ein Support-Paket, das den Python-Interpreter enthält." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Wir können dann den Befehl `build` von Briefcase verwenden, um diese in eine Android APK App-Datei zu kompilieren." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -msgid "Gradle may look stuck" -msgstr "Gradle kann aussehen, als würde es stecken bleiben" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Während des Schrittes `briefcase build android` gibt Gradle (das Werkzeug zur Erstellung der Android-Plattform) `CONFIGURING: 100%` aus und scheint nichts zu tun. Keine Sorge, es steckt nicht fest - es lädt weitere Android SDK Komponenten herunter. Je nach der Geschwindigkeit Ihrer Internetverbindung kann dies weitere 10 Minuten (oder länger) dauern. Diese Verzögerung sollte nur beim allerersten Mal auftreten, wenn Sie `build` ausführen; die Tools werden zwischengespeichert und beim nächsten Build werden die zwischengespeicherten Versionen verwendet." - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -msgid "Run the app on a virtual device" -msgstr "Ausführen der Anwendung auf einem virtuellen Gerät" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Wir sind nun bereit, unsere Anwendung zu starten. Sie können den Befehl `run` von Briefcase verwenden, um die Anwendung auf einem Android-Gerät auszuführen. Beginnen wir mit der Ausführung auf einem Android-Emulator." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Um Ihre Anwendung auszuführen, starten Sie `briefcase run android`. Daraufhin erhalten Sie eine Liste von Geräten, auf denen Sie die Anwendung ausführen können. Der letzte Punkt ist immer eine Option zum Erstellen eines neuen Android-Emulators." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Nun können wir unser gewünschtes Gerät auswählen. Wählen Sie die Option \"Einen neuen Android-Emulator erstellen\" und akzeptieren Sie die Standardauswahl für den Gerätenamen (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` wird das virtuelle Gerät automatisch starten. Wenn das Gerät hochfährt, sehen Sie das Android-Logo:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -msgid "Android virtual device booting" -msgstr "Booten eines virtuellen Android-Geräts" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Sobald das Gerät hochgefahren ist, wird Briefcase Ihre Anwendung auf dem Gerät installieren. Sie sehen kurz einen Startbildschirm:" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Virtuelles Android-Gerät vollständig gestartet, auf dem Startbildschirm" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "Die Anwendung wird dann gestartet. Während die App startet, wird ein Begrüßungsbildschirm angezeigt:" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -msgid "App splash screen" -msgstr "App-Startbildschirm" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -msgid "The emulator didn't start!" -msgstr "Der Emulator ist nicht gestartet!" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "Der Android-Emulator ist eine komplexe Software, die auf eine Reihe von Hardware- und Betriebssystemfunktionen angewiesen ist - Funktionen, die auf älteren Rechnern möglicherweise nicht verfügbar oder aktiviert sind. Wenn Sie Schwierigkeiten beim Starten des Android-Emulators haben, lesen Sie den Abschnitt [Anforderungen und Empfehlungen]{1} in der Android-Entwicklerdokumentation." - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "Wenn die App zum ersten Mal gestartet wird, muss sie sich auf dem Gerät entpacken. Das kann ein paar Sekunden dauern. Sobald sie entpackt ist, sehen Sie die Android-Version unserer Desktop-App:" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -msgid "App from Tutorial 2, fully launched" -msgstr "App aus Tutorial 2, vollständig gestartet" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -msgid "Demo app fully launched" -msgstr "Demo-App vollständig gestartet" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Wenn Sie nicht sehen, dass Ihre Anwendung startet, sollten Sie Ihr Terminal überprüfen, in dem Sie `briefcase run` ausgeführt haben, und nach Fehlermeldungen suchen." - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "Wenn Sie in Zukunft auf diesem Gerät arbeiten wollen, ohne das Menü zu benutzen, können Sie Briefcase den Namen des Emulators mitteilen, indem Sie `briefcase run android -d @beePhone` verwenden, um direkt auf dem virtuellen Gerät zu arbeiten." - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -msgid "Run the app on a physical device" -msgstr "Ausführen der App auf einem physischen Gerät" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Wenn Sie ein physisches Android-Telefon oder -Tablet besitzen, können Sie es mit einem USB-Kabel an Ihren Computer anschließen und dann Briefcase verwenden, um Ihr physisches Gerät anzusteuern." - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android erfordert, dass Sie Ihr Gerät vorbereiten, bevor Sie es für die Entwicklung verwenden können. Sie müssen 2 Änderungen an den Optionen auf Ihrem Gerät vornehmen:" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -msgid "Enable developer options" -msgstr "Entwickleroptionen aktivieren" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -msgid "Enable USB debugging" -msgstr "USB-Debugging einschalten" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Details zur Durchführung dieser Änderungen können [in der Android-Entwicklerdokumentation]{1} nachgelesen werden." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der verfügbaren Geräte erscheinen, wenn Sie `briefcase run android` ausführen." - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Hier sehen wir ein neues physisches Gerät mit seiner Seriennummer in der Einsatzliste - in diesem Fall ein Pixel 3a. Wenn Sie in Zukunft auf diesem Gerät arbeiten möchten, ohne das Menü zu verwenden, können Sie die Seriennummer des Telefons an Briefcase übergeben (in diesem Fall `briefcase run android -d 94ZZY0LNE8`). Dies wird direkt auf dem Gerät ausgeführt, ohne dass Sie gefragt werden." - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -msgid "My device doesn't appear!" -msgstr "Mein Gerät wird nicht angezeigt!" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Wenn Ihr Gerät in dieser Liste nicht erscheint, haben Sie entweder das USB-Debugging nicht aktiviert (oder das Gerät ist nicht eingesteckt!)." - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Wenn Ihr Gerät zwar angezeigt wird, aber als \"Unbekanntes Gerät (nicht für die Entwicklung autorisiert)\" aufgeführt ist, wurde der Entwicklermodus nicht korrekt aktiviert. Führen Sie die [Schritte zum Aktivieren der Entwickleroptionen]{1} erneut aus, und führen Sie \"Briefcase run android\" erneut aus." - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index f99174c4..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,83 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-08-14 00:09+0000\n" -"Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutorial 5 – Mobil nutzen: iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -#, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Sobald wir Xcode installiert haben, können wir unsere Anwendung als iOS-App bereitstellen." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "Der Prozess der Bereitstellung einer Anwendung für iOS ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Zuerst führen Sie den Befehl `create` aus - aber dieses Mal geben wir an, dass wir eine iOS-Anwendung erstellen wollen:" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Sobald dies abgeschlossen ist, haben wir ein `build/helloworld/ios/xcode` Verzeichnis, das ein Xcode Projekt enthält, sowie die unterstützenden Bibliotheken und den Anwendungscode, der für die Anwendung benötigt wird." - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Sie können dann Briefcase verwenden, um Ihre Anwendung mit `briefcase build iOS` zu kompilieren:" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Wir sind nun bereit, unsere Anwendung mit `briefcase run iOS` zu starten. Sie werden aufgefordert, ein Gerät auszuwählen, für das kompiliert werden soll. Wenn Sie Simulatoren für mehrere iOS SDK-Versionen installiert haben, werden Sie möglicherweise auch gefragt, welche iOS-Version Sie verwenden möchten. Die Optionen, die Ihnen angezeigt werden, können sich von den in dieser Ausgabe gezeigten Optionen unterscheiden - zumindest wird die Liste der Geräte wahrscheinlich anders aussehen. Für unsere Zwecke spielt es keine Rolle, welchen Simulator Sie wählen." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Dadurch wird der iOS-Simulator gestartet, Ihre Anwendung installiert und gestartet. Sie sollten sehen, dass der Simulator startet und schließlich Ihre iOS-Anwendung öffnet:" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World Tutorial 5 Fenster, auf iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Wenn Sie bereits im Voraus wissen, welchen iOS-Simulator Sie verwenden möchten, können Sie Briefcase mit der Option `-d` (oder `--device`) anweisen, diesen Simulator zu verwenden. Verwenden Sie den Namen des Geräts, das Sie beim Erstellen Ihrer Anwendung ausgewählt haben, und führen Sie es aus:" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Wenn Sie mehrere iOS-Versionen zur Verfügung haben, wählt Briefcase die höchste iOS-Version aus; wenn Sie eine bestimmte iOS-Version auswählen möchten, weisen Sie das Programm an, diese Version zu verwenden:" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -msgid "Or, you can name a specific device UDID:" -msgstr "Oder Sie können ein bestimmtes Gerät UDID nennen:" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Um iOS-Anwendungen zu kompilieren, benötigen wir Xcode, das kostenlos [im macOS App Store]{1} erhältlich ist." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index bdca87fe..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,50 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2024-08-14 00:09+0000\n" -"Last-Translator: tct123 \n" -"Language-Team: German \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" -"X-Generator: Weblate 5.7-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutorial 5 - Mobil nutzen" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "" -"Bislang haben wir unsere Anwendung auf dem Desktop ausgeführt und getestet. " -"BeeWare unterstützt jedoch auch mobile Plattformen - und die von uns " -"geschriebene Anwendung kann auch auf Ihrem mobilen Gerät eingesetzt werden!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "iOS-Anwendungen können nur unter macOS kompiliert werden." - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "" -"Android-Anwendungen können unter macOS, Windows oder Linux kompiliert werden." - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Lasst uns unsere App für iOS bauen!][iOS]" - -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Lassen Sie uns unsere App für Android erstellen!][android]" diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index 37759b54..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,101 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" -"Language-Team: German \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" -"X-Generator: Weblate 5.4-dev\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - Ins Netz stellen!" - -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -#, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Das Toga Widget Toolkit unterstützt nicht nur mobile Plattformen, sondern auch das Web! Mit der gleichen API, die Sie für die Bereitstellung Ihrer Desktop- und mobilen Anwendungen verwendet haben, können Sie Ihre Anwendung als einseitige Webanwendung bereitstellen." - -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -#, fuzzy -msgid "Proof of Concept" -msgstr "Proof of Concept" - -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -#, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "Das Toga Web Backend ist das am wenigsten ausgereifte von allen Toga Backends. Es ist ausgereift genug, um ein paar Funktionen zu zeigen, aber es wird wahrscheinlich fehlerhaft sein und viele der Widgets, die auf anderen Plattformen verfügbar sind, fehlen. Zum jetzigen Zeitpunkt sollte Web Deployment als \"Proof of Concept\" betrachtet werden - genug, um zu demonstrieren, was getan werden kann, aber nicht genug, um sich auf eine ernsthafte Entwicklung zu verlassen." - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -#, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Wenn Sie Probleme mit diesem Schritt des Tutorials haben, können Sie zur nächsten Seite wechseln." - -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be -#, fuzzy -msgid "Deploying as a web app" -msgstr "Als Webanwendung bereitstellen" - -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -#, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "Der Prozess der Bereitstellung als einseitige Webanwendung folgt dem gleichen bekannten Muster - Sie erstellen die Anwendung, bauen die Anwendung und führen sie dann aus. Wenn Sie versuchen, eine Anwendung auszuführen und Briefcase feststellt, dass sie nicht für die angestrebte Plattform erstellt oder gebaut wurde, führt es die Schritte zum Erstellen und Bauen für Sie aus. Da wir die Anwendung zum ersten Mal für das Web ausführen, können wir alle drei Schritte mit einem Befehl ausführen:" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Dadurch wird ein Webbrowser geöffnet, der auf [http://127.0.0.1:8080](http://127.0.0.1:8080) verweist:" - -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Hello World Tutorial 6 Dialog, in einem Browser" - -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 -#, fuzzy -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Wenn Sie Ihren Namen eingeben und auf die Schaltfläche klicken, wird ein Dialogfeld angezeigt." - -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf -#, fuzzy -msgid "How does this work?" -msgstr "Wie funktioniert das?" - -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -#, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Diese Webanwendung ist eine statische Website - eine einzelne HTML-Quellseite mit einigen CSS- und anderen Ressourcen. Briefcase hat einen lokalen Webserver gestartet, um diese Seite bereitzustellen, damit Ihr Browser die Seite anzeigen kann. Wenn Sie diese Webseite in Produktion geben möchten, können Sie den Inhalt des Ordners `www` auf einen beliebigen Webserver kopieren, der statische Inhalte bereitstellen kann." - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -#, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Aber wenn Sie die Taste drücken, führen Sie Python-Code aus... wie funktioniert das? Toga verwendet [PyScript]{1}, um einen Python-Interpreter im Browser bereitzustellen. Briefcase verpackt den Code Ihrer Anwendung als Rädchen, die PyScript im Browser laden kann. Wenn die Seite geladen wird, läuft der Anwendungscode im Browser und baut die Benutzeroberfläche mit Hilfe des Browser-DOMs auf. Wenn Sie auf eine Schaltfläche klicken, führt diese Schaltfläche den Code zur Ereignisbehandlung im Browser aus." - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -#, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Obwohl wir diese App jetzt auf dem Desktop, auf dem Handy und im Web bereitgestellt haben, ist die App recht einfach und enthält keine Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7][tutorial-7] an, um das herauszufinden..." diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index c58336e2..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,375 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutorial 7 - Die (Dritt)-Partei in Gang bringen" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -#, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Bisher haben wir in der von uns erstellten Anwendung nur unseren eigenen Code sowie den von BeeWare bereitgestellten Code verwendet. In einer realen Anwendung werden Sie jedoch wahrscheinlich eine Bibliothek eines Drittanbieters verwenden wollen, die Sie aus dem Python Package Index (PyPI) herunterladen." - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -#, fuzzy -msgid "Let's modify our app to include a third-party library." -msgstr "Ändern wir unsere Anwendung so, dass sie eine Bibliothek eines Drittanbieters enthält." - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -#, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Fügen wir einen `httpx`-API-Aufruf zu unserer Anwendung hinzu. Fügen Sie einen Import am Anfang der `app.py` hinzu, um `httpx` zu importieren:" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Dann modifizieren Sie den `say_hello()` Callback so, dass er wie folgt aussieht:" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -#, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Führen wir unsere aktualisierte Anwendung im Briefcase-Entwicklermodus aus, um zu prüfen, ob unsere Änderung funktioniert." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "Was ist passiert? Wir haben `httpx` zu unserem *Code* hinzugefügt, aber wir haben es nicht zu unserer virtuellen Entwicklungsumgebung hinzugefügt. Wir können dies beheben, indem wir `httpx` mit `pip` installieren und dann `briefcase dev` erneut ausführen:" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Wenn Sie einen Namen eingeben und auf die Schaltfläche drücken, sollte ein Dialogfeld angezeigt werden, das etwa so aussieht:" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hallo Welt Tutorial 7 Dialog, auf macOS" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Hallo Welt Tutorial 7 Dialog, unter Linux" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Hallo Welt Tutorial 7 Dialog, unter Windows" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -#, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Wir haben jetzt eine funktionierende Anwendung, die eine Bibliothek eines Drittanbieters verwendet und im Entwicklungsmodus läuft!" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -#, fuzzy -msgid "Running the updated app" -msgstr "Ausführen der aktualisierten Anwendung" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir die gleichen Schritte wie in [Tutorial 4][tutorial-4] ausführen:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "Aktualisieren Sie den Code in der gepackten Anwendung:" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "Bauen Sie die Anwendung neu auf:" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -#, fuzzy -msgid "And finally, run the app:" -msgstr "Und schließlich führen Sie die Anwendung aus:" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler und ein Absturzdialog angezeigt:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Hallo Welt Tutorial 7 App Absturz, auf macOS" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler angezeigt:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Hallo Welt Tutorial 7 App Absturz, auf Windows" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler angezeigt:" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Wieder einmal ist der Start der Anwendung fehlgeschlagen, weil `httpx` installiert wurde - aber warum? Haben wir `httpx` nicht schon installiert?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Das haben wir - aber nur in der Entwicklungsumgebung. Ihre Entwicklungsumgebung befindet sich ausschließlich auf Ihrem Rechner - und wird nur aktiviert, wenn Sie sie explizit aktivieren. Obwohl Briefcase einen Entwicklungsmodus hat, ist der Hauptgrund für die Verwendung von Briefcase, Ihren Code zu verpacken, damit Sie ihn an jemand anderen weitergeben können." - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "Der einzige Weg, um zu garantieren, dass jemand anderes eine Python-Umgebung hat, die alles enthält, was er braucht, ist, eine vollständig isolierte Python-Umgebung zu erstellen. Das bedeutet, dass es eine komplett isolierte Python-Installation und einen komplett isolierten Satz von Abhängigkeiten gibt. Das ist es, was Briefcase baut, wenn Sie `briefcase build` ausführen - eine isolierte Python Umgebung. Das erklärt auch, warum `httpx` nicht installiert ist - es wurde in Ihrer *Entwicklungsumgebung* installiert, aber nicht in der gepackten Anwendung." - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Wir müssen also Briefcase mitteilen, dass unsere Anwendung eine externe Abhängigkeit hat." - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "Aktualisieren von Abhängigkeiten" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "Im Hauptverzeichnis Ihrer Anwendung befindet sich eine Datei namens `pyproject.toml`. Diese Datei enthält alle Konfigurationsdetails der Anwendung, die Sie beim Ausführen von `briefcase new` angegeben haben." - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` ist in Abschnitte unterteilt; einer der Abschnitte beschreibt die Einstellungen für Ihre Anwendung:" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "Die Option `requires` beschreibt die Abhängigkeiten unserer Anwendung. Es handelt sich um eine Liste von Strings, die Bibliotheken (und optional die Versionen) der Bibliotheken angeben, die Sie in Ihre Anwendung aufnehmen möchten." - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "Ändern Sie die Einstellung `requires` so, dass sie lautet:" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Durch Hinzufügen dieser Einstellung teilen wir Briefcase mit: \"Wenn du meine Anwendung baust, führe `pip install httpx` in das Anwendungsbündel ein\". Alles, was eine legale Eingabe für `pip install` wäre, kann hier verwendet werden - Sie könnten also angeben:" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Eine bestimmte Bibliotheksversion (z.B. `\"httpx==0.19.0\"`);" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Eine Reihe von Bibliotheksversionen (z.B. `\"httpx>=0.19\"`);" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Ein Pfad zu einem Git-Repository (z. B. `\"git+https://github.com/encode/httpx\"`); oder" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -#, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Ein lokaler Dateipfad (Aber Achtung: Wenn Sie Ihren Code an jemand anderen weitergeben, existiert dieser Pfad wahrscheinlich nicht auf dessen Rechner!)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Weiter unten in `pyproject.toml` werden Sie andere Abschnitte bemerken, die vom Betriebssystem abhängig sind, wie `[tool.briefcase.app.helloworld.macOS]` und `[tool.briefcase.app.helloworld.windows]`. Diese Abschnitte haben *auch* eine `requires` Einstellung. Diese Einstellungen erlauben es Ihnen, zusätzliche plattformspezifische Abhängigkeiten zu definieren - wenn Sie also zum Beispiel eine plattformspezifische Bibliothek benötigen, um einen Aspekt Ihrer Anwendung zu behandeln, können Sie diese Bibliothek im plattformspezifischen `requires`-Abschnitt angeben, und diese Einstellung wird nur für diese Plattform verwendet. Sie werden feststellen, dass die `toga`-Bibliotheken alle im plattformspezifischen `requires`-Abschnitt angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "In unserem Fall wollen wir, dass `httpx` auf allen Plattformen installiert wird, also verwenden wir die Einstellung `requires` auf Anwendungsebene. Die Abhängigkeiten auf Anwendungsebene werden immer installiert; die plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den Abhängigkeiten auf Anwendungsebene installiert." - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Nun, da wir Briefcase über unsere zusätzlichen Anforderungen informiert haben, können wir versuchen, unsere Anwendung erneut zu paketieren. Vergewissern Sie sich, dass Sie Ihre Änderungen in `pyproject.toml` gespeichert haben, und aktualisieren Sie Ihre Anwendung erneut - dieses Mal mit dem Flag `-r`. Dadurch wird Briefcase angewiesen, die Anforderungen in der gepackten Anwendung zu aktualisieren:" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Sobald Sie das Update durchgeführt haben, können Sie `briefcase build` und `briefcase run` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem neuen Dialogverhalten sehen." - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "Die Option `-r` zum Aktualisieren der Anforderungen wird auch von den Befehlen `build` und `run` beachtet. Wenn Sie also in einem Schritt aktualisieren, bauen und ausführen wollen, können Sie `briefcase run -u -r` verwenden." - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Auf Desktop-Plattformen (macOS, Windows, Linux) kann jede `pip`-Installation zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen [sind Ihre Möglichkeiten etwas eingeschränkt]{1}." - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -#, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare kann Binärdateien für einige beliebte Binärmodule (einschließlich `numpy`, `pandas` und `cryptography`) bereitstellen. Es ist *normalerweise* möglich, Pakete für mobile Plattformen zu kompilieren, aber es ist nicht einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie diesem sprengen." - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "Zugriff auf eine API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Eine häufige Aufgabe, die eine Anwendung erfüllen muss, besteht darin, eine Anfrage an eine Web-API zu stellen, um Daten abzurufen und diese Daten dem Benutzer anzuzeigen. Da es sich hier um eine Spielzeuganwendung handelt, haben wir keine *echte* API, mit der wir arbeiten können, also verwenden wir die [{JSON} Placeholder API]{1} als Datenquelle." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "Die {JSON} Platzhalter-API verfügt über eine Reihe von \"gefälschten\" API-Endpunkten, die Sie als Testdaten verwenden können. Einer dieser APIs ist der Endpunkt `/posts/`, der gefälschte Blog-Posts zurückgibt. Wenn Sie `https://jsonplaceholder.typicode.com/posts/42` in Ihrem Browser öffnen, erhalten Sie einen JSON-Payload, der einen einzelnen Beitrag beschreibt - etwas [Lorum ipsum]{1} Inhalt für einen Blogbeitrag mit der ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Die Python-Standardbibliothek enthält alle Werkzeuge, die Sie für den Zugriff auf eine API benötigen. Die eingebauten APIs sind jedoch sehr einfach. Sie sind gute Implementierungen des HTTP-Protokolls - aber sie erfordern, dass der Benutzer viele Details auf niedriger Ebene verwaltet, wie URL-Umleitung, Sitzungen, Authentifizierung und Nutzdatenkodierung. Als \"normaler Browser-Benutzer\" sind Sie wahrscheinlich daran gewöhnt, diese Details als selbstverständlich anzusehen, da ein Browser diese Details für Sie verwaltet." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Infolgedessen haben Leute Bibliotheken von Drittanbietern entwickelt, die eingebauten APIs umhüllen und eine einfachere API bereitstellen, die der alltäglichen Browsererfahrung besser entspricht. Wir werden eine dieser Bibliotheken verwenden, um auf die {JSON} Platzhalter-API zuzugreifen - eine Bibliothek namens [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Dies ändert den `say_hello()` Callback so, dass er, wenn er aufgerufen wird, dies tut:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "eine GET-Anfrage an die JSON-Platzhalter-API stellen, um Beitrag 42 zu erhalten;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "dekodiert die Antwort als JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "den Text der Nachricht zu extrahieren; und" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "den Text dieses Beitrags als Text des Dialogs einschließen." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Einige Binärpakete sind möglicherweise nicht verfügbar" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "Kurz gesagt: Jedes *reine Python*-Paket (d.h. Pakete, die *kein* binäres Modul enthalten) kann ohne Probleme verwendet werden. Wenn Ihre Abhängigkeit jedoch eine Binärkomponente enthält, muss diese kompiliert werden; derzeit bieten die meisten Python-Pakete keine Kompilierungsunterstützung für Nicht-Desktop-Plattformen." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir [Tutorial 8][tutorial-8] an, um das herauszufinden..." - diff --git a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index fcd46376..00000000 --- a/updated-locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,371 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutorial 8 - Glatt machen" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "Wenn Sie keine *wirklich* schnelle Internetverbindung haben, werden Sie vielleicht feststellen, dass die grafische Benutzeroberfläche Ihrer Anwendung beim Drücken der Schaltfläche kurzzeitig blockiert wird. Das liegt daran, dass die Webanforderung, die wir gestellt haben, *synchron* ist. Wenn unsere Anwendung die Webanforderung stellt, wartet sie, bis die API eine Antwort zurückgibt, bevor sie fortfährt. Während sie wartet, erlaubt sie der Anwendung *nicht*, neu zu zeichnen - und das Ergebnis ist, dass die Anwendung blockiert." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -#, fuzzy -msgid "GUI Event Loops" -msgstr "GUI-Ereignis-Schleifen" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -#, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Um zu verstehen, warum das so ist, müssen wir uns mit den Details der Funktionsweise einer GUI-Anwendung befassen. Die Einzelheiten variieren je nach Plattform, aber die grundlegenden Konzepte sind dieselben, unabhängig von der Plattform oder der GUI-Umgebung, die Sie verwenden." - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -#, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Eine GUI-Anwendung besteht im Grunde aus einer einzigen Schleife, die etwa so aussieht:" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Diese Schleife wird *Ereignisschleife* genannt. (Dies sind keine tatsächlichen Methodennamen - es ist eine Veranschaulichung dessen, was im \"Pseudocode\" vor sich geht)." - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -#, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Wenn Sie auf eine Schaltfläche klicken, eine Bildlaufleiste ziehen oder eine Taste drücken, erzeugen Sie ein \"Ereignis\". Dieses \"Ereignis\" wird in eine Warteschlange gestellt, und die Anwendung wird die Warteschlange von Ereignissen verarbeiten, wenn sie das nächste Mal die Gelegenheit dazu hat. Der Benutzercode, der als Reaktion auf das Ereignis ausgelöst wird, wird *Ereignishandler* genannt. Diese Event-Handler werden als Teil des `process_events()` Aufrufs aufgerufen." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -#, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Sobald eine Anwendung alle verfügbaren Ereignisse verarbeitet hat, wird sie die grafische Benutzeroberfläche `neu zeichnen()`. Dabei werden alle Änderungen berücksichtigt, die Ereignisse an der Anzeige der Anwendung verursacht haben, sowie alles andere, was im Betriebssystem vor sich geht - zum Beispiel können die Fenster einer anderen Anwendung einen Teil des Fensters unserer Anwendung verdecken oder sichtbar machen, und die Neuzeichnung unserer Anwendung muss den Teil des Fensters widerspiegeln, der gerade sichtbar ist." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -#, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "Ein wichtiges Detail: Während eine Anwendung ein Ereignis verarbeitet, *kann sie nicht neu zeichnen* und *kann sie keine anderen Ereignisse verarbeiten*." - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -#, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Das bedeutet, dass jede in einem Event-Handler enthaltene Benutzerlogik schnell abgeschlossen werden muss. Jede Verzögerung bei der Fertigstellung des Event-Handlers wird vom Benutzer als Verlangsamung (oder Stopp) der GUI-Aktualisierungen wahrgenommen. Wenn diese Verzögerung lang genug ist, kann Ihr Betriebssystem dies als Problem melden - die macOS-\"Beachball\"- und Windows-\"Spinner\"-Symbole sind das Betriebssystem, das Ihnen mitteilt, dass Ihre Anwendung in einem Event-Handler zu lange braucht." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -#, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Einfache Operationen wie \"Aktualisieren eines Etiketts\" oder \"Neuberechnung der Gesamtsumme der Eingaben\" sind leicht und schnell zu erledigen. Es gibt jedoch eine Reihe von Vorgängen, die nicht schnell erledigt werden können. Wenn Sie eine komplexe mathematische Berechnung durchführen, alle Dateien in einem Dateisystem indizieren oder eine große Netzwerkanforderung ausführen, können Sie das nicht \"einfach schnell erledigen\" - die Vorgänge sind von Natur aus langsam." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -#, fuzzy -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Wie können wir also langlebige Operationen in einer GUI-Anwendung durchführen?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -#, fuzzy -msgid "Asynchronous programming" -msgstr "Asynchrone Programmierung" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -#, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Was wir brauchen, ist eine Möglichkeit, einer Anwendung in der Mitte eines langlebigen Event-Handlers mitzuteilen, dass es in Ordnung ist, die Kontrolle vorübergehend an die Event-Schleife zurückzugeben, solange wir dort fortfahren können, wo wir aufgehört haben. Es liegt an der Anwendung, zu bestimmen, wann diese Freigabe erfolgen kann; aber wenn die Anwendung die Kontrolle regelmäßig an die Ereignisschleife freigibt, können wir einen lang laufenden Event-Handler haben *und* eine reaktionsfähige Benutzeroberfläche beibehalten." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -#, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Wir können dies mit Hilfe der *asynchronen Programmierung* erreichen. Asynchrone Programmierung ist eine Art, ein Programm zu beschreiben, das es dem Interpreter erlaubt, mehrere Funktionen gleichzeitig auszuführen und die Ressourcen zwischen allen gleichzeitig laufenden Funktionen zu teilen." - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Asynchrone Funktionen (so genannte *Co-Routinen*) müssen ausdrücklich als asynchron deklariert werden. Sie müssen auch intern erklären, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln." - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "In Python wird die asynchrone Programmierung mit den Schlüsselwörtern `async` und `await`, und dem Modul [asyncio]{1} in der Standardbibliothek implementiert. Mit dem Schlüsselwort `async` können wir eine Funktion als asynchrone Co-Routine deklarieren. Mit dem Schlüsselwort `await` kann man angeben, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln. Das Modul [asyncio]{1} bietet einige andere nützliche Werkzeuge und Primitive für asynchrone Programmierung." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "Asynchronität des Tutorials" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -#, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "In diesem Code gibt es nur 4 Änderungen gegenüber der vorherigen Version:" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -#, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Der Client, der erzeugt wird, ist ein asynchroner `AsyncClient()`, anstatt eines synchronen `Client()`. Dies teilt `httpx` mit, dass es im asynchronen Modus und nicht im synchronen Modus arbeiten soll." - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -#, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Der zur Erstellung des Clients verwendete Kontextmanager ist als `async` markiert. Dies sagt Python, dass es eine Möglichkeit gibt, die Kontrolle abzugeben, wenn der Kontextmanager betreten und verlassen wird." - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga erlaubt es Ihnen, reguläre Methoden oder asynchrone Co-Routinen als Handler zu verwenden; Toga verwaltet alles hinter den Kulissen, um sicherzustellen, dass der Handler wie gewünscht aufgerufen oder erwartet wird." - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Wenn Sie diese Änderungen speichern und die Anwendung erneut ausführen (entweder mit `briefcase dev` im Entwicklungsmodus oder indem Sie die gepackte Anwendung aktualisieren und erneut ausführen), wird es keine offensichtlichen Änderungen an der Anwendung geben. Wenn Sie jedoch auf die Schaltfläche klicken, um den Dialog auszulösen, können Sie eine Reihe von subtilen Verbesserungen feststellen:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -#, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "Die Schaltfläche kehrt in einen \"nicht angeklickten\" Zustand zurück, anstatt in einem \"angeklickten\" Zustand zu verharren." - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "Das \"Beachball\"/\"Spinner\"-Symbol wird nicht angezeigt" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -#, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Wenn Sie das Anwendungsfenster verschieben/vergrößern, während Sie darauf warten, dass der Dialog erscheint, wird das Fenster neu gezeichnet." - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -#, fuzzy -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Wenn Sie versuchen, ein Anwendungsmenü zu öffnen, wird das Menü sofort angezeigt." - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "Nächste Schritte" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "" - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Wir haben jetzt eine Anwendung, die glatt und reaktionsschnell ist, auch wenn sie auf eine langsame API wartet. Aber wie können wir sicherstellen, dass die Anwendung auch weiterhin funktioniert, wenn wir sie weiter entwickeln? Wie können wir unsere Anwendung testen? Schauen Sie sich [Tutorial 9][tutorial-9] an, um das herauszufinden..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "Die Methode ist als `async def` definiert, anstatt nur als `def`. Dies sagt Python, dass die Methode eine asynchrone Co-Routine ist." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "Der `get`-Aufruf wird mit einem `await`-Schlüsselwort versehen. Dies weist die Anwendung an, dass sie die Kontrolle an die Ereignisschleife abgeben kann, während wir auf die Antwort des Netzwerks warten." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - diff --git a/updated-locales/es/LC_MESSAGES/how-to/index.po b/updated-locales/es/LC_MESSAGES/how-to/index.po deleted file mode 100644 index 70cf2d89..00000000 --- a/updated-locales/es/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: es\n" -"Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/es/LC_MESSAGES/index.po b/updated-locales/es/LC_MESSAGES/index.po deleted file mode 100644 index 2a8d9662..00000000 --- a/updated-locales/es/LC_MESSAGES/index.po +++ /dev/null @@ -1,101 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2024-07-23 23:51+0000\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "¡Bienvenido al tutorial de BeeWare!" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -msgid "**Write Python. Run Anywhere.**" -msgstr "**Escribe Python. Ejecútalo en cualquier sitio.**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "¡Bienvenido a BeeWare! En este tutorial, vamos a construir una interfaz gráfica de usuario utilizando Python, y desplegarla como una aplicación de escritorio, como una aplicación móvil, y como una aplicación web de una sola página. También vamos a ver cómo se pueden utilizar las herramientas de BeeWare para hacer algunas de las tareas comunes que tendrás que hacer como desarrollador de aplicaciones, tales como la prueba de su aplicación." - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Las traducciones están disponibles" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "Si no se siente cómodo con el inglés, las traducciones de este tutorial están disponibles en [Alemán]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1} y [中文(繁體)]{1}." - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "¡Es una traducción automática!" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Esta versión del tutorial se ha generado mediante traducción automática. Sabemos que no es lo ideal, pero pensamos que una mala traducción era mejor que ninguna." - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Si quieres ayudarnos a mejorar la traducción, ¡ponte en contacto con nosotros! Tenemos un canal `#translations` en [Discord]{1}; preséntate allí y te añadiremos al equipo de traducción." - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "¡Esto es una traducción!" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Este documento es una traducción de la versión inglesa. La traducción ha sido revisada por humanos, pero las secciones más nuevas pueden ser generadas por traducción automática, o no ser traducidas en absoluto." - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -msgid "What is BeeWare?" -msgstr "¿Qué es BeeWare?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare no es un único producto, o herramienta, o librería - es una colección de herramientas y librerías, cada una de las cuales trabaja conjuntamente para ayudarte a escribir aplicaciones Python multiplataforma con una GUI nativa. Incluye:" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, un conjunto de herramientas de widgets multiplataforma;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -#, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, una herramienta para empaquetar proyectos de Python como artefactos distribuibles que se pueden enviar a los usuarios finales;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -#, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acceder a bibliotecas nativas de la plataforma;" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Recopilaciones precompiladas de Python que pueden utilizarse en plataformas en las que no están disponibles los instaladores oficiales de Python." - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "En este tutorial, utilizaremos todas estas herramientas, pero como usuario, sólo necesitarás interactuar con las dos primeras (Toga y Briefcase). Sin embargo, cada una de las herramientas también se puede utilizar individualmente - por ejemplo, puede utilizar Briefcase para desplegar una aplicación sin necesidad de utilizar Toga como un conjunto de herramientas GUI." - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "La suite BeeWare está disponible en macOS, Windows, Linux (usando GTK); en plataformas móviles como Android e iOS; y para la Web." - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "¡Vamos!" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "¿Listo para probar BeeWare por ti mismo? [¡Construyamos una aplicación multiplataforma en Python!][tutorial/tutorial-0]" - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index bea634e9..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,131 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-08-28 16:09+0000\n" -"Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "Usando la cámara" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -#, fuzzy -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "Casi todos los dispositivos informáticos modernos tienen algún tipo de cámara. En este tutorial, mostramos una nueva aplicación que pueda solicitar acceso a esta cámara, tomar una fotografía y luego mostrarla en la aplicación. La nueva aplicación que utiliza la cámara de tu dispositivo." - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "¡Este tutorial no funcionará en todas las plataformas!" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "Lamentablemente, por el momento, este tutorial solo funcionará en macOS y Android." - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "Aunque todos los iPhone tienen cámaras, el *emulador* de iOS no tiene una cámara que funcione. Los dispositivos Windows y Linux también tienen cámaras, pero Toga actualmente no tiene la capacidad de acceder a la cámara en estas plataformas." - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "El código que aquí se muestra *se ejecutará* en Windows o Linux; pero generará un error cuando intentes hacer una foto." - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "El código funcionará si se ejecuta en un dispositivo iOS real, pero no podrá hacer una foto si se implementa en el emulador de iOS." - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "Iniciar un nuevo proyecto" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "Para este tutorial, no desarrollaremos la aplicación del tutorial principal, sino que comenzaremos un nuevo proyecto. Puede utilizar el mismo entorno virtual que utilizó en el primer proyecto. Sin embargo, debemos ejecutar nuevamente el asistente Nuevo maletín." - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "Regrese al directorio que contiene la carpeta del proyecto `helloworld` e inicie un nuevo proyecto llamado “Hello Camera”:" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "Añade código para tomar una foto" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "El asistente ha generado un nuevo proyecto Toga vacío. Ahora podemos agregar el código para tomar y mostrar una fotografía. Edite el archivo `app.py` de la nueva aplicación para que tenga el siguiente contenido:" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -#, fuzzy -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "Este código tiene dos cambios con respecto a la aplicación predeterminada que genera Briefcase. Estas novedades están resaltadas en amarillo:" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "El primer bloque de código resaltado (en el método `startup()`) agrega los dos widgets necesarios para controlar la cámara: un `ImageView` para mostrar una foto; y un `Button` para activar la cámara." - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "El segundo bloque de código resaltado (el método `take_photo()`) define el controlador de eventos cuando se presiona el botón. Este controlador primero confirma si la aplicación tiene permiso para tomar una foto; si no existe permiso, se solicita. Luego, se toma una foto. La solicitud de permiso y la solicitud para tomar una foto son ambas solicitudes asincrónicas, por lo que requieren el uso de `await`; mientras la aplicación espera que el usuario confirme los permisos o tome la foto, el bucle de eventos de la aplicación puede continuar en segundo plano." - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "Si la cámara toma una foto correctamente, devolverá un objeto `Image` que se puede asignar como contenido de `ImageView`. Si el usuario canceló la solicitud de la foto, la llamada `self.camera.take_photo()` devolverá `None` y el resultado se puede ignorar. Si el usuario no otorga permiso para usar la cámara, o la cámara no está implementada en la plataforma actual, se generará un error y se mostrará un cuadro de diálogo al usuario." - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "Agregar permisos al dispositivo" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "Parte de este código que acabamos de agregar solicita permiso para usar la cámara. Esta es una característica común de las plataformas de aplicaciones modernas: no se puede acceder a las funciones de hardware sin pedirle permiso explícitamente al usuario primero." - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "Sin embargo, esta solicitud se presenta en dos partes. La primera se encuentra en el código que acabamos de ver, pero antes de que la aplicación pueda solicitar permisos, necesita declarar los permisos que va a solicitar." - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -#, fuzzy -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "Los permisos que requiere cada plataforma son ligeramente diferentes, pero Briefcase tiene una representación multiplataforma para muchos permisos de hardware comunes. En la sección de configuración `[tool.briefcase.app.helloworld]` del archivo `pyproject.toml` de su aplicación, agregue lo siguiente (justo encima de la declaración `sources`):" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "Esto explica que su aplicación necesita acceder a la cámara y proporciona una breve descripción de por qué se requiere la cámara. Esta descripción es obligatoria en algunas plataformas (en particular, macOS e iOS) y se presenta al usuario como información adicional cuando se muestra el cuadro de diálogo de permisos." - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "Ahora podemos generar y ejecutar la aplicación:" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "Cuando se ejecuta la aplicación, se te presentará un botón. Pulsa el botón y se mostrará el cuadro de diálogo de la cámara predeterminada de la plataforma. Toma una foto; el cuadro de diálogo de la cámara desaparecerá y la foto se mostrará en la aplicación, justo encima del botón. Luego, puedes tomar otra foto; esta reemplazará la primera foto." - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "Agregar más permisos" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a `briefcase create`. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar `briefcase create`; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index 671be68d..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,143 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2025-06-12 02:04+0000\n" -"Last-Translator: Adolfo Jayme Barrientos \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "Personalizar iconos" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -#, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Hasta ahora, nuestra aplicación ha utilizado un ícono predeterminado de \"abeja gris\". ¿Cómo actualizamos la aplicación para usar nuestro propio ícono?" - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -msgid "Adding an icon" -msgstr "Añadir un icono" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**Próximamente**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "¡Ya tenemos una aplicación con un icono personalizado en nuestro escritorio y teléfono! ¿Cómo compartimos esta aplicación con los demás? Visita [Tutorial 11][tutorial-11] para descubrirlo..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutorial 10 – Crea tu propia aplicación" - -#~ msgid "Next steps" -#~ msgstr "Siguientes pasos" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index 600ab25b..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,63 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: 2024-09-28 16:15+0000\n" -"Last-Translator: gallegonovato \n" -"Language-Team: Spanish \n" -"Language: es\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" -"X-Generator: Weblate 5.8-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "Ir más allá" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "" -"¿Quieres profundizar en temas específicos? Aquí tienes algunos tutoriales " -"adicionales que exploran aspectos comunes del desarrollo de aplicaciones. " -"Cada tutorial es independiente y puede completarse en cualquier orden, pero " -"todos ellos asumen que has completado el tutorial principal." - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "Personalizar iconos" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "" -"Personaliza la apariencia de tu aplicación sustituyendo el icono " -"predeterminado de la \"abeja gris\"." - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "Pruebas de aplicaciones" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "" -"¿Cómo puedo asegurarme de que mi aplicación funciona y sigue funcionando? ¡" -"Añadiendo un conjunto de pruebas al proyecto!" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "Acceso a la cámara" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "" -"Utiliza la cámara de tu dispositivo móvil o de sobremesa para hacer y ver " -"una foto desde tu aplicación." diff --git a/updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index 1dfac1bc..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,140 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2024-02-13 12:01+0000\n" -"Last-Translator: KevinRodriguez777 \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Tutorial 9 - Tiempo de Ejecución del conjunto de pruebas" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "La mayor parte del desarrollo de software no consiste en escribir código nuevo, sino en modificar el existente. Garantizar que el código existente sigue funcionando de la forma que esperamos es una parte clave del proceso de desarrollo de software. Una forma de asegurar el comportamiento de nuestra aplicación es con un *conjunto de pruebas*." - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -msgid "Running the test suite" -msgstr "Ejecución del conjunto de pruebas" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -#, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Resulta que nuestro proyecto ya tiene un conjunto de pruebas! Cuando originalmente generamos nuestro proyecto, se generaron dos directorios de nivel superior: `src` y `tests`. La carpeta `src` contiene el código de nuestra aplicación; la carpeta `tests` contiene nuestro conjunto de pruebas. Dentro de la carpeta `tests` hay un archivo llamado `test_app.py` con el siguiente contenido:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Esto es un [Pytest]{1} *caso de prueba* - un bloque de código que puede ser ejecutado para verificar algún comportamiento de tu aplicación. En este caso, la prueba es un marcador de posición, y no verifica nada específico sobre nuestra aplicación, pero es una prueba que podemos realizar." - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Podemos ejecutar este conjunto de pruebas utilizando la opción `--test` de `briefcase dev`. Como es la primera vez que ejecutamos pruebas, también necesitamos pasar la opción `-r` para asegurarnos de que también se instalan los requisitos de las pruebas:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "¡Un éxito! Acabamos de ejecutar una única prueba que verifica que las matemáticas de Python funcionan como esperábamos (¡Qué alivio!)." - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Vamos a reemplazar esta prueba de marcador de posición con una prueba para verificar que nuestro método `greeting()` se comporta como esperamos. Sustituye el contenido de `test_app.py` por el siguiente:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Esto define dos nuevos casos de pruebas, verificando los dos comportamientos que esperamos ver: la salida cuando se proporciona un nombre, y la salida cuando el nombre está vacío." - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Ahora podemos volver a ejecutar el conjunto de pruebas. Esta vez, no necesitamos proporcionar la opción `-r`, ya que los requisitos de la prueba ya se han instalado; sólo tenemos que utilizar la opción `--test`:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Excelente Nuestro método de utilidad `greeting()` está funcionando como se esperaba." - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -#, fuzzy -msgid "Test driven development" -msgstr "Desarrollo basado en pruebas" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Ahora que tenemos un conjunto de pruebas, podemos utilizarlo para impulsar el desarrollo de nuevas funciones. Vamos a modificar nuestra aplicación para que tenga un saludo especial para un usuario en particular. Podemos empezar por añadir un caso de prueba para el nuevo comportamiento que nos gustaría ver en la parte inferior de `test_app.py`:" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "A continuación, ejecute el conjunto de pruebas con esta nueva prueba:" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Esta vez, vemos un fallo en el test - y la salida explica el origen del fallo: el test está esperando la salida \"¡BeeWare los IDEs de Python!\", pero nuestra implementación de `greeting()` está devolviendo \"Hola, Brutus\". Modifiquemos la implementación de `greeting()` en `src/helloworld/app.py` para que tenga el nuevo comportamiento:" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Si ejecutamos las pruebas de nuevo, ahora veremos que nuestras pruebas pasan:" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -#, fuzzy -msgid "Runtime tests" -msgstr "Pruebas en tiempo real" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -#, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Hasta ahora, hemos estado ejecutando las pruebas en modo de desarrollo. Esto es especialmente útil cuando estás desarrollando nuevas características, ya que puedes iterar rápidamente en la adición de pruebas, y la adición de código para hacer que esas pruebas pasen. Sin embargo, en algún momento, usted querrá verificar que su código también se ejecuta correctamente cuando dentro del entorno de aplicación paquete." - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Las opciones `--test` y `-r` también se pueden pasar al comando `run`. Si utilizas `briefcase run --test -r`, se ejecutará el mismo conjunto de pruebas, pero se ejecutará dentro del paquete de aplicaciones empaquetado en lugar de en tu entorno de desarrollo:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Al igual que con `briefcase dev --test`, la opción `-r` sólo es necesaria la primera vez que se ejecuta el conjunto de pruebas para asegurarse de que las dependencias de prueba están presentes. En las siguientes ejecuciones, puede omitir esta opción." - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "También puedes utilizar la opción `--test` en backends móviles: - así `briefcase run iOS --test` y `briefcase run android --test` funcionarán, ejecutando el conjunto de pruebas en el dispositivo móvil que selecciones." - -#~ msgid "Next steps" -#~ msgstr "Siguientes pasos" diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index e08fc4ab..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,233 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2024-10-18 16:15+0000\n" -"Last-Translator: Kamborio \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutorial 0 - ¡Preparémonos!" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Antes de crear nuestra primera aplicación BeeWare, tenemos que asegurarnos de que tenemos todos los requisitos previos para ejecutar BeeWare." - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -msgid "Install Python" -msgstr "Instalar Python" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "Lo primero que necesitaremos es un intérprete de Python que funcione." - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -#, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -#, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Hay muchas formas diferentes de instalar Python. Puedes instalar Python a través de [homebrew]{1}. Puedes usar [pyenv]{1} para gestionar múltiples instalaciones de Python en la misma máquina. Los usuarios de Windows pueden instalar Python desde la Windows App Store. Los usuarios con experiencia en ciencia de datos pueden utilizar [Anaconda]{1} o [Miniconda]{1}." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Si estás en Linux, instalarás Python utilizando el gestor de paquetes del sistema (`apt` en Debian/Ubuntu/Mint, `dnf` en Fedora, o `pacman` en Arch)." - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Debe asegurarse de que el sistema Python es Python 3.9 o más reciente; si no lo es (por ejemplo, Ubuntu 20.04 viene con Python 3.8), tendrá que actualizar su distribución de Linux a algo más reciente." - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Si usas macOS o Windows, no importa *cómo* has instalado Python - sólo importa que puedas ejecutar `python3` desde el símbolo del sistema/terminal de tu sistema operativo, y obtener un intérprete de Python que funcione." - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -msgid "Install dependencies" -msgstr "Instalar dependencias" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "A continuación, instale las dependencias adicionales necesarias para su sistema operativo:" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -msgid "Building BeeWare apps on macOS requires:" -msgstr "Construir aplicaciones BeeWare en macOS requiere:" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "**Git**, un sistema de control de versiones. Se incluye con Xcode o con las herramientas de línea de comandos para desarrolladores, que instalaste más arriba. Puede que tengas que abrir Xcode por primera vez para que Git funcione en tu sesión de terminal. Si aún no se registra que Git está instalado, puede que tenga que reiniciar su sesión de terminal." - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Para soportar el desarrollo local, necesitarás instalar algunos paquetes del sistema. La lista de paquetes necesarios varía en función de tu distribución:" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu / Debian**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -msgid "**Arch / Manjaro**" -msgstr "**Arch / Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "**OpenSUSE Tumbleweed**" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -msgid "Building BeeWare apps on Windows requires:" -msgstr "Construir aplicaciones BeeWare en Windows requiere:" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, un sistema de control de versiones. Puede descargar Git desde [git-scm.com]{1}." - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Después de instalar estas herramientas, debe asegurarse de reiniciar cualquier sesión de terminal. Windows sólo expondrá las herramientas recién instaladas a los terminales iniciados *después* de que se haya completado la instalación." - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -msgid "Set up a virtual environment" -msgstr "Crear un entorno virtual" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Ahora vamos a crear un entorno virtual - una \"caja de arena\" que podemos utilizar para aislar nuestro trabajo en este tutorial de nuestra instalación principal de Python. Si instalamos paquetes en el entorno virtual, nuestra instalación principal de Python (y cualquier otro proyecto Python en nuestro ordenador) no se verá afectado. Si hacemos un completo desastre de nuestro entorno virtual, podremos simplemente borrarlo y empezar de nuevo, sin afectar a ningún otro proyecto Python en nuestro ordenador, y sin necesidad de reinstalar Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Errores al ejecutar scripts PowerShell" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error:" -msgstr "Si está utilizando PowerShell y recibe el error:" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Tu cuenta de Windows no tiene permisos para ejecutar scripts. Para solucionarlo:" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "Ejecute [Windows PowerShell como administrador]{1}." - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "Ejecuta `set-executionpolicy RemoteSigned`" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select `Y` to change the execution policy." -msgstr "Seleccione `Y` para cambiar la política de ejecución." - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Una vez hecho esto, puede volver a ejecutar `beeware-venv\\Scripts\\activate.ps1` en su sesión PowerShell original (o en una nueva sesión en el mismo directorio)." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Si esto ha funcionado, tu prompt debería haber cambiado - debería tener un prefijo `(beeware-venv)`. Esto te permite saber que estás actualmente en tu entorno virtual BeeWare. Siempre que estés trabajando en este tutorial, debes asegurarte de que tu entorno virtual está activado. Si no lo está, vuelve a ejecutar el último comando (el comando `activate`) para reactivar tu entorno." - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Entornos virtuales alternativos" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Si estás usando Anaconda o miniconda, puede que estés más familiarizado con el uso de entornos conda. También puedes haber oído hablar de `virtualenv`, un predecesor del módulo `venv` de Python. Al igual que con las instalaciones de Python - si estás en macOS o Windows, no importa *cómo* creas tu entorno virtual, siempre y cuando tengas uno. Si estás en Linux, deberías usar `venv` y el sistema Python." - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Ya hemos configurado nuestro entorno. Estamos listos para [crear nuestra primera aplicación BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Ejecute Windows PowerShell como Administrador." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, un sistema de control de versiones. Esto se incluye con Xcode o las herramientas de línea de comandos para desarrolladores, que instaló anteriormente." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distribuciones alternativas de Python" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Si estás en Linux, *debes* usar el Python de sistema proporcionado por tu sistema operativo. Podrás completar *la mayor parte* de este tutorial usando un Python que no sea de sistema, pero no podrás empaquetar tu aplicación para distribuirla a otros." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Si utilizas macOS, con Xcode o las herramientas de desarrollo de línea de comandos se incluye una versión reciente de Python. Para comprobar si ya la tienes, ejecuta el siguiente comando:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Si Python está instalado, verás su número de versión. Si no, se te pedirá que instales las herramientas de desarrollo de la línea de comandos." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index 77b8c843..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,209 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-03-27 18:01+0000\n" -"Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutorial 1 - Tu primera aplicación" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -msgid "We're ready to create our first application." -msgstr "Estamos listos para crear nuestra primera aplicación." - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -msgid "Install the BeeWare tools" -msgstr "Instalar las herramientas BeeWare" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "En primer lugar, tenemos que instalar **Briefcase**. Briefcase es una herramienta de BeeWare que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio `beeware-tutorial` que creaste en [Tutorial 0][tutorial-0], con el entorno virtual `beeware-venv` activado, y ejecuta:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Posibles errores durante la instalación" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Si aparecen errores durante la instalación, es casi seguro que se deba a que no se han instalado algunos de los requisitos del sistema. Asegúrese de haber [instalado todos los requisitos previos de la plataforma ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "Es importante que utilices `python -m pip`, en lugar de `pip`. Briefcase necesita asegurarse de que tiene una versión actualizada de `pip` y `setuptools`, y una invocación de `pip` no puede auto-actualizarse. Si quieres saber más, [Brett Cannon tiene una entrada de blog detallada sobre el problema]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -#, fuzzy -msgid "Bootstrap a new project" -msgstr "Crear un nuevo proyecto" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -#, fuzzy -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "¡Empecemos nuestro primer proyecto BeeWare! Vamos a utilizar el comando `new` de Briefcase para crear una aplicación llamada **Hello World**. Ejecute lo siguiente desde su símbolo del sistema:" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -#, fuzzy -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Para los propósitos de este tutorial, utilice lo siguiente:" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -#, fuzzy -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Nombre Formal** - Acepta el valor por defecto: `Hola Mundo`." - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -#, fuzzy -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**Nombre de la aplicación** - Acepta el valor por defecto: `helloworld`." - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -#, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Paquete** - Si tiene su propio dominio, introdúzcalo en orden inverso. (Por ejemplo, si posee el dominio \"cupcakes.com\", introduzca `com.cupcakes` como paquete). Si no posee su propio dominio, acepte el paquete predeterminado (`com.ejemplo`)." - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -#, fuzzy -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Nombre del proyecto** - Acepte el valor por defecto: `Hola Mundo`." - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -#, fuzzy -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Descripción** - Acepte el valor por defecto (o, si quiere ser realmente creativo, invente su propia descripción)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -#, fuzzy -msgid "**Author** - Enter your own name here." -msgstr "**Autor** - Escriba aquí su propio nombre." - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -#, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Correo electrónico del autor** - Introduzca su propia dirección de correo electrónico. Se utilizará en el archivo de configuración, en el texto de ayuda y en cualquier lugar donde se requiera un correo electrónico al enviar la aplicación a una tienda de aplicaciones." - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -#, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - La URL de la página de destino de su aplicación. De nuevo, si es dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el `https://`). Si no, acepta la URL por defecto (`https://example.com/helloworld`). No es necesario que esta URL exista realmente (por ahora); sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -#, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**Licencia** - Acepta la licencia por defecto (BSD). Sin embargo, esto no afectará en nada al funcionamiento del tutorial, así que si tienes sentimientos particularmente fuertes sobre la elección de la licencia, siéntete libre de elegir otra licencia." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -#, fuzzy -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI framework** - Acepte la opción por defecto, Toga (el propio conjunto de herramientas GUI de BeeWare)." - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -#, fuzzy -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase generará entonces un esqueleto de proyecto para que lo utilices. Si has seguido este tutorial hasta ahora, y has aceptado los valores por defecto tal y como se describen, tu sistema de archivos debería parecerse a:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -#, fuzzy -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Este esqueleto es en realidad una aplicación en pleno funcionamiento sin añadir nada más. La carpeta `src` contiene todo el código de la aplicación, la carpeta `tests` contiene un conjunto de pruebas iniciales, y el archivo `pyproject.toml` describe cómo empaquetar la aplicación para su distribución. Si abres `pyproject.toml` en un editor, verás los detalles de configuración que acabas de proporcionar a Briefcase." - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -#, fuzzy -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Ahora que tenemos una aplicación stub, podemos utilizar Briefcase para ejecutar la aplicación." - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -#, fuzzy -msgid "Run the app in developer mode" -msgstr "Ejecutar la aplicación en modo desarrollador" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -#, fuzzy -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Entra en el directorio del proyecto `helloworld` y dile a briefcase que inicie el proyecto en modo desarrollador (o `dev`):" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -#, fuzzy -msgid "This should open a GUI window:" -msgstr "Esto debería abrir una ventana GUI:" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -#, fuzzy -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Tutorial Hello World 1 ventana, en macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Ventana Hello World Tutorial 1, en Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Ventana Hello World Tutorial 1, en Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Pulsa el botón de cerrar (o selecciona Salir en el menú de la aplicación), ¡y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e independiente en Python!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -#, fuzzy -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarrollador. Ahora podemos añadir algo de lógica propia para hacer que nuestra aplicación haga algo un poco más interesante. En [Tutorial 2][tutorial-2], pondremos una interfaz de usuario más útil en nuestra aplicación." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Una de las herramientas de BeeWare es **Briefcase**. Briefcase se puede utilizar para empaquetar su aplicación para su distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index 8e7fddb3..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,291 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-01-23 12:02+0000\n" -"Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -#, fuzzy -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutorial 2 - Hacerlo interesante" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "En [Tutorial 1][tutorial-1], generamos un proyecto stub que era capaz de ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un vistazo a lo que se generó para nosotros." - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -msgid "What was generated" -msgstr "Qué se generó" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "En el directorio `src/helloworld`, deberías ver 3 archivos: `__init__.py`, `__main__.py` y `app.py`." - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` marca el directorio `helloworld` como un módulo importable de Python. Es un archivo vacío; el mero hecho de que exista le dice al intérprete de Python que el directorio `helloworld` define un módulo." - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` marca el módulo `helloworld` como un tipo especial de módulo - un módulo ejecutable. Si intentas ejecutar el módulo `helloworld` usando `python -m helloworld`, el archivo `__main__.py` es donde Python empezará a ejecutarse. El contenido de `__main__.py` es relativamente simple:" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -#, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Es decir, importa el método `main` de la aplicación `helloworld`; y si se está ejecutando como punto de entrada, llama al método main(), e inicia el bucle principal de la aplicación. El bucle principal es la forma en que una aplicación GUI escucha la entrada del usuario (como clics de ratón y pulsaciones de teclado)." - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -#, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "El archivo más interesante es `app.py` - contiene la lógica que crea la ventana de nuestra aplicación:" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -#, fuzzy -msgid "Let's go through this line by line:" -msgstr "Vamos a ir a través de esta línea por línea:" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -#, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "En primer lugar, importamos el conjunto de herramientas de widgets `toga`, así como algunas clases de utilidades y constantes relacionadas con el estilo. Nuestro código aún no las utiliza, pero lo haremos en breve." - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -#, fuzzy -msgid "Then, we define a class:" -msgstr "A continuación, definimos una clase:" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -#, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Cada aplicación Toga tiene una única instancia `toga.App`, que representa la entidad en ejecución que es la aplicación. La app puede acabar gestionando múltiples ventanas; pero para aplicaciones sencillas, habrá una única ventana principal." - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -#, fuzzy -msgid "Next, we define a `startup()` method:" -msgstr "A continuación, definimos un método `startup()`:" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -#, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "Lo primero que hace el método de inicio es definir una caja principal. El esquema de diseño de Toga se comporta de forma similar a HTML. Construyes una aplicación construyendo una colección de cajas, cada una de las cuales contiene otras cajas, o widgets reales. Luego aplicas estilos a estas cajas para definir cómo consumirán el espacio disponible en la ventana." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -#, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "En esta aplicación, definimos una sola caja, pero no ponemos nada en ella." - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -#, fuzzy -msgid "Next, we define a window into which we can put this empty box:" -msgstr "A continuación, definimos una ventana en la que podemos poner esta caja vacía:" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -#, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Esto crea una instancia de `toga.MainWindow`, que tendrá un título que coincida con el nombre de la aplicación. Una ventana principal es un tipo especial de ventana en Toga - es una ventana que está estrechamente vinculada al ciclo de vida de la aplicación. Cuando la Ventana Principal se cierra, la aplicación sale. La Ventana Principal es también la ventana que tiene el menú de la aplicación (si estás en una plataforma como Windows donde las barras de menú son parte de la ventana)" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -#, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "A continuación añadimos nuestra caja vacía como contenido de la ventana principal, e indicamos a la aplicación que muestre nuestra ventana:" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -#, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Por último, definimos un método `main()`. Esto es lo que crea la instancia de nuestra aplicación:" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -#, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Este método `main()` es el que es importado e invocado por `__main__.py`. Crea y devuelve una instancia de nuestra aplicación `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -#, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Esa es la aplicación Toga más simple posible. Pongamos algo de nuestro propio contenido en la aplicación, y hagamos que la aplicación haga algo interesante." - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -#, fuzzy -msgid "Adding some content of our own" -msgstr "Añadir contenido propio" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -#, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "No elimine las importaciones en la parte superior del archivo, o el `main()` en la parte inferior. Solo necesitas actualizar la clase `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -#, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modifica tu clase `HelloWorld` dentro de `src/helloworld/app.py` para que tenga este aspecto:" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -#, fuzzy -msgid "Let's look in detail at what has changed." -msgstr "Veamos en detalle lo que ha cambiado." - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -#, fuzzy -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Seguimos creando una caja principal; sin embargo, ahora estamos aplicando un estilo:" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -#, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "El sistema de diseño integrado de Toga se llama \"Pack\". Se comporta de forma muy parecida a CSS. Defines objetos en una jerarquía - en HTML, los objetos son `
`, ``, y otros elementos DOM; en Toga, son widgets y cajas. A continuación, puedes asignar estilos a los elementos individuales. En este caso, estamos indicando que se trata de una caja `COLUMN` - es decir, es una caja que consumirá todo el ancho disponible, y ampliará su altura a medida que se añada contenido, pero intentará ser lo más corta posible." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -#, fuzzy -msgid "Next, we define a couple of widgets:" -msgstr "A continuación, definimos un par de widgets:" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -#, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Aquí definimos un Label y un TextInput. Ambos widgets tienen estilos asociados; la etiqueta tendrá 5px de relleno a su izquierda y derecha, y ningún relleno en la parte superior e inferior. El TextInput está marcado como flexible - es decir, absorberá todo el espacio disponible en su eje de diseño." - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -#, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "El TextInput se asigna como una variable de instancia de la clase. Esto nos da fácil acceso a la instancia del widget - algo que usaremos en un momento." - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -#, fuzzy -msgid "Next, we define a box to hold these two widgets:" -msgstr "A continuación, definimos una caja para alojar estos dos widgets:" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -#, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "La `caja_de_nombre` es una caja igual que la caja principal; sin embargo, esta vez, es una caja `ROW`. Eso significa que el contenido se añadirá horizontalmente, e intentará que su anchura sea lo más estrecha posible. La caja también tiene algo de relleno - 5px en todos los lados." - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -#, fuzzy -msgid "Now we define a button:" -msgstr "Ahora definimos un botón:" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "El botón también tiene 5px de relleno en todos los lados. También definimos un *handler* - un método a invocar cuando se pulsa el botón." - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -#, fuzzy -msgid "Then, we add the name box and the button to the main box:" -msgstr "A continuación, añadimos el cuadro de nombre y el botón al cuadro principal:" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -#, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Esto completa nuestro diseño; el resto del método de inicio es como antes - definiendo una MainWindow, y asignando la caja principal como contenido de la ventana:" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -#, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "Lo último que tenemos que hacer es definir el manejador del botón. Un manejador puede ser cualquier método, generador o co-rutina asíncrona; acepta el widget que generó el evento como argumento, y será invocado cada vez que se pulse el botón:" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -#, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "El cuerpo del método es una simple sentencia print - sin embargo, interrogará el valor actual de la entrada name, y usará ese contenido como el texto que se imprime." - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -#, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Ahora que hemos realizado estos cambios podemos ver cómo quedan iniciando de nuevo la aplicación. Como antes, usaremos el modo desarrollador:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -#, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Notarás que esta vez, *no* instala dependencias. Briefcase puede detectar que la aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, sólo ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, puedes asegurarte de que se instalan pasando una opción `-r` cuando ejecutes `briefcase dev`." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -#, fuzzy -msgid "This should open a GUI window:" -msgstr "Esto debería abrir una ventana GUI:" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Ventana Hello World Tutorial 2, en macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Ventana Hello World Tutorial 2, en Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Ventana Hello World Tutorial 2, en Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -#, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Si introduce un nombre en el cuadro de texto y pulsa el botón GUI, debería ver aparecer la salida en la consola donde inició la aplicación." - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -#, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pero sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta aplicación para su distribución. En [Tutorial 3][tutorial-3], vamos a empaquetar nuestra aplicación como un instalador independiente que podríamos enviar a un amigo, un cliente, o subir a una App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index 27500519..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,313 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2024-01-18 12:00+0000\n" -"Last-Translator: Kamborio \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutorial 3 - Empaquetado para distribución" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -#, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Hasta ahora, hemos estado ejecutando nuestra aplicación en \"modo desarrollador\". Esto hace que sea fácil para nosotros para ejecutar nuestra aplicación a nivel local - pero lo que realmente queremos es ser capaz de dar a nuestra aplicación a los demás." - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -#, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Sin embargo, no queremos tener que enseñar a nuestros usuarios cómo instalar Python, crear un entorno virtual, clonar un repositorio git y ejecutar Briefcase en modo desarrollador. Preferimos simplemente darles un instalador, y que la aplicación simplemente funcione." - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -#, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase puede utilizarse para empaquetar su aplicación y distribuirla de este modo." - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -#, fuzzy -msgid "Creating your application scaffold" -msgstr "Creación del andamiaje de aplicaciones" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -#, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Dado que esta es la primera vez que empaquetamos nuestra aplicación, necesitamos crear algunos archivos de configuración y otros andamios para apoyar el proceso de empaquetado. Desde el directorio `helloworld`, ejecuta:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -#, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Probablemente acabas de ver pasar páginas de contenido en tu terminal... ¿qué acaba de pasar? Briefcase ha hecho lo siguiente:" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -#, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Se **generó una plantilla de aplicación**. Hay un montón de archivos y configuraciones necesarias para construir un instalador nativo, por encima y más allá del código de su aplicación real. Este andamiaje extra es casi el mismo para cada aplicación en la misma plataforma, excepto por el nombre de la aplicación real que se está construyendo - por lo que Briefcase proporciona una plantilla de aplicación para cada plataforma que soporta. Este paso despliega la plantilla, sustituyendo el nombre de tu aplicación, el ID del paquete y otras propiedades de tu archivo de configuración según sea necesario para soportar la plataforma en la que estás construyendo." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -#, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Si no está satisfecho con la plantilla proporcionada por Briefcase, puede crear la suya propia. Sin embargo, probablemente no quieras hacerlo hasta que tengas un poco más de experiencia utilizando la plantilla por defecto de Briefcase." - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -#, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Descargó e instaló un paquete de soporte**. El enfoque de empaquetado adoptado por Briefcase es mejor descrito como \"la cosa más simple que podría funcionar\" - envía un intérprete de Python completo y aislado como parte de cada aplicación que construye. Esto es ligeramente ineficiente en cuanto a espacio - si tiene 5 aplicaciones empaquetadas con Briefcase, tendrá 5 copias del intérprete de Python. Sin embargo, este enfoque garantiza que cada aplicación es completamente independiente, utilizando una versión específica de Python que se sabe que funciona con la aplicación." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -#, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "De nuevo, Briefcase proporciona un paquete de soporte por defecto para cada plataforma; si lo desea, puede proporcionar su propio paquete de soporte, y hacer que ese paquete se incluya como parte del proceso de compilación. Es posible que desee hacer esto si tiene opciones particulares en el intérprete de Python que necesita tener habilitadas, o si desea eliminar módulos de la biblioteca estándar que no necesita en tiempo de ejecución." - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -#, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase mantiene una caché local de paquetes de soporte, por lo que una vez que haya descargado un paquete de soporte específico, esa copia en caché se utilizará en futuras compilaciones." - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -#, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Se **instalan los requisitos de la aplicación**. Tu aplicación puede especificar cualquier módulo de terceros que se requiera en tiempo de ejecución. Estos serán instalados usando `pip` en el instalador de tu aplicación." - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -#, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Se **instala el código de tu aplicación**. Tu aplicación tendrá su propio código y recursos (por ejemplo, imágenes que se necesitan en tiempo de ejecución); estos archivos se copian en el instalador." - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -#, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Por último, añade cualquier recurso adicional que necesite el propio instalador. Esto incluye cosas como iconos que deben adjuntarse a la aplicación final e imágenes de pantalla de bienvenida." - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -#, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Una vez completado esto, si miras en el directorio del proyecto, deberías ver un directorio correspondiente a tu plataforma (`macOS`, `linux`, o `windows`) que contiene archivos adicionales. Esta es la configuración de empaquetado específica de la plataforma para tu aplicación." - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -#, fuzzy -msgid "Building your application" -msgstr "Construir su aplicación" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -#, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Ahora puede compilar su aplicación. Este paso realiza cualquier compilación binaria que sea necesaria para que su aplicación sea ejecutable en su plataforma de destino." - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -#, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "En macOS, el comando `build` no necesita *compilar* nada, pero sí necesita firmar el contenido del binario para que pueda ser ejecutado. Esta firma es una firma *ad hoc* - sólo funcionará en *tu* máquina; si quieres distribuir la aplicación a otros, necesitarás proporcionar una firma completa." - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -#, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Una vez completado este paso, la carpeta `build` contendrá una carpeta `helloworld-0.0.1` que contiene una réplica de un sistema de archivos Linux `/usr`. Esta réplica del sistema de archivos contendrá una carpeta `bin` con un binario `helloworld`, además de las carpetas `lib` y `share` necesarias para soportar el binario." - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -#, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "En Windows, el comando `build` no necesita *compilar* nada, pero sí escribir algunos metadatos para que la aplicación sepa su nombre, versión, etc." - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Activación del antivirus" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -#, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Dado que estos metadatos se escriben directamente en el binario precompilado que se despliega desde la plantilla durante el comando `create`, esto puede activar el software antivirus que se ejecuta en su máquina e impedir que se escriban los metadatos. En ese caso, indique al antivirus que permita la ejecución de la herramienta (llamada `rcedit-x64.exe`) y vuelva a ejecutar el comando anterior." - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -#, fuzzy -msgid "Running your app" -msgstr "Ejecutar la aplicación" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -#, fuzzy -msgid "You can now use Briefcase to run your application:" -msgstr "Ahora puede utilizar Briefcase para ejecutar su aplicación:" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -#, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Esto iniciará la ejecución de su aplicación nativa, utilizando la salida del comando `build`." - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -#, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Es posible que notes algunas pequeñas diferencias en el aspecto de tu aplicación cuando se está ejecutando. Por ejemplo, los iconos y el nombre mostrados por el sistema operativo pueden ser ligeramente diferentes a los que veías cuando se ejecutaba en modo desarrollador. Esto también se debe a que estás utilizando la aplicación empaquetada, no sólo ejecutando código Python. Desde la perspectiva del sistema operativo, ahora estás ejecutando \"una aplicación\", no \"un programa Python\", y esto se refleja en cómo aparece la aplicación." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -#, fuzzy -msgid "Building your installer" -msgstr "Creación del instalador" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -#, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Ahora puedes empaquetar tu aplicación para su distribución, utilizando el comando `package`. El comando `package` realiza cualquier compilación necesaria para convertir el proyecto en un producto final y distribuible. Dependiendo de la plataforma, esto puede implicar compilar un instalador, realizar la firma de código, o hacer otras tareas previas a la distribución." - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -#, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "La carpeta `dist` contendrá un archivo llamado `Hello World-0.0.1.dmg`. Si localizas este archivo en el Finder y haces doble clic en su icono, montarás el DMG, lo que te proporcionará una copia de la aplicación Hello World y un enlace a tu carpeta Aplicaciones para facilitar la instalación. Arrastra el archivo de la aplicación a Aplicaciones, y habrás instalado tu aplicación. Envía el archivo DMG a un amigo y podrá hacer lo mismo." - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -#, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -#, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "La salida del paso paquete será ligeramente diferente dependiendo de su distribución de Linux. Si estás en una distribución derivada de Debian, verás:" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -#, fuzzy -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "La carpeta `dist` contendrá el archivo `.deb` generado." - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -#, fuzzy -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "Si estás en una distribución basada en RHEL, lo verás:" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -#, fuzzy -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "La carpeta `dist` contendrá el archivo `.rpm` generado." - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -#, fuzzy -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "Si estás en una distribución basada en Arch, lo verás:" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -#, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "La carpeta `dist` contendrá el archivo `.pkg.tar.zst` generado." - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -#, fuzzy -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Actualmente no es posible empaquetar otras distribuciones de Linux." - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -#, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Si desea crear un paquete para una distribución de Linux distinta de la que está utilizando, Briefcase también puede ayudarle, pero tendrá que instalar Docker." - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -#, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Existen instaladores oficiales de [Docker Engine]{1} para diversas distribuciones de Unix. Siga las instrucciones para su plataforma; sin embargo, asegúrese de no instalar Docker en modo \"sin raíz\"." - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -#, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Una vez que hayas instalado Docker, deberías ser capaz de iniciar un contenedor Linux - por ejemplo:" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -#, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "te mostrará un prompt Unix (algo como `root@84444e31cff9:/#`) dentro de un contenedor Docker Ubuntu 22.04. Escribe Ctrl-D para salir de Docker y volver a tu shell local." - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -#, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Una vez que tengas Docker instalado, puedes usar Briefcase para construir un paquete para cualquier distribución de Linux que soporte Briefcase pasando una imagen Docker como argumento. Por ejemplo, para construir un paquete DEB para Ubuntu 22.04 (Jammy), independientemente del sistema operativo en el que se encuentre, puede ejecutar:" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -#, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Esto descargará la imagen Docker para el sistema operativo seleccionado, creará un contenedor capaz de ejecutar las compilaciones de Briefcase y compilará el paquete de la aplicación dentro de la imagen. Una vez completado, la carpeta `dist` contendrá el paquete para la distribución Linux de destino." - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -#, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -#, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Una vez completado este paso, la carpeta `dist` contendrá un archivo llamado `Hello_World-0.0.1.msi`. Si haces doble clic en este instalador para ejecutarlo, deberías seguir el proceso de instalación de Windows que ya conoces. Una vez finalizada la instalación, aparecerá una entrada \"Hello World\" en el menú de inicio." - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio. Pero, ¿qué ocurre cuando necesitamos actualizar el código de nuestra aplicación? ¿Cómo introducimos esas actualizaciones en nuestra aplicación empaquetada? Visita [Tutorial 4][./tutorial-4] para averiguarlo..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index 3079d068..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,172 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2024-01-18 12:00+0000\n" -"Last-Translator: Kamborio \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "Tutorial 4 - Actualización de la aplicación" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -#, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "En el último tutorial, empaquetamos nuestra aplicación como una aplicación nativa. Si estás tratando con una aplicación del mundo real, eso no va a ser el final de la historia - es probable que hagas algunas pruebas, descubras problemas, y necesites hacer algunos cambios. Incluso si tu aplicación es perfecta, con el tiempo querrás publicar la versión 2 de tu aplicación con mejoras." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -#, fuzzy -msgid "So - how do you update your installed app when you make code changes?" -msgstr "¿Cómo se actualiza la aplicación instalada cuando se realizan cambios en el código?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -#, fuzzy -msgid "Updating application code" -msgstr "Actualización del código de la aplicación" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -#, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Actualmente, nuestra aplicación imprime en la consola cuando se pulsa el botón. Sin embargo, las aplicaciones GUI no deberían usar la consola para la salida. Necesitan usar diálogos para comunicarse con los usuarios." - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -#, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Vamos a añadir un cuadro de diálogo para decir hola, en lugar de escribir en la consola. Modifica el callback `say_hello` para que se vea así:" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -#, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Esto indica a Toga que abra un cuadro de diálogo modal cuando se pulse el botón." - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -#, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Si ejecutas `briefcase dev`, introduces un nombre y pulsas el botón, verás el nuevo cuadro de diálogo:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hello World Tutorial 4 diálogo, en macOS" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Diálogo Hello World Tutorial 4, en Linux" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Diálogo Hello World Tutorial 4, en Windows" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -#, fuzzy -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Sin embargo, si ejecutas `briefcase run`, el cuadro de diálogo no aparecerá." - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "¿Por qué? Bueno, `briefcase dev` opera ejecutando tu código en su lugar - intenta producir un entorno de ejecución lo más realista posible para tu código, pero no proporciona ni utiliza ninguna de las infraestructuras de la plataforma para empaquetar tu código como una aplicación. Parte del proceso de empaquetar tu aplicación implica copiar tu código *dentro* del paquete de la aplicación - y por el momento, tu aplicación todavía tiene el código antiguo en ella." - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -#, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Así que - necesitamos decirle a briefcase que actualice tu aplicación, copiando la nueva versión del código. Podríamos *hacerlo* borrando el antiguo directorio de la plataforma y empezando desde cero. Sin embargo, Briefcase proporciona una manera más fácil - usted puede actualizar el código de su aplicación empaquetada existente:" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -#, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Si Briefcase no puede encontrar la plantilla de andamiaje, invocará automáticamente `create` para generar un andamiaje nuevo." - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -#, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Ahora que hemos actualizado el código del instalador, podemos ejecutar `briefcase build` para volver a compilar la aplicación, `briefcase run` para ejecutar la aplicación actualizada, y `briefcase package` para volver a empaquetar la aplicación para su distribución." - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -#, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(usuarios de macOS, recordad que como se indica en [Tutorial 3][tutorial-3], para el tutorial recomendamos ejecutar `briefcase package` con la bandera `--adhoc-sign` para evitar la complejidad de configurar una identidad de firma de código y mantener el tutorial lo más simple posible)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -#, fuzzy -msgid "Update and run in one step" -msgstr "Actualizar y ejecutar en un solo paso" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -#, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Si estás iterando rápidamente cambios en el código, es probable que quieras hacer un cambio en el código, actualizar la aplicación, y volver a ejecutar inmediatamente tu aplicación. Para la mayoría de los propósitos, el modo desarrollador (`briefcase dev`) será la forma más fácil de hacer este tipo de iteración rápida; sin embargo, si estás probando algo sobre cómo se ejecuta tu aplicación como un binario nativo, o buscando un error que sólo se manifiesta cuando tu aplicación está empaquetada, puede que necesites usar repetidas llamadas a `briefcase run`. Para simplificar el proceso de actualización y ejecución de la aplicación empaquetada, Briefcase tiene un atajo para soportar este patrón de uso - la opción `-u` (o `--update`) en el comando `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -#, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Intentemos hacer otro cambio. Usted puede haber notado que si no escribe un nombre en el cuadro de entrada de texto, el cuadro de diálogo dirá \"Hola, \". Vamos a modificar la función `say_hello` de nuevo para manejar este caso extremo." - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -#, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "En la parte superior del fichero, entre las importaciones y la definición de la `clase HelloWorld`, añade un método de utilidad para generar un saludo apropiado dependiendo del valor del nombre que se haya proporcionado:" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -#, fuzzy -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "A continuación, modifica la llamada de retorno `say_hello` para utilizar este nuevo método de utilidad:" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -#, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Ejecuta tu aplicación en modo desarrollo (con `briefcase dev`) para confirmar que la nueva lógica funciona; después actualiza, compila y ejecuta la aplicación con un solo comando:" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -#, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "El comando package también acepta el argumento `-u`, de modo que si realizas un cambio en el código de tu aplicación y quieres volver a empaquetarlo inmediatamente, puedes ejecutar `briefcase package -u`." - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Ahora tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio, y hemos podido actualizar el código de nuestra aplicación." - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Pero, ¿qué pasa con los móviles? En [Tutorial 5][tutorial-5/index], convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index d18e5377..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,214 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-08-28 16:09+0000\n" -"Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutorial 5 - Movilidad: Android" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Ahora, vamos a tomar nuestra aplicación, y desplegarla como una aplicación Android." - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "El proceso de despliegue de una aplicación en Android es muy similar al proceso de despliegue como aplicación de escritorio. Briefcase se encarga de instalar las dependencias para Android, incluyendo el SDK de Android, el emulador de Android y un compilador de Java." - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -msgid "Create an Android app and compile it" -msgstr "Crear una aplicación Android y compilarla" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Primero, ejecuta el comando `create`. Esto descarga una plantilla de aplicación Android y le añade tu código Python." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Cuando ejecutas `briefcase create android` por primera vez, Briefcase descarga un JDK de Java, y el SDK de Android. El tamaño de los archivos y el tiempo de descarga pueden ser considerables; esto puede llevar un tiempo (10 minutos o más, dependiendo de la velocidad de tu conexión a Internet). Una vez finalizada la descarga, se le pedirá que acepte la licencia del SDK de Android de Google." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Una vez completado esto, tendremos un directorio `build\\helloworld\\android\\gradle` en nuestro proyecto, que contendrá un proyecto Android con una configuración de construcción Gradle. Este proyecto contendrá el código de la aplicación, y un paquete de soporte que contiene el intérprete de Python." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "A continuación, podemos utilizar el comando `build` de Briefcase para compilar esto en un archivo de aplicación Android APK." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -msgid "Gradle may look stuck" -msgstr "Gradle puede parecer atascado" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante el paso `briefcase build android`, Gradle (la herramienta de compilación de la plataforma Android) imprimirá `CONFIGURING: 100%`, y parecerá que no está haciendo nada. No te preocupes, no está atascado - está descargando más componentes del SDK de Android. Dependiendo de la velocidad de su conexión a Internet, esto puede tardar otros 10 minutos (o más). Este retraso sólo debería ocurrir la primera vez que ejecutes `build`; las herramientas se almacenan en caché, y en tu próxima compilación, se utilizarán las versiones almacenadas en caché." - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -msgid "Run the app on a virtual device" -msgstr "Ejecutar la aplicación en un dispositivo virtual" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Ahora estamos listos para ejecutar nuestra aplicación. Puedes utilizar el comando `run` de Briefcase para ejecutar la aplicación en un dispositivo Android. Empecemos ejecutando en un emulador de Android." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Para ejecutar tu aplicación, ejecuta `briefcase run android`. Al hacerlo, se te pedirá una lista de dispositivos en los que podrías ejecutar la aplicación. El último elemento será siempre una opción para crear un nuevo emulador de Android." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Ahora podemos elegir el dispositivo deseado. Selecciona la opción \"Crear un nuevo emulador de Android\", y acepta la opción por defecto para el nombre del dispositivo (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` arrancará automáticamente el dispositivo virtual. Cuando el dispositivo esté arrancando, verás el logo de Android:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -msgid "Android virtual device booting" -msgstr "Arranque del dispositivo virtual Android" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Una vez que el dispositivo haya terminado de arrancar, Briefcase instalará tu aplicación en el dispositivo. Verás brevemente una pantalla de inicio:" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Dispositivo virtual Android totalmente iniciado, en la pantalla del lanzador" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "La aplicación se iniciará. Verás una pantalla de bienvenida mientras se inicia la aplicación:" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -msgid "App splash screen" -msgstr "Pantalla de inicio de la aplicación" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -msgid "The emulator didn't start!" -msgstr "¡El emulador no arranca!" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "El emulador de Android es un software complejo que depende de una serie de características del hardware y del sistema operativo, características que pueden no estar disponibles o habilitadas en máquinas más antiguas. Si tiene dificultades para iniciar el emulador de Android, consulte la sección [Requerimientos y recomendaciones]{1} de la documentación para desarrolladores de Android." - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "La primera vez que se inicia la aplicación, tiene que desempaquetarse en el dispositivo. Esto puede tardar unos segundos. Una vez desempaquetada, verás la versión para Android de nuestra aplicación de escritorio:" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -msgid "App from Tutorial 2, fully launched" -msgstr "Aplicación del Tutorial 2, totalmente lanzada" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -msgid "Demo app fully launched" -msgstr "Lanzamiento completo de la aplicación de demostración" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Si no ves que tu aplicación se inicia, es posible que tengas que comprobar el terminal donde ejecutaste `briefcase run` y buscar cualquier mensaje de error." - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "En el futuro, si deseas ejecutar en este dispositivo sin usar el menú, puedes proporcionar el nombre del emulador a Briefcase, usando `briefcase run android -d \"@beePhone\"` para ejecutar en el dispositivo virtual directamente." - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -msgid "Run the app on a physical device" -msgstr "Ejecutar la aplicación en un dispositivo físico" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Si tienes un teléfono o tableta Android físicos, puedes conectarlos a tu ordenador con un cable USB y, a continuación, utilizar el Maletín para apuntar a tu dispositivo físico." - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android requiere que prepares tu dispositivo antes de que pueda ser utilizado para el desarrollo. Tendrás que realizar 2 cambios en las opciones de tu dispositivo:" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -msgid "Enable developer options" -msgstr "Activar opciones de desarrollador" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -msgid "Enable USB debugging" -msgstr "Activar la depuración USB" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Los detalles sobre cómo realizar estos cambios se pueden encontrar [en la documentación para desarrolladores de Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Una vez completados estos pasos, tu dispositivo debería aparecer en la lista de dispositivos disponibles cuando ejecutes `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Aquí podemos ver un nuevo dispositivo físico con su número de serie en la lista de despliegue - en este caso, un Pixel 3a. En el futuro, si desea ejecutar en este dispositivo sin utilizar el menú, puede proporcionar el número de serie del teléfono a Briefcase (en este caso, `briefcase run android -d 94ZZY0LNE8`). Esto se ejecutará en el dispositivo directamente, sin preguntar." - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -msgid "My device doesn't appear!" -msgstr "¡Mi dispositivo no aparece!" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Si tu dispositivo no aparece en esta lista, significa que no has activado la depuración USB (o que el dispositivo no está conectado)." - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Si su dispositivo aparece, pero aparece como \"Dispositivo desconocido (no autorizado para el desarrollo)\", el modo de desarrollador no se ha habilitado correctamente. Vuelve a ejecutar [los pasos para habilitar las opciones de desarrollador]{1}, y vuelve a ejecutar `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index f74a6122..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,81 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-01-17 02:36+0000\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutorial 5 - Para móviles: iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -#, fuzzy -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "Para compilar aplicaciones para iOS, necesitamos Xcode, que se encuentra disponible de forma gratuita en la [App Store de macOS]{1}. Una vez que Xcode esté instalado, ábrelo desde la carpeta Aplicaciones y acepta el Acuerdo de Licencia de Xcode. A continuación, Xcode mostrará los entornos de simulador que ya vienen integrados y aquellos que puedes descargar. Marca la casilla junto al entorno del simulador de iOS y luego haz clic en \"Continuar\" para descargarlo e instalarlo." - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -#, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Una vez que tengamos Xcode instalado, podemos tomar nuestra aplicación e implementarla como una aplicación de iOS." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "El proceso de implementación de una aplicación en iOS es muy similar al proceso de implementación como aplicación de escritorio. Primero, ejecuta el comando `create`, pero esta vez especificamos que queremos crear una aplicación para iOS:" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Una vez que esto se complete, tendremos un directorio `build/helloworld/ios/xcode` que contiene un proyecto Xcode, así como las bibliotecas de soporte y el código de aplicación necesario para la aplicación." - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Luego puedes usar Briefcase para compilar tu aplicación usando `briefcase build iOS` (compilar para iOS con Briefcase):" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Ya estamos listos para ejecutar nuestra aplicación, utilizando `briefcase run iOS` (ejecutar iOS con Briefcase). Se te pedirá que selecciones un dispositivo para el cual puedes compilar; si tienes instalados simuladores para varias versiones del SDK de iOS, puede que también se te pregunte a qué versión de iOS quieres apuntar. Las opciones que se le muestren pueden diferir de las que se muestran en esta salida; como mínimo, es probable que la lista de dispositivos sea diferente. Para fines prácticos, no importa qué simulador se elija." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Esto iniciará el simulador de iOS, instalará tu aplicación y la iniciará. Vas a observar cómo se inicia el simulador y cómo se abre tu aplicación iOS:" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Ventana del Tutorial 5 de Hello World, en iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a Briefcase que utilice ese simulador proporcionando una opción `-d` (o `--device`). Utilizando el nombre del dispositivo que seleccionaste cuando creaste tu aplicación, ejecuta:" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Si tienes varias versiones de iOS disponibles, Briefcase elegirá la versión de iOS más alta; si quieres elegir una versión de iOS en particular, dile que utilice esa versión específica:" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -msgid "Or, you can name a specific device UDID:" -msgstr "O bien, puede nombrar un UDID de dispositivo específico:" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en [la App Store de macOS]{1}." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index 6293975e..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,46 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2024-01-18 18:00+0000\n" -"Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutorial 5 - Móviles" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Hasta ahora, hemos estado ejecutando y probando nuestra aplicación en el escritorio. Sin embargo, BeeWare también es compatible con plataformas móviles, ¡y la aplicación que hemos escrito también puede desplegarse en tu dispositivo móvil!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "Las aplicaciones de iOS solo pueden compilarse en macOS." - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Las aplicaciones Android pueden compilarse en macOS, Windows o Linux." - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[¡Creemos nuestra aplicación para iOS!][iOS]" - -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[¡Creemos nuestra aplicación para Android!][android]" - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index 9b2bac86..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,102 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" -"PO-Revision-Date: 2024-01-18 12:00+0000\n" -"Last-Translator: Kamborio \n" -"Language-Team: Spanish \n" -"Language: es\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" -"X-Generator: Weblate 5.4-dev\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -#, fuzzy -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - ¡Ponlo en la web!" - -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -#, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Además de ser compatible con plataformas móviles, el conjunto de herramientas de widgets Toga también es compatible con la web Utilizando la misma API que usaste para desplegar tus aplicaciones de escritorio y móviles, puedes desplegar tu aplicación como una aplicación web de una sola página." - -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -#, fuzzy -msgid "Proof of Concept" -msgstr "Prueba de concepto" - -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -#, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "El backend Toga Web es el menos maduro de todos los backends Toga. Es lo suficientemente maduro como para mostrar algunas características, pero es probable que tenga errores, y le faltarán muchos de los widgets que están disponibles en otras plataformas. En este momento, el despliegue Web debe considerarse una \"Prueba de Concepto\" - suficiente para demostrar lo que se puede hacer, pero no lo suficiente como para confiar en él para un desarrollo serio." - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -#, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Si tiene problemas con este paso del tutorial, puede pasar a la página siguiente." - -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be -#, fuzzy -msgid "Deploying as a web app" -msgstr "Despliegue como aplicación web" - -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -#, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "El proceso de despliegue de una aplicación web de una sola página sigue el mismo patrón familiar: se crea la aplicación, se compila y se ejecuta. Sin embargo, Briefcase puede ser un poco inteligente; si intentas ejecutar una aplicación, y Briefcase determina que no ha sido creada o construida para la plataforma a la que se dirige, realizará los pasos de creación y construcción por ti. Dado que esta es la primera vez que ejecutamos la aplicación para la web, podemos realizar los tres pasos con un solo comando:" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Esto abrirá un navegador web, apuntando a [http://127.0.0.1:8080](http://127.0.0.1:8080):" - -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Diálogo Hello World Tutorial 6, en un navegador" - -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 -#, fuzzy -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Si introduce su nombre y pulsa el botón, aparecerá un cuadro de diálogo." - -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf -#, fuzzy -msgid "How does this work?" -msgstr "¿Como funciona esto?" - -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -#, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Esta aplicación web es un sitio web estático - una única página fuente HTML, con algunos CSS y otros recursos. Briefcase ha iniciado un servidor web local para servir esta página y que tu navegador pueda verla. Si quisieras poner esta página web en producción, podrías copiar el contenido de la carpeta `www` en cualquier servidor web que pueda servir contenido estático." - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -#, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Pero cuando pulsas el botón, estás ejecutando código Python... ¿cómo funciona eso? Toga utiliza [PyScript]{1} para proporcionar un intérprete de Python en el navegador. Briefcase empaqueta el código de tu aplicación como ruedas que PyScript puede cargar en el navegador. Cuando se carga la página, el código de la aplicación se ejecuta en el navegador, construyendo la interfaz de usuario utilizando el DOM del navegador. Cuando pulsas un botón, ese botón ejecuta el código de gestión de eventos en el navegador." - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -#, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, dispositivos móviles y la web, la aplicación es bastante sencilla y no incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7][tutorial-7] para averiguarlo..." diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index 723a9e04..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,374 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2025-06-12 02:04+0000\n" -"Last-Translator: Adolfo Jayme Barrientos \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutorial 7 - Poner en marcha esta (tercera)fiesta" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -#, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Hasta ahora, la aplicación que hemos construido sólo ha utilizado nuestro propio código, además del código proporcionado por BeeWare. Sin embargo, en una aplicación del mundo real, es probable que desees utilizar una biblioteca de terceros, descargada del Python Package Index (PyPI)." - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -#, fuzzy -msgid "Let's modify our app to include a third-party library." -msgstr "Vamos a modificar nuestra aplicación para incluir una biblioteca de terceros." - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -#, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Vamos a añadir una llamada a la API `httpx` a nuestra aplicación. Añade un import al principio de `app.py` para importar `httpx`:" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Luego modifica el callback `say_hello()` para que se vea así:" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -#, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Vamos a ejecutar nuestra aplicación actualizada en el modo de desarrollador de Briefcase para comprobar que nuestro cambio ha funcionado." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "¿Qué ha pasado? Hemos añadido `httpx` a nuestro *código*, pero no lo hemos añadido a nuestro entorno virtual de desarrollo. Podemos solucionarlo instalando `httpx` con `pip`, y volviendo a ejecutar `briefcase dev`:" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Cuando introduzcas un nombre y pulses el botón, deberías ver un cuadro de diálogo parecido a:" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hello World Tutorial 7 diálogo, en macOS" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Diálogo Hello World Tutorial 7, en Linux" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Diálogo Hello World Tutorial 7, en Windows" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -#, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Ya tenemos una aplicación que funciona, que utiliza una biblioteca de terceros y que se ejecuta en modo de desarrollo" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -#, fuzzy -msgid "Running the updated app" -msgstr "Ejecutar la aplicación actualizada" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Vamos a empaquetar este código de aplicación actualizado como una aplicación independiente. Como hemos hecho cambios en el código, tenemos que seguir los mismos pasos que en [Tutorial 4][tutorial-4]:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "Actualice el código en la aplicación empaquetada:" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "Reconstruye la aplicación:" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -msgid "And finally, run the app:" -msgstr "Y, por último, ejecute la aplicación:" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola y un cuadro de diálogo de bloqueo:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Fallo de la aplicación Hello World Tutorial 7, en macOS" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Fallo de la aplicación Hello World Tutorial 7, en Windows" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Una vez más, la aplicación no ha podido iniciarse porque `httpx` ha sido instalado - pero ¿por qué? ¿No hemos instalado ya `httpx`?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Sí, pero sólo en el entorno de desarrollo. Tu entorno de desarrollo es totalmente local a tu máquina - y sólo se activa cuando lo activas explícitamente. Aunque Briefcase tiene un modo de desarrollo, la principal razón por la que utilizarías Briefcase es para empaquetar tu código y poder dárselo a otra persona." - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "La única forma de garantizar que alguien más tenga un entorno Python que contenga todo lo que necesita es construir un entorno Python completamente aislado. Esto significa que hay una instalación de Python completamente aislada, y un conjunto de dependencias completamente aislado. Esto es lo que Briefcase construye cuando ejecutas `briefcase build` - un entorno Python aislado. Esto también explica por qué `httpx` no está instalado - ha sido instalado en tu entorno de *desarrollo*, pero no en la aplicación empaquetada." - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Por lo tanto, tenemos que decirle a Briefcase que nuestra aplicación tiene una dependencia externa." - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "Actualización de las dependencias" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "En el directorio raíz de tu aplicación, hay un archivo llamado `pyproject.toml`. Este archivo contiene todos los detalles de configuración de la aplicación que proporcionaste cuando ejecutaste `briefcase new`." - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` está dividido en secciones; una de las secciones describe la configuración de tu aplicación:" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "La opción `requires` describe las dependencias de nuestra aplicación. Es una lista de cadenas, especificando librerías (y, opcionalmente, versiones) de librerías que quieres que se incluyan con tu app." - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "Modifique la configuración `requires` para que diga:" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Al añadir esta opción, le estamos diciendo a Briefcase \"cuando compiles mi aplicación, ejecuta `pip install httpx` en el paquete de la aplicación\". Cualquier cosa que sea una entrada legal para `pip install` se puede utilizar aquí - por lo que podría especificar:" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Una versión específica de la biblioteca (por ejemplo, `\"httpx==0.19.0\"`);" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Un rango de versiones de la biblioteca (por ejemplo, `\"httpx>=0.19\"`);" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Una ruta a un repositorio git (por ejemplo, `\"git+https://github.com/encode/httpx\"`); o bien" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -#, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Una ruta de archivo local (No obstante, ten cuidado: si entregas tu código a otra persona, es probable que esta ruta no exista en su máquina)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Más abajo en `pyproject.toml`, verás otras secciones que dependen del sistema operativo, como `[tool.briefcase.app.helloworld.macOS]` y `[tool.briefcase.app.helloworld.windows]`. Estas secciones también tienen una configuración `requires`. Estas opciones te permiten definir dependencias adicionales específicas de la plataforma; así, por ejemplo, si necesitas una biblioteca específica de la plataforma para manejar algún aspecto de tu aplicación, puedes especificar esa biblioteca en la sección `requires` específica de la plataforma, y esa opción sólo se utilizará para esa plataforma. Notarás que las librerías `toga` están todas especificadas en la sección `requires` específica de la plataforma - esto es porque las librerías necesarias para mostrar una interfaz de usuario son específicas de la plataforma." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "En nuestro caso, queremos que `httpx` se instale en todas las plataformas, por lo que utilizamos el parámetro `requires` a nivel de aplicación. Las dependencias a nivel de aplicación siempre se instalarán; las dependencias específicas de la plataforma se instalan *además* de las dependencias a nivel de aplicación." - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Ahora que hemos informado a Briefcase sobre nuestros requisitos adicionales, podemos intentar empaquetar nuestra aplicación de nuevo. Asegúrate de que has guardado los cambios en `pyproject.toml`, y luego actualiza tu aplicación de nuevo - esta vez, introduciendo la bandera `-r`. Esto le dice a Briefcase que actualice los requisitos en la aplicación empaquetada:" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Una vez que haya actualizado, puede ejecutar `briefcase build` y `briefcase run` - y usted debe ver su aplicación empaquetada, con el nuevo comportamiento de diálogo." - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "La opción `-r` para actualizar los requisitos también es respetada por los comandos `build` y `run`, así que si quieres actualizar, construir y ejecutar en un solo paso, puedes usar `briefcase run -u -r`." - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "En plataformas de escritorio (macOS, Windows, Linux), se puede añadir cualquier `pip`-instalable a sus requisitos. En plataformas móviles y web, [las opciones son ligeramente limitadas]{1}." - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -#, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare puede proporcionar binarios para algunos módulos binarios populares (incluyendo `numpy`, `pandas`, y `cryptography`). Es *normalmente* posible compilar paquetes para plataformas móviles, pero no es fácil de configurar - fuera del alcance de un tutorial introductorio como éste." - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "Acceso a una API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Una tarea común que una aplicación necesitará realizar es hacer una petición a una API web para recuperar datos, y mostrar esos datos al usuario. Esta es una aplicación de juguete, así que no tenemos una API *real* con la que trabajar, así que usaremos la [{JSON} Placeholder API]{1} como fuente de datos." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "El {JSON} Placeholder API tiene una serie de \"falsos\" puntos finales de la API que puede utilizar como datos de prueba. Una de esas API es el punto final `/posts/`, que devuelve entradas de blog falsas. Si abre `https://jsonplaceholder.typicode.com/posts/42` en su navegador, obtendrá una carga útil JSON que describe una única entrada: algo de contenido [Lorum ipsum]{1} para una entrada de blog con ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "La biblioteca estándar de Python contiene todas las herramientas necesarias para acceder a una API. Sin embargo, las API incorporadas son de muy bajo nivel. Son buenas implementaciones del protocolo HTTP, pero requieren que el usuario gestione muchos detalles de bajo nivel, como la redirección de URL, las sesiones, la autenticación y la codificación de la carga útil. Como \"usuario normal de navegador\" probablemente estés acostumbrado a dar por sentado estos detalles, ya que un navegador gestiona estos detalles por ti." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Como resultado, la gente ha desarrollado bibliotecas de terceros que envuelven las APIs integradas y proporcionan una API más simple que se acerca más a la experiencia cotidiana del navegador. Vamos a utilizar una de esas bibliotecas para acceder a la API {JSON} Placeholder - una biblioteca llamada [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Esto cambiará la llamada de retorno `say_hello()` para que cuando sea invocada, lo haga:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "realice una solicitud GET en la API de marcador de posición JSON para obtener el puesto 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "decodificar la respuesta como JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "extraer el cuerpo del mensaje; y" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "incluir el cuerpo de ese mensaje como texto del diálogo." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Algunos paquetes binarios pueden no estar disponibles" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "En resumen; cualquier paquete *puro* de Python (es decir, paquetes que *no* contienen un módulo binario) puede ser utilizado sin dificultad. Sin embargo, si su dependencia contiene un componente binario, debe ser compilado; en este momento, la mayoría de los paquetes de Python no proporcionan soporte de compilación para plataformas que no sean de escritorio." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita [Tutorial 8][tutorial-8] para averiguarlo..." - diff --git a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index 635bb42b..00000000 --- a/updated-locales/es/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,368 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2025-06-12 02:04+0000\n" -"Last-Translator: Adolfo Jayme Barrientos \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutorial 8 - Suavizar" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -#, fuzzy -msgid "iOS" -msgstr "Windows" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A menos que tengas una conexión a Internet *realmente* rápida, puede que notes que cuando pulsas el botón, la GUI de tu aplicación se bloquea un poco. Esto se debe a que la petición web que hemos realizado es *síncrona*. Cuando nuestra aplicación realiza la petición web, espera a que la API devuelva una respuesta antes de continuar. Mientras espera, *no* permite a la aplicación redibujar - y como resultado, la aplicación se bloquea." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -#, fuzzy -msgid "GUI Event Loops" -msgstr "Bucles de eventos GUI" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -#, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Para entender por qué ocurre esto, tenemos que profundizar en los detalles del funcionamiento de una aplicación GUI. Los detalles varían en función de la plataforma, pero los conceptos de alto nivel son los mismos, independientemente de la plataforma o el entorno GUI que utilices." - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -#, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Una aplicación GUI es, fundamentalmente, un único bucle parecido a:" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Este bucle se llama *Bucle de Evento*. (Estos no son nombres de métodos reales - es una ilustración de lo que está pasando en \"pseudo-código\")." - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -#, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Cuando haces clic en un botón, arrastras una barra de desplazamiento o tecleas una tecla, estás generando un \"evento\". Ese \"evento\" se coloca en una cola, y la aplicación procesará la cola de eventos la próxima vez que tenga la oportunidad de hacerlo. El código de usuario que se activa en respuesta al evento se denomina *manejador de eventos*. Estos manejadores de eventos son invocados como parte de la llamada `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -#, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Una vez que una aplicación ha procesado todos los eventos disponibles, `redibujará()` la GUI. Esto tiene en cuenta cualquier cambio que los eventos hayan causado en la pantalla de la aplicación, así como cualquier otra cosa que esté ocurriendo en el sistema operativo - por ejemplo, las ventanas de otra aplicación pueden oscurecer o revelar parte de la ventana de nuestra aplicación, y el redibujado de nuestra aplicación tendrá que reflejar la parte de la ventana que es visible en ese momento." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -#, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "El detalle importante a tener en cuenta: mientras una aplicación está procesando un evento, *no puede redibujar*, y *no puede procesar otros eventos*." - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -#, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Esto significa que cualquier lógica de usuario contenida en un manejador de eventos necesita completarse rápidamente. Cualquier retraso en la finalización del manejador de eventos será observado por el usuario como una ralentización (o detención) en las actualizaciones de la interfaz gráfica de usuario. Si este retraso es lo suficientemente largo, tu sistema operativo puede reportarlo como un problema - los iconos \"beachball\" de macOS y \"spinner\" de Windows son el sistema operativo diciéndote que tu aplicación está tardando demasiado en un manejador de eventos." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -#, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Operaciones sencillas como \"actualizar una etiqueta\" o \"volver a calcular el total de las entradas\" son fáciles de completar rápidamente. Sin embargo, hay muchas operaciones que no pueden completarse rápidamente. Si realizas un cálculo matemático complejo, o indexas todos los archivos de un sistema de ficheros, o realizas una petición de red de gran tamaño, no puedes \"hacerlo rápido\": las operaciones son intrínsecamente lentas." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -#, fuzzy -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Entonces, ¿cómo realizar operaciones de larga duración en una aplicación GUI?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -#, fuzzy -msgid "Asynchronous programming" -msgstr "Programación asíncrona" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -#, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Lo que necesitamos es una manera de decirle a una aplicación en medio de un manejador de eventos de larga duración que está bien liberar temporalmente el control de nuevo al bucle de eventos, siempre y cuando podamos reanudar donde lo dejamos. Depende de la aplicación determinar cuándo puede ocurrir esta liberación; pero si la aplicación libera el control al bucle de eventos regularmente, podemos tener un manejador de eventos de larga duración *y* mantener una interfaz de usuario responsiva." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -#, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Podemos hacerlo utilizando *programación asíncrona*. La programación asíncrona es una forma de describir un programa que permite al intérprete ejecutar varias funciones al mismo tiempo, compartiendo recursos entre todas las funciones que se ejecutan simultáneamente." - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Las funciones asíncronas (conocidas como *corrutinas*) deben declararse explícitamente como asíncronas. También necesitan declarar internamente cuándo existe la oportunidad de cambiar el contexto a otra co-rutina." - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "En Python, la programación asíncrona se implementa utilizando las palabras clave `async` y `await`, y el módulo [asyncio]{1} de la biblioteca estándar. La palabra clave `async` nos permite declarar que una función es una co-rutina asíncrona. La palabra clave `await` proporciona una forma de declarar cuando existe la oportunidad de cambiar el contexto a otra co-rutina. El módulo [asyncio]{1} proporciona algunas otras herramientas útiles y primitivas para la codificación asíncrona." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "Hacer que el tutorial sea asíncrono" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -#, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "Sólo hay 4 cambios en este código con respecto a la versión anterior:" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -#, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "El cliente que se crea es un `AsyncClient()` asíncrono, en lugar de un `Client()` síncrono. Esto indica a `httpx` que debe operar en modo asíncrono, en lugar de síncrono." - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -#, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "El gestor de contexto utilizado para crear el cliente está marcado como `async`. Esto le indica a Python que existe la oportunidad de liberar el control a medida que se entra y se sale del gestor de contexto." - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga te permite utilizar métodos regulares o co-rutinas asíncronas como manejadores; Toga gestiona todo entre bastidores para asegurarse de que el manejador es invocado o esperado según sea necesario." - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Si guardas estos cambios y vuelves a ejecutar la aplicación (ya sea con `briefcase dev` en modo desarrollo, o actualizando y volviendo a ejecutar la aplicación empaquetada), no habrá ningún cambio obvio en la aplicación. Sin embargo, al hacer clic en el botón para activar el cuadro de diálogo, puede notar una serie de mejoras sutiles:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -#, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "El botón vuelve a un estado \"no pulsado\", en lugar de quedar atrapado en un estado \"pulsado\"." - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "El icono \"bola de playa\"/\"spinner\" no aparece" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -#, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Si mueves o cambias el tamaño de la ventana de la aplicación mientras esperas a que aparezca el cuadro de diálogo, la ventana volverá a dibujarse." - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -#, fuzzy -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Si intentas abrir el menú de una aplicación, el menú aparecerá inmediatamente." - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "Siguientes pasos" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "Esto ha sido una muestra de lo que puedes hacer con las herramientas proporcionadas por el proyecto BeeWare. En el transcurso de este tutorial, usted tiene:" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "Creado un nuevo proyecto de aplicación GUI;" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "Ejecuta esa aplicación en modo desarrollo;" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "Creé la aplicación como un binario independiente para un sistema operativo de escritorio;" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "Empaquetado de ese proyecto para su distribución a otros;" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "Ejecuta la aplicación en un simulador y/o dispositivo móvil;" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "Ejecute la aplicación como una aplicación web;" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "Has añadido una dependencia de terceros a tu aplicación; y" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "Modificado la aplicación para que siga respondiendo." - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "Entonces - ¿ahora qué?" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "Si quieres ir más allá, hay algunos tutoriales [Tutoriales adicionales][/tutorial/topics/index] que entran en detalle sobre aspectos específicos del desarrollo de aplicaciones." - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -#, fuzzy -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "Si quieres saber más sobre cómo construir interfaces de usuario complejas con Toga, puedes sumergirte en [la documentación de Toga]{1}. Toga también tiene su propio tutorial [demostrando cómo usar varias características del widget toolkit]{1}." - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -#, fuzzy -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse en [la documentación de Briefcase]{1}." - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Ahora tenemos una aplicación que es ágil y sensible, incluso cuando está esperando en una API lenta. Pero, ¿cómo podemos asegurarnos de que la aplicación sigue funcionando a medida que continuamos desarrollándola? ¿Cómo probamos nuestra aplicación? Visita [Tutorial 9][tutorial-9] para descubrirlo..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "El método se define como `async def`, en lugar de sólo `def`. Esto indica a Python que el método es una co-rutina asíncrona." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "La llamada `get` se hace con una palabra clave `await`. Esto indica a la aplicación que, mientras esperamos la respuesta de la red, puede ceder el control al bucle de eventos." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - diff --git a/updated-locales/fr/LC_MESSAGES/how-to/index.po b/updated-locales/fr/LC_MESSAGES/how-to/index.po deleted file mode 100644 index 7bb0d280..00000000 --- a/updated-locales/fr/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: fr\n" -"Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/fr/LC_MESSAGES/index.po b/updated-locales/fr/LC_MESSAGES/index.po deleted file mode 100644 index f6e98c68..00000000 --- a/updated-locales/fr/LC_MESSAGES/index.po +++ /dev/null @@ -1,101 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2025-05-22 02:01+0000\n" -"Last-Translator: Hēphaïstos \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Bienvenue dans le didacticiel BeeWare !" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -msgid "**Write Python. Run Anywhere.**" -msgstr "**Écrire en Python. Exécutez n'importe où.**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Bienvenue à BeeWare ! Dans ce tutoriel, nous allons construire une interface utilisateur graphique en utilisant Python, et la déployer en tant qu'application de bureau, application mobile et application web à page unique. Nous allons également voir comment vous pouvez utiliser les outils de BeeWare pour effectuer certaines tâches courantes pour les développeur d'applications, telles que tester votre application." - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Des traductions sont disponibles" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "Si vous n'êtes pas à l'aise en français, vous pouvez trouver des traductions de ce didacticiel en [English]{1}, [Deutsch]{1}, [Español]{1}, [Português]{1}, and [汉语]{1}." - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "Il s'agit d'une traduction automatique !" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Cette version du didacticiel a en partie été générée par une traduction automatique. Nous savons que ce n'est pas la solution idéale, mais nous avons estimé qu'une mauvaise traduction valait mieux que pas de traduction du tout." - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Si vous souhaitez nous aider à améliorer la traduction, n'hésitez pas à nous contacter ! Nous avons un canal `#translations` dans [Discord]{1} ; présentez-vous et nous vous ajouterons à l'équipe de traduction." - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "Il s'agit d'une traduction !" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Ce document est une traduction de la version anglaise. La traduction a été révisée par des humains, mais des sections plus récentes peuvent être générées par une traduction automatique, ou ne pas être traduites du tout." - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -msgid "What is BeeWare?" -msgstr "Qu'est-ce que BeeWare ?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare n'est pas un produit, un outil ou une bibliothèque unique - c'est une collection d'outils et de bibliothèques, chacun d'entre eux fonctionnant ensemble pour vous aider à écrire des applications Python multiplateformes avec une interface graphique native. Il comprend :" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, une boîte à outils de widgets multiplateforme ;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -#, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, un outil pour empaqueter les projets Python en tant qu'artefacts distribuables pouvant être envoyés aux utilisateurs finaux ;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -#, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Des bibliothèques (telles que [Rubicon ObjC]{1}) pour accéder aux bibliothèques natives des diverses plates-formes ;" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Des versions pré-compilées de Python pour les plateformes où les programmes d'installation officiels de Python ne sont pas disponibles." - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "Dans ce tutoriel, nous utiliserons tous ces outils, mais en tant qu'utilisateur, vous n'aurez besoin d'interagir qu'avec les deux premiers (Toga et Briefcase). Cependant, chacun de ces outils peut également être utilisé séparément. Par exemple, vous pouvez utiliser Briefcase pour déployer une application sans utiliser Toga comme boîte à outils GUI." - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "La suite BeeWare est disponible pour macOS, Windows, Linux (avec GTK) ; pour des plateformes mobiles telles qu'Android et iOS ; et pour le Web." - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "C'est parti !" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Prêt à essayer BeeWare par vous-même ? [Créons une application multiplateforme en Python !][tutorial/tutorial-0]" - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index 41797195..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,138 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: fr\n" -"Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index e04f6929..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,144 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2025-06-21 02:01+0000\n" -"Last-Translator: John \n" -"Language-Team: French \n" -"Language: fr\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" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -#, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Jusqu'à présent, notre application utilise l'icône par défaut \"abeille grise\". Comment mettre à jour l'application pour qu'elle utilise notre propre icône ?" - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -#, fuzzy -msgid "Adding an icon" -msgstr "Ajouter une icône" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**Bientôt disponible**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Nous avons maintenant une application avec une icône personnalisée sur notre bureau et notre téléphone ! Comment partager cette application avec tout le monde ? Consultez [Tutoriel 11][tutorial-11] pour le découvrir..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutoriel 10 - Créez votre propre application" - -#~ msgid "Next steps" -#~ msgstr "Étapes suivantes" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index fd77b17a..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: fr\n" -"Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "" - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "" - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index a17ee0c5..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,147 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Tutoriel 9 - Temps de test" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -#, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "La plupart des développements de logiciels n'impliquent pas l'écriture d'un nouveau code, mais la modification d'un code existant. S'assurer que le code existant continue à fonctionner comme nous l'attendons est une partie essentielle du processus de développement logiciel. Une façon de s'assurer du comportement de notre application est d'utiliser une *suite de tests*." - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -#, fuzzy -msgid "Running the test suite" -msgstr "Exécution de la suite de tests" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -#, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Il s'avère que notre projet possède déjà une suite de tests ! Lorsque nous avons généré notre projet à l'origine, deux répertoires de premier niveau ont été générés : `src` et `tests`. Le dossier `src` contient le code de notre application ; le dossier `tests` contient notre suite de tests. Dans le dossier `tests` se trouve un fichier nommé `test_app.py` avec le contenu suivant: :" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -#, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Ceci est un [Pytest]{1} *test case* - un bloc de code qui peut être exécuté pour vérifier un certain comportement de votre application. Dans ce cas, le test est un placeholder, et ne teste rien de notre application - mais c'est un test que nous pouvons effectuer." - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -#, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Nous pouvons lancer cette suite de tests en utilisant l'option `--test` de `briefcase dev`. Comme c'est la première fois que nous lançons des tests, nous devons également passer l'option `-r` pour nous assurer que les exigences de test sont également installées :" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -#, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Succès ! Nous venons d'exécuter un seul test qui vérifie que les mathématiques Python fonctionnent de la manière attendue (Quel soulagement !)." - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Remplaçons ce placeholder test par un test pour vérifier que notre méthode `greeting()` se comporte comme nous l'attendons. Remplacez le contenu de `test_app.py` par ce qui suit: :" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -#, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Ceci définit deux nouveaux tests, vérifiant les deux comportements que nous attendons : la sortie lorsqu'un nom est fourni, et la sortie lorsque le nom est vide." - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -#, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Nous pouvons maintenant réexécuter la suite de tests. Cette fois, nous n'avons pas besoin de fournir l'option `-r`, puisque les pré-requis pour les tests ont déjà été installés ; nous avons seulement besoin d'utiliser l'option `--test` :" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Excellent ! Notre méthode utilitaire `greeting()` fonctionne comme prévu." - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -#, fuzzy -msgid "Test driven development" -msgstr "Développement piloté par les tests" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Maintenant que nous disposons d'une suite de tests, nous pouvons l'utiliser pour développer de nouvelles fonctionnalités. Modifions notre application pour avoir un message d'accueil spécial pour un utilisateur particulier. Nous pouvons commencer par ajouter un scénario de test pour le nouveau comportement que nous aimerions voir au bas de `test_app.py`: :" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "Ensuite, exécutez la suite de tests avec ce nouveau test :" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Cette fois, nous voyons un échec du test - et la sortie explique la source de l'échec : le test attend la sortie \"BeeWare the IDEs of Python !\", mais notre implémentation de `greeting()` retourne \"Hello, Brutus\". Modifions l'implémentation de `greeting()` dans `src/helloworld/app.py` pour avoir le nouveau comportement: :" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Si nous exécutons à nouveau les tests, nous constatons qu'ils sont réussis :" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -#, fuzzy -msgid "Runtime tests" -msgstr "Tests d'exécution" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -#, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Jusqu'à présent, nous avons exécuté les tests en mode développement. C'est particulièrement utile lorsque vous développez de nouvelles fonctionnalités, car vous pouvez rapidement itérer sur l'ajout de tests et l'ajout de code pour faire passer ces tests. Cependant, à un moment donné, vous voudrez vérifier que votre code s'exécute correctement dans l'environnement de l'application groupée." - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Les options `--test` et `-r` peuvent également être passées à la commande `run`. Si vous utilisez `briefcase run --test -r`, la même suite de tests s'exécutera, mais elle s'exécutera dans le paquetage de l'application plutôt que dans votre environnement de développement :" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Comme pour `briefcase dev --test`, l'option `-r` n'est nécessaire que la première fois que vous exécutez la suite de tests pour vous assurer que les dépendances des tests sont présentes. Lors des exécutions suivantes, vous pouvez omettre cette option." - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Vous pouvez également utiliser l'option `--test` sur les backends mobiles : - ainsi `briefcase run iOS --test` et `briefcase run android --test` fonctionneront tous les deux, lançant la suite de tests sur l'appareil mobile que vous avez sélectionné." - -#~ msgid "Next steps" -#~ msgstr "Étapes suivantes" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index 122a3637..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,235 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutoriel 0 - Préparons-nous !" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Avant de créer notre première application BeeWare, nous devons nous assurer que nous disposons de tous les prérequis pour le fonctionnement de BeeWare." - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -msgid "Install Python" -msgstr "Installer Python" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "La première chose dont nous avons besoin est un interpréteur Python fonctionnel." - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -#, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -#, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Il existe de nombreuses façons d'installer Python. Vous pouvez installer Python via [homebrew]{1}. Vous pouvez utiliser [pyenv]{1} pour gérer plusieurs installations de Python sur la même machine. Les utilisateurs de Windows peuvent installer Python à partir du Windows App Store. Les utilisateurs ayant une formation en science des données pourraient préfèrer utiliser [Anaconda]{1} ou [Miniconda]{1}." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Si vous êtes sous Linux, vous installerez Python en utilisant le gestionnaire de paquets du système (`apt` sur Debian/Ubuntu/Mint, `dnf` sur Fedora, ou `pacman` sur Arch)." - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Vous devez vous assurer que le Python du système est Python 3.8 ou plus récent ; si ce n'est pas le cas (par exemple, Ubuntu 18.04 est livré avec Python 3.6), vous devrez mettre à jour votre distribution Linux vers quelque chose de plus récent." - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Si vous êtes sous macOS ou Windows, peu importe *comment* vous avez installé Python – ce qui compte c'est que vous puissiez lancer `python3` à partir de l'invite de commande/terminal de votre système d'exploitation, et obtenir un interpréteur Python fonctionnel." - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -msgid "Install dependencies" -msgstr "Installer les dépendances" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Ensuite, installez les dépendances supplémentaires nécessaires à votre système d'exploitation :" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -msgid "Building BeeWare apps on macOS requires:" -msgstr "La construction d'applications BeeWare sur macOS nécessite :" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Pour permettre le développement local, vous allez devoir installer certains paquets système. La liste des paquets requis varie en fonction de votre distribution :" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -#, fuzzy -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu 20.04+ / Debian 10+**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -#, fuzzy -msgid "**Arch / Manjaro**" -msgstr "**Arch, Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -msgid "Building BeeWare apps on Windows requires:" -msgstr "La création d'applications BeeWare sur Windows nécessite :" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, un système de contrôle de version. Vous pouvez télécharger Git à partir de [git-scm.com]{1}." - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Après avoir installé ces outils, assurez-vous de redémarrer toutes les sessions de terminal. Sous Windows, les nouveaux outils installés ne seront accessibles qu'aux terminaux démarrés *après* la fin de l'installation." - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -msgid "Set up a virtual environment" -msgstr "Mise en place d'un environnement virtuel" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Nous allons maintenant créer un environnement virtuel – un \"bac à sable\" (sandbox) que nous pouvons utiliser pour isoler notre travail sur ce tutoriel de notre installation Python principale. Si nous installons des paquets dans l'environnement virtuel, notre installation principale de Python (et tout autre projet Python sur notre ordinateur) ne sera pas affectée. Si nous provoquons un désordre complet dans notre environnement virtuel, nous pourrons simplement l'effacer et recommencer, sans affecter aucun autre projet Python sur notre ordinateur, et sans avoir besoin de réinstaller Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Erreurs lors de l'exécution de scripts PowerShell" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error:" -msgstr "Si vous utilisez PowerShell et que vous recevez l'erreur :" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Votre compte Windows n'a pas les autorisations nécessaires pour exécuter des scripts. Pour y remédier :" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "Exécutez `set-executionpolicy RemoteSigned`" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select `Y` to change the execution policy." -msgstr "Sélectionnez \"O\" pour modifier la politique d'exécution." - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Une fois que vous avez fait cela, vous pouvez exécuter à nouveau `beeware-venv\\Scripts\\activate.ps1` dans votre session PowerShell d'origine (ou dans une nouvelle session dans le même répertoire)." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Si cela a fonctionné, votre prompt devrait maintenant être modifié – il devrait avoir un préfixe `(beeware-venv)`. Cela vous permet de savoir que vous êtes actuellement dans votre environnement virtuel BeeWare. Chaque fois que vous travaillerez sur ce tutoriel, vous devrez vous assurer que votre environnement virtuel est activé. Si ce n'est pas le cas, relancez la dernière commande (la commande `activate`) pour réactiver votre environnement." - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Environnements virtuels alternatifs" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Si vous utilisez Anaconda ou miniconda, vous êtes peut-être plus familier avec l'utilisation des environnements conda. Vous avez peut-être aussi entendu parler de `virtualenv`, un prédécesseur du module intégré `venv` de Python. De même pour les installations de Python – si vous êtes sous macOS ou Windows, peu importe *comment* vous créez votre environnement virtuel, tant que vous en avez un. Si vous êtes sous Linux, vous devriez vous en tenir à `venv` et au Python du système." - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prêts à [créer notre première application BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Exécutez Windows PowerShell en tant qu'administrateur." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, un système de contrôle de version. Il est inclus dans Xcode ou dans les outils de développement en ligne de commande, que vous avez installés précédemment." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distributions alternatives de Python" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Si vous êtes sous Linux, vous devez utiliser le Python fourni par votre système d'exploitation. Vous pourrez réaliser *la majeure partie* de ce tutoriel en utilisant un Python non système, mais vous ne pourrez pas empaqueter votre application pour la distribuer à d'autres." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Si vous utilisez macOS, une version récente de Python est incluse dans Xcode ou dans les outils de développement en ligne de commande. Pour vérifier si vous l'avez déjà, exécutez la commande suivante :" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Si Python est installé, vous verrez son numéro de version. Sinon, vous serez invité à installer les outils de développement en ligne de commande." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index e586f217..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,191 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Charles Bousseau \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutoriel 1 - Votre première application" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -msgid "We're ready to create our first application." -msgstr "Nous sommes prêts à créer notre première application." - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -msgid "Install the BeeWare tools" -msgstr "Installer les outils BeeWare" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Tout d'abord, nous devons installer **Briefcase**. Briefcase est un outil BeeWare qui peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux – mais il peut également être utilisé pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire `beeware-tutorial` que vous avez créé lors du [Tutorial 0][tutorial-0], avec l'environnement virtuel `beeware-venv` activé, et exécutez :" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Erreurs possibles lors de l'installation" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Si vous rencontrez des erreurs pendant l'installation, c'est très certainement parce que certains des prérequis du système n'ont pas été installés. Assurez-vous d'avoir [installé tous les prérequis de la plateforme ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "Il est important que vous utilisiez `python -m pip`, plutôt qu'un simple `pip`. Briefcase doit s'assurer qu'il a une version à jour de `pip` et de `setuptools`, et une simple utilisation de `pip` ne peut pas se mettre à jour d'elle-même. Si vous voulez en savoir plus, [Brett Cannon a publié un billet de blog détaillé sur ce sujet]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -msgid "Bootstrap a new project" -msgstr "Créer un nouveau projet" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Commençons notre premier projet BeeWare ! Nous allons utiliser la commande `new` de Briefcase pour créer une application appelée **Hello World**. Exécutez la commande suivante à partir de votre invite de commande :" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase nous demandera quelques détails sur notre nouvelle application. Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Formal Name** (Nom formel) – Acceptez la valeur par défaut : `Hello World`." - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**App Name** (Nom de l'application) - Acceptez la valeur par défaut : `helloworld`." - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -#, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Si vous possédez votre propre domaine, entrez ce domaine en ordre inverse. (Par exemple, si vous possédez le domaine \"cupcakes.com\", entrez `com.cupcakes` comme bundle). Si vous ne possédez pas votre propre domaine, acceptez le bundle par défaut (`com.example`)." - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Project Name** (Nom du projet) - Acceptez la valeur par défaut : `Hello World`." - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -#, fuzzy -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Description** - Acceptez la valeur par défaut (ou, si vous voulez être vraiment créatif, trouvez votre propre description !)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -msgid "**Author** - Enter your own name here." -msgstr "** Author** (Auteur) - Entrez votre propre nom ici." - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -#, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Author's email** (adresse email) - Entrez votre propre adresse email. Elle sera utilisée dans le fichier de configuration, dans le texte d'aide, et partout où un email est requis lors de la soumission de l'application à un app store (magasin d'applications)." - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -#, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - L'URL de la page d'accueil de votre application. Encore une fois, si vous possédez votre propre domaine, entrez une URL sur ce domaine (y compris le `https://`). Sinon, acceptez l'URL par défaut (`https://example.com/helloworld`). Cette URL n'a pas besoin d'exister (pour l'instant) ; elle ne sera utilisée que si vous publiez votre application dans un magasin d'applications." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -#, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**License** (Licence) - Acceptez la licence par défaut (BSD). Cela n'affecte en rien le fonctionnement du tutoriel, donc si vous avez des opinions fortes à ce sujet, n'hésitez pas à en choisir une autre." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI framework** (framework d'interface utilisateur graphique) - Acceptez l'option par défaut, Toga (la boîte à outils GUI de BeeWare)." - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase va alors générer un squelette de projet que vous pourrez utiliser. Si vous avez suivi ce tutoriel jusqu'ici, et accepté les paramètres par défaut tels que décrits, votre système de fichiers devrait ressembler à quelque chose comme ceci :" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Ce squelette est en fait une application pleinement fonctionnelle, sans avoir rien à ajouter d'autre. Le dossier `src` contient tout le code de l'application, le dossier `tests` contient une suite de tests initiale, et le fichier `pyproject.toml` décrit comment empaqueter l'application pour la distribuer. Si vous ouvrez `pyproject.toml` dans un éditeur, vous verrez les détails de la configuration que vous venez de fournir à Briefcase." - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Maintenant que nous avons une ébauche d'application, nous pouvons utiliser Briefcase pour l'exécuter." - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -msgid "Run the app in developer mode" -msgstr "Exécuter l'application en mode développeur" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Entrez dans le répertoire du projet `helloworld` et faites démarrer le projet en mode développeur (ou `dev`) par briefcase :" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -msgid "This should open a GUI window:" -msgstr "Cela devrait ouvrir une fenêtre GUI :" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Fenêtre Tutoriel 1 Hello World, sur macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Fenêtre Tutoriel 1 Hello World, sous Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Fenêtre Tutoriel 1 Hello World, sur Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Appuyez sur le bouton de fermeture (ou sélectionnez Quitter dans le menu d'application), et c'est terminé ! Félicitations, vous venez d'écrire une application native et autonome en Python !" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mode développeur. Nous pouvons maintenant ajouter notre propre logique pour que notre application fasse quelque chose d'un peu plus intéressant. Dans [Tutoriel 2][tutorial-2], nous allons ajouter à notre application une interface utilisateur plus utile." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "L'un des outils de BeeWare est **Briefcase**. Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux, mais il peut également être utilisé pour démarrer un nouveau projet." - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index e700315c..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,262 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Charles Bousseau \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutoriel 2 - Rendre les choses intéressantes" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "Dans le [Tutoriel 1][tutorial-1], nous avons généré une ébauche de projet capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. Jetons un coup d'œil à ce qui a été généré pour nous." - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -msgid "What was generated" -msgstr "Ce qui a été généré" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "Dans le répertoire `src/helloworld`, vous devriez voir 3 fichiers : `__init__.py`, `__main__.py` et `app.py`." - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` marque le répertoire `helloworld` comme un module Python importable. C'est un fichier vide ; le simple fait qu'il existe indique à l'interpréteur Python que le répertoire `helloworld` définit un module." - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "Le fichier `__main__.py` marque le module `helloworld` comme un type spécial de module - un module exécutable. Si vous essayez d'exécuter le module `helloworld'' en utilisant `python -m helloworld'', le fichier `__main__.py` est l'endroit où Python commencera à s'exécuter. Le contenu de `__main__.py` est relativement simple :" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -#, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Il importe la méthode `main` de l'application `helloworld`, et s'il est exécuté en tant que point d'entrée, il appelle la méthode main(), et démarre la boucle principale de l'application. La boucle principale est la façon dont une application GUI écoute les entrées de l'utilisateur (comme les clics de souris et les pressions sur le clavier)." - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "Le fichier le plus intéressant est `app.py` - il contient la logique responsable de la création de notre fenêtre d'application :" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -msgid "Let's go through this line by line:" -msgstr "Examinons-le ligne par ligne :" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -#, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Tout d'abord, nous importons la boîte à outils `toga`, ainsi que quelques classes et constantes utilitaires liées au style. Notre code ne les utilise pas encore, mais nous les utiliserons bientôt." - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class:" -msgstr "Ensuite, nous définissons une classe :" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Chaque application Toga possède une seule instance `toga.App`, représentant l'entité en cours d'exécution, c'est-à-dire notre application. L'application peut gérer plusieurs fenêtres, mais pour les applications simples, il n'y aura qu'une seule fenêtre principale." - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -msgid "Next, we define a `startup()` method:" -msgstr "Ensuite, nous définissons une méthode de démarrage `startup()` :" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "La première chose que fait la méthode de démarrage est de définir une boîte principale. Le schéma de présentation de Toga est similaire à celui du HTML. Vous construisez une application en construisant une collection de boîtes, chacune d'entre elles contenant d'autres boîtes, ou de véritables widgets. Vous appliquez ensuite des styles à ces boîtes pour définir la manière dont elles utiliseront l'espace disponible dans la fenêtre." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "Dans cette application, nous définissons une seule boîte, mais nous n'y mettons rien." - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -msgid "Next, we define a window into which we can put this empty box:" -msgstr "Ensuite, nous définissons une fenêtre dans laquelle nous pouvons placer cette boîte vide :" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -#, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Cela crée une instance de `toga.MainWindow`, qui aura un titre correspondant au nom de l'application. Une fenêtre principale est un type spécial de fenêtre dans Toga - c'est une fenêtre qui est étroitement liée au cycle de vie de l'application. Lorsque la fenêtre principale est fermée, l'application se termine. La fenêtre principale est également la fenêtre qui contient le menu de l'application (si vous êtes sur une plateforme comme Windows où les barres de menu font partie des fenêtres)." - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Nous ajoutons ensuite notre boîte vide au contenu de la fenêtre principale et demandons à l'application d'afficher notre fenêtre :" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -#, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Enfin, nous définissons une méthode `main()`. C'est elle qui crée l'instance de notre application :" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Cette méthode `main()` est celle qui est importée et invoquée par `main__.py`. Elle crée et retourne une instance de notre application `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "C'est l'application Toga la plus simple possible. Bous allons ajouter notre propre contenu à l'application, et faire en sorte qu'elle fasse quelque chose de plus intéressant." - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -msgid "Adding some content of our own" -msgstr "Ajouter notre propre contenu" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -#, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Ne supprimez pas les imports en haut du fichier, ni le `main()` en bas. Vous n'avez besoin de mettre à jour que la classe `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modifiez votre classe `HelloWorld` dans `src/helloworld/app.py` pour qu'elle ressemble à ceci :" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -msgid "Let's look in detail at what has changed." -msgstr "Examinons en détail ce qui a changé." - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Nous sommes toujours en train de créer une boîte principale, mais nous appliquons maintenant un style :" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -#, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Le système de mise en page intégré à Toga s'appelle \"Pack\". Il se comporte en grande partie comme CSS. Vous définissez des objets dans une hiérarchie - en HTML, les objets sont `
`, ``, et d'autres éléments DOM ; dans Toga, ce sont des widgets et des boîtes. Vous pouvez ensuite attribuer des styles aux différents éléments. Dans ce cas, nous indiquons qu'il s'agit d'une boîte `COLUMN` - c'est-à-dire qu'il s'agit d'une boîte qui utilisera toute la largeur disponible, et qui augmentera sa hauteur au fur et à mesure que du contenu sera ajouté, mais qui essaiera d'être aussi courte que possible." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets:" -msgstr "Ensuite, nous définissons quelques widgets :" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -#, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Ici, nous définissons un Label (widget de texte) et un TextInput (widget de saisie de texte). Les deux widgets sont associés à des styles ; le Label aura un espace de 5 px à gauche et à droite, et aucun espace en haut et en bas. Le TextInput est marqué comme étant flexible, c'est-à-dire qu'il absorbera tout l'espace disponible dans son axe de mise en page." - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "Le TextInput est assigné en tant que variable d'instance d classe. Cela nous permet d'accéder facilement à l'instance du widget, ce que nous utiliserons dans un instant." - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -msgid "Next, we define a box to hold these two widgets:" -msgstr "Ensuite, nous définissons une boîte pour contenir ces deux widgets :" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -#, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "La `name_box` est une boîte comme la boîte principale, mais cette fois, c'est une boîte `ROW` (rangée). Cela signifie que le contenu sera ajouté horizontalement, et qu'il essaiera d'être le moins large possible. La boîte a également un peu de padding (espace) - 5px sur tous les côtés." - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -msgid "Now we define a button:" -msgstr "Nous définissons maintenant un bouton :" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "Le bouton est également doté d'un espace de 5 px sur tous les côtés. Nous définissons également un *handler* - une méthode à invoquer lorsque le bouton est pressé." - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -msgid "Then, we add the name box and the button to the main box:" -msgstr "Ensuite, nous ajoutons la boîte de nom et le bouton à la boîte principale :" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -#, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Le reste de la méthode de démarrage est identique à la précédente : définition d'une fenêtre principale et attribution de la boîte principale en tant que contenu de la fenêtre :" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -#, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "Notre dernière action est de définir le gestionnaire du bouton. Un gestionnaire peut être n'importe quelle méthode, générateur ou co-routine asynchrone ; il accepte le widget qui a généré l'événement comme argument, et sera invoqué chaque fois que le bouton est pressé :" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "Le corps de la méthode est une simple instruction d'affichage (print). Cependant, elle interroge la valeur actuelle de l'entrée name et utilise ce contenu comme texte à imprimer." - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Maintenant que nous avons effectué ces changements, nous pouvons voir à quoi ils ressemblent en relançant l'application. Comme précédemment, nous utiliserons le mode développeur :" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -#, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Vous remarquerez que cette fois-ci, briefcase n'installe pas de dépendances. Briefcase peut détecter que l'application a déjà été exécutée auparavant, et pour gagner du temps, il n'exécutera que l'application. Si vous ajoutez de nouvelles dépendances à votre application, vous pouvez vous assurer qu'elles soient installées en passant une option `-r` lorsque vous lancez `briefcase dev`." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -msgid "This should open a GUI window:" -msgstr "Cela devrait ouvrir une fenêtre GUI :" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Fenêtre Hello World Tutorial 2, sur macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Fenêtre Hello World Tutorial 2, sous Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Fenêtre Hello World Tutorial 2, sur Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Si vous saisissez un nom dans la zone de texte et que vous appuyez sur le bouton GUI, vous devriez voir apparaître une sortie dans la console où vous avez démarré l'application." - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu plus intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons empaqueter cette application pour la distribuer. Dans [Tutoriel 3][tutorial-3], nous allons empaqueter notre application sous la forme d'un programme d'installation autonome que nous pourrons envoyer à un ami, un client, ou télécharger sur un App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld`` app." -#~ msgstr "" - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index 66446caa..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,313 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutoriel 3 - Emballage pour la distribution" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -#, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Jusqu'à présent, nous avons exécuté notre application en \"mode développeur\". Cela nous permet d'exécuter facilement notre application localement - mais ce que nous voulons vraiment, c'est pouvoir donner notre application à d'autres personnes." - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -#, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Cependant, nous ne voulons pas avoir à apprendre à nos utilisateurs comment installer Python, créer un environnement virtuel, cloner un dépôt git, et lancer Briefcase en mode développeur. Nous préférons leur donner un programme d'installation et faire en sorte que l'application fonctionne tout simplement." - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -#, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer de cette manière." - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -#, fuzzy -msgid "Creating your application scaffold" -msgstr "Création de l'échafaudage de l'application" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -#, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Puisque c'est la première fois que nous empaquetons notre application, nous devons créer quelques fichiers de configuration et autres échafaudages pour supporter le processus d'empaquetage. Depuis le répertoire `helloworld`, exécutez :" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -#, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Vous venez probablement de voir défiler des pages de contenu dans votre terminal... que s'est-il passé ? Briefcase a fait ce qui suit :" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -#, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Il **génère un modèle d'application**. Il y a beaucoup de fichiers et de configurations nécessaires pour construire un installateur natif, en plus du code de votre application réelle. Cet échafaudage supplémentaire est presque le même pour chaque application sur la même plateforme, à l'exception du nom de l'application réelle en cours de construction - Briefcase fournit donc un modèle d'application pour chaque plateforme qu'il supporte. Cette étape déploie le modèle, en substituant le nom de votre application, l'ID du bundle, et d'autres propriétés de votre fichier de configuration comme requis pour supporter la plateforme sur laquelle vous construisez." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -#, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Si vous n'êtes pas satisfait du modèle fourni par Briefcase, vous pouvez créer votre propre modèle. Cependant, vous ne voudrez probablement pas faire cela avant d'avoir un peu plus d'expérience dans l'utilisation du modèle par défaut de Briefcase." - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -#, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Il **télécharge et installe un paquetage de support**. L'approche d'empaquetage adoptée par Briefcase est décrite comme \"la chose la plus simple qui puisse fonctionner\" - elle fournit un interpréteur Python complet et isolé dans le cadre de chaque application qu'elle construit. Cette approche est légèrement inefficace en termes d'espace - si vous avez 5 applications empaquetées avec Briefcase, vous aurez 5 copies de l'interpréteur Python. Cependant, cette approche garantit que chaque application est complètement indépendante, utilisant une version spécifique de Python connue pour fonctionner avec l'application." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -#, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Encore une fois, Briefcase fournit un paquetage de support par défaut pour chaque plateforme ; si vous le souhaitez, vous pouvez fournir votre propre paquetage de support, et faire en sorte que ce paquetage soit inclus dans le processus de construction. Vous pouvez faire cela si vous avez des options particulières dans l'interpréteur Python que vous devez activer, ou si vous voulez retirer de la bibliothèque standard les modules dont vous n'avez pas besoin au moment de l'exécution." - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -#, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase maintient un cache local des paquets de support, de sorte qu'une fois que vous avez téléchargé un paquet de support spécifique, cette copie en cache sera utilisée dans les futures versions." - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -#, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Il **installe les exigences de l'application**. Votre application peut spécifier tous les modules tiers qui sont nécessaires à l'exécution. Ceux-ci seront installés en utilisant `pip` dans l'installeur de votre application." - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -#, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Il **installe le code de votre application**. Votre application aura son propre code et ses propres ressources (par exemple, les images nécessaires à l'exécution) ; ces fichiers sont copiés dans le programme d'installation." - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -#, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Il **installe les ressources nécessaires à votre application.** Enfin, il ajoute toutes les ressources supplémentaires nécessaires à l'installateur lui-même. Cela inclut des choses comme les icônes qui doivent être attachées à l'application finale et les images de l'écran d'accueil." - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -#, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Une fois cette opération terminée, si vous regardez dans le répertoire du projet, vous devriez voir un répertoire correspondant à votre plateforme (`macOS`, `linux`, ou `windows`) qui contient des fichiers supplémentaires. C'est la configuration de l'empaquetage spécifique à la plate-forme pour votre application." - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -#, fuzzy -msgid "Building your application" -msgstr "Construire votre application" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -#, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Vous pouvez maintenant compiler votre application. Cette étape permet d'effectuer toute compilation binaire nécessaire pour que votre application soit exécutable sur votre plate-forme cible." - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -#, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Sous macOS, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit signer le contenu du binaire pour qu'il puisse être exécuté. Cette signature est une signature *ad hoc* - elle ne fonctionnera que sur *votre* machine ; si vous voulez distribuer l'application à d'autres, vous devrez fournir une signature complète." - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -#, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Une fois cette étape terminée, le dossier `build` contiendra un dossier `helloworld-0.0.1` qui contient un miroir du système de fichiers Linux `/usr`. Ce miroir du système de fichiers contiendra un dossier `bin` avec un binaire `helloworld`, ainsi que les dossiers `lib` et `share` nécessaires pour supporter le binaire." - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -#, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Sous Windows, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit écrire quelques métadonnées pour que l'application connaisse son nom, sa version, et ainsi de suite." - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Déclenchement de l'antivirus" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -#, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Puisque ces métadonnées sont écrites directement dans le binaire précompilé déployé à partir du modèle pendant la commande `create`, cela peut déclencher un logiciel antivirus fonctionnant sur votre machine et empêcher les métadonnées d'être écrites. Dans ce cas, demandez à l'antivirus d'autoriser l'outil (nommé `rcedit-x64.exe`) à s'exécuter et relancez la commande ci-dessus." - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -#, fuzzy -msgid "Running your app" -msgstr "Exécution de l'application" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -#, fuzzy -msgid "You can now use Briefcase to run your application:" -msgstr "Vous pouvez maintenant utiliser Briefcase pour exécuter votre application :" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -#, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Ceci lancera l'exécution de votre application native, en utilisant la sortie de la commande `build`." - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -#, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Il se peut que vous remarquiez de petites différences dans l'apparence de votre application lorsqu'elle est en cours d'exécution. Par exemple, les icônes et le nom affichés par le système d'exploitation peuvent être légèrement différents de ceux que vous avez vus lors de l'exécution en mode développeur. Cela s'explique également par le fait que vous utilisez l'application packagée et que vous ne vous contentez pas d'exécuter du code Python. Du point de vue du système d'exploitation, vous exécutez maintenant \"une application\" et non \"un programme Python\", ce qui se reflète dans l'apparence de l'application." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -#, fuzzy -msgid "Building your installer" -msgstr "Construction du programme d'installation" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -#, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Vous pouvez maintenant empaqueter votre application pour la distribuer, en utilisant la commande `package`. La commande package effectue toutes les compilations nécessaires pour convertir le projet d'échafaudage en un produit final distribuable. Selon la plateforme, cela peut impliquer la compilation d'un installateur, la signature du code, ou d'autres tâches de pré-distribution." - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -#, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "Le dossier `dist` contiendra un fichier nommé `Hello World-0.0.1.dmg`. Si vous localisez ce fichier dans le Finder, et que vous double-cliquez sur son icône, vous monterez le DMG, ce qui vous donnera une copie de l'application Hello World, et un lien vers votre dossier Applications pour faciliter l'installation. Faites glisser le fichier de l'application dans Applications, et vous aurez installé votre application. Envoyez le fichier DMG à un ami, qui devrait pouvoir faire de même." - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -#, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -#, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "Le résultat de l'étape du paquetage sera légèrement différent selon votre distribution Linux. Si vous êtes sur une distribution dérivée de Debian, vous verrez :" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -#, fuzzy -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "Le dossier `dist` contiendra le fichier `.deb` qui a été généré." - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -#, fuzzy -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "Si vous utilisez une distribution basée sur RHEL, vous verrez :" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -#, fuzzy -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "Le dossier `dist` contiendra le fichier `.rpm` qui a été généré." - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -#, fuzzy -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "Si vous êtes sur une distribution basée sur Arch, vous verrez :" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -#, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "Le dossier `dist` contiendra le fichier `.pkg.tar.zst` qui a été généré." - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -#, fuzzy -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Les autres distributions Linux ne sont actuellement pas prises en charge pour l'empaquetage." - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -#, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Si vous souhaitez créer un paquet pour une distribution Linux autre que celle que vous utilisez, Briefcase peut également vous aider - mais vous devrez installer Docker." - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -#, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Des installateurs officiels pour [Docker Engine]{1} sont disponibles pour une série de distributions Unix. Suivez les instructions correspondant à votre plate-forme, mais assurez-vous de ne pas installer Docker en mode \"sans racine\"." - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -#, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Une fois que vous avez installé Docker, vous devriez être en mesure de démarrer un conteneur Linux - par exemple :" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -#, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "vous montrera une invite Unix (quelque chose comme `root@84444e31cff9:/#`) à l'intérieur d'un conteneur Docker Ubuntu 22.04. Tapez Ctrl-D pour quitter Docker et revenir à votre shell local." - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -#, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Une fois que vous avez installé Docker, vous pouvez utiliser Briefcase pour construire un paquet pour n'importe quelle distribution Linux que Briefcase supporte en passant une image Docker comme argument. Par exemple, pour construire un paquet DEB pour Ubuntu 22.04 (Jammy), quel que soit le système d'exploitation sur lequel vous êtes, vous pouvez exécuter :" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -#, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Ceci téléchargera l'image Docker pour le système d'exploitation choisi, créera un conteneur capable d'exécuter les builds de Briefcase, et construira le paquetage de l'application à l'intérieur de l'image. Une fois terminé, le dossier `dist` contiendra le paquet pour la distribution Linux cible." - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -#, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -#, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Une fois cette étape terminée, le dossier `dist` contiendra un fichier nommé `Hello_World-0.0.1.msi`. Si vous double-cliquez sur ce programme d'installation pour le lancer, vous devriez passer par un processus d'installation Windows familier. Une fois l'installation terminée, il y aura une entrée \"Hello World\" dans votre menu de démarrage." - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau. Mais que se passe-t-il lorsque nous devons mettre à jour le code de notre application ? Comment intégrer ces mises à jour dans notre application packagée ? Consultez [Tutoriel 4][./tutorial-4] pour le découvrir..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index cec1c51e..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,172 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "Tutoriel 4 - Mise à jour de votre application" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -#, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "Dans le dernier tutoriel, nous avons packagé notre application en tant qu'application native. Si vous avez affaire à une application réelle, l'histoire ne s'arrêtera pas là : vous ferez probablement des tests, découvrirez des problèmes et devrez apporter des modifications. Même si votre application est parfaite, vous finirez par vouloir publier la version 2 de votre application avec des améliorations." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -#, fuzzy -msgid "So - how do you update your installed app when you make code changes?" -msgstr "Alors, comment mettre à jour l'application installée lorsque vous modifiez le code ?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -#, fuzzy -msgid "Updating application code" -msgstr "Mise à jour du code de l'application" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -#, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Notre application imprime actuellement sur la console lorsque vous appuyez sur le bouton. Cependant, les applications d'interface graphique ne devraient pas vraiment utiliser la console pour la sortie. Elles doivent utiliser des boîtes de dialogue pour communiquer avec les utilisateurs." - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -#, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Ajoutons une boîte de dialogue pour dire bonjour, au lieu d'écrire dans la console. Modifiez le callback `say_hello` pour qu'il ressemble à ceci: :" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -#, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Toga ouvre ainsi une boîte de dialogue modale lorsque le bouton est enfoncé." - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -#, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Si vous lancez `briefcase dev`, entrez un nom et appuyez sur le bouton, vous verrez la nouvelle boîte de dialogue :" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Tutoriel Hello World 4 dialogue, sur macOS" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Tutoriel Hello World 4 dialogue, sur Linux" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Tutoriel Hello World 4 dialogue, sur Windows" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -#, fuzzy -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Cependant, si vous exécutez `briefcase run`, la boîte de dialogue n'apparaîtra pas." - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Pourquoi ? Eh bien, `briefcase dev` fonctionne en exécutant votre code en place - il essaie de produire un environnement d'exécution aussi réaliste que possible pour votre code, mais il ne fournit ni n'utilise aucune des infrastructures de la plate-forme pour envelopper votre code en tant qu'application. Une partie du processus d'emballage de votre application implique de copier votre code *dans* le paquet d'application - et pour le moment, votre application contient toujours l'ancien code." - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -#, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Nous devons donc demander à Briefcase de mettre à jour votre application, en copiant la nouvelle version du code. Nous pourrions le faire en supprimant l'ancien répertoire de la plateforme et en repartant de zéro. Cependant, Briefcase offre un moyen plus simple - vous pouvez mettre à jour le code de votre application groupée existante :" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -#, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Si Briefcase ne trouve pas le modèle échafaudé, il invoquera automatiquement `create` pour générer un nouvel échafaudage." - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -#, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Maintenant que nous avons mis à jour le code de l'installateur, nous pouvons lancer `briefcase build` pour recompiler l'application, `briefcase run` pour exécuter l'application mise à jour, et `briefcase package` pour reconditionner l'application en vue de sa distribution." - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -#, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Utilisateurs de macOS, rappelez-vous que comme indiqué dans [Tutoriel 3][tutorial-3], pour le tutoriel nous recommandons d'exécuter `briefcase package` avec le drapeau `--adhoc-sign` pour éviter la complexité de la mise en place d'une identité de signature de code et garder le tutoriel aussi simple que possible)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -#, fuzzy -msgid "Update and run in one step" -msgstr "Mise à jour et exécution en une seule étape" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -#, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Si vous effectuez rapidement des changements de code, vous voudrez probablement faire un changement de code, mettre à jour l'application et la réexécuter immédiatement. Dans la plupart des cas, le mode développeur (`briefcase dev`) sera le moyen le plus facile de faire ce genre d'itération rapide ; cependant, si vous testez quelque chose sur la façon dont votre application fonctionne en tant que binaire natif, ou si vous chassez un bogue qui ne se manifeste que lorsque votre application est sous forme de paquetage, vous pouvez avoir besoin d'utiliser des appels répétés à `briefcase run`. Pour simplifier le processus de mise à jour et d'exécution de l'application packagée, Briefcase dispose d'un raccourci pour supporter ce schéma d'utilisation - l'option `-u` (ou `--update`) de la commande `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -#, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Essayons d'apporter une autre modification. Vous avez peut-être remarqué que si vous ne tapez pas de nom dans la zone de saisie, la boîte de dialogue dira \"Hello, \". Modifions à nouveau la fonction `say_hello` pour gérer ce cas particulier." - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -#, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "En haut du fichier, entre les imports et la définition de `class HelloWorld`, ajoutez une méthode utilitaire pour générer un message d'accueil approprié en fonction de la valeur du nom qui a été fourni: :" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -#, fuzzy -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Ensuite, modifiez le callback `say_hello` pour utiliser cette nouvelle méthode utilitaire: :" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -#, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Exécutez votre application en mode développement (avec `briefcase dev`) pour confirmer que la nouvelle logique fonctionne ; puis mettez à jour, compilez et exécutez l'application avec une seule commande :" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -#, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "La commande package accepte aussi l'argument `-u`, donc si vous faites un changement dans le code de votre application et que vous voulez repackager immédiatement, vous pouvez lancer `briefcase package -u`." - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau et nous avons pu mettre à jour le code de notre application." - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Mais qu'en est-il de l'application mobile ? Dans [Tutoriel 5][tutorial-5/index], nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index a9fbb3cc..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,252 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutoriel 5 - Le mobile : Android" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -#, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Nous allons maintenant prendre notre application et la déployer en tant qu'application Android." - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -#, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "Le processus de déploiement d'une application sur Android est très similaire au processus de déploiement d'une application de bureau. Briefcase prend en charge l'installation des dépendances pour Android, y compris le SDK Android, l'émulateur Android et un compilateur Java." - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -#, fuzzy -msgid "Create an Android app and compile it" -msgstr "Créer une application Android et la compiler" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -#, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Tout d'abord, lancez la commande `create`. Celle-ci télécharge un modèle d'application Android et y ajoute votre code Python." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Lorsque vous lancez `briefcase create android` pour la première fois, Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers et le temps de téléchargement peuvent être considérables ; cela peut prendre un certain temps (10 minutes ou plus, selon la vitesse de votre connexion Internet). Une fois le téléchargement terminé, vous serez invité à accepter la licence Android SDK de Google." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -#, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Une fois cette opération terminée, nous aurons un répertoire `buildhelloworld\\android\\gradle` dans notre projet, qui contiendra un projet Android avec une configuration de construction Gradle. Ce projet contiendra le code de votre application, ainsi qu'un package de support contenant l'interpréteur Python." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -#, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Nous pouvons ensuite utiliser la commande `build` de Briefcase pour compiler ce fichier dans un fichier d'application APK Android." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "Gradle peut sembler bloqué" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -#, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Pendant l'étape `briefcase build android`, Gradle (l'outil de construction de la plateforme Android) affiche `CONFIGURING : 100%`, et semble ne rien faire. Ne vous inquiétez pas, il n'est pas bloqué - il est en train de télécharger plus de composants du SDK Android. Selon la vitesse de votre connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce décalage ne devrait se produire que la première fois que vous lancez `build` ; les outils sont mis en cache, et lors de votre prochain build, les versions mises en cache seront utilisées." - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -#, fuzzy -msgid "Run the app on a virtual device" -msgstr "Exécuter l'application sur un appareil virtuel" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -#, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Nous sommes maintenant prêts à exécuter notre application. Vous pouvez utiliser la commande `run` de Briefcase pour exécuter l'application sur un appareil Android. Commençons par l'exécuter sur un émulateur Android." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -#, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Pour lancer votre application, exécutez `briefcase run android`. Vous obtiendrez alors une liste d'appareils sur lesquels vous pouvez faire fonctionner l'application. Le dernier élément sera toujours une option pour créer un nouvel émulateur Android." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Nous pouvons maintenant choisir l'appareil que nous souhaitons. Sélectionnez l'option \"Créer un nouvel émulateur Android\", et acceptez le choix par défaut du nom de l'appareil (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -#, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` démarrera automatiquement l'appareil virtuel. Lorsque l'appareil démarre, vous verrez le logo Android :" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -#, fuzzy -msgid "Android virtual device booting" -msgstr "Démarrage d'un dispositif virtuel Android" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -#, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Une fois que l'appareil a fini de démarrer, Briefcase installera votre application sur l'appareil. Vous verrez brièvement un écran de lancement :" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -#, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Appareil virtuel Android entièrement démarré, sur l'écran du lanceur" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -#, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "L'application démarre alors. Vous verrez un écran de démarrage pendant que l'application démarre :" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -#, fuzzy -msgid "App splash screen" -msgstr "Écran d'accueil de l'application" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -#, fuzzy -msgid "The emulator didn't start!" -msgstr "L'émulateur n'a pas démarré !" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -#, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "L'émulateur Android est un logiciel complexe qui s'appuie sur un certain nombre de caractéristiques du matériel et du système d'exploitation - des caractéristiques qui peuvent ne pas être disponibles ou activées sur des machines plus anciennes. Si vous rencontrez des difficultés au démarrage de l'émulateur Android, consultez la section [Exigences et recommandations]{1} de la documentation destinée aux développeurs Android." - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "La première fois que l'application démarre, elle doit se décompresser sur l'appareil. Cela peut prendre quelques secondes. Une fois qu'elle est décompressée, vous verrez la version Android de notre application de bureau :" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -#, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "Application du didacticiel 2, entièrement lancée" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -#, fuzzy -msgid "Demo app fully launched" -msgstr "Lancement de l'application de démonstration" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -#, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Si vous ne voyez pas votre application se lancer, vous devrez peut-être vérifier le terminal où vous avez lancé `briefcase run` et rechercher les messages d'erreur." - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -#, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "A l'avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, vous pouvez fournir le nom de l'émulateur à Briefcase, en utilisant `briefcase run android -d @beePhone` pour utiliser directement l'appareil virtuel." - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -#, fuzzy -msgid "Run the app on a physical device" -msgstr "Exécuter l'application sur un appareil physique" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -#, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Si vous avez un téléphone ou une tablette Android physique, vous pouvez le connecter à votre ordinateur à l'aide d'un câble USB, puis utiliser la mallette pour cibler votre appareil physique." - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -#, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android exige que vous prépariez votre appareil avant de pouvoir l'utiliser pour le développement. Vous devrez apporter deux modifications aux options de votre appareil :" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -#, fuzzy -msgid "Enable developer options" -msgstr "Activer les options pour les développeurs" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -#, fuzzy -msgid "Enable USB debugging" -msgstr "Activer le débogage USB" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Les détails sur la manière d'effectuer ces changements peuvent être trouvés [dans la documentation du développeur Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Une fois ces étapes terminées, votre appareil devrait apparaître dans la liste des appareils disponibles lorsque vous lancez `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -#, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série sur la liste de déploiement - dans ce cas, un Pixel 3a. À l'avenir, si vous souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez fournir le numéro de série du téléphone à Briefcase (dans ce cas, `briefcase run android -d 94ZZY0LNE8`). Cela lancera l'application directement sur l'appareil, sans l'inviter à le faire." - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "Mon appareil n'apparaît pas !" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -#, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Si votre appareil n'apparaît pas du tout dans cette liste, c'est que vous n'avez pas activé le débogage USB (ou que l'appareil n'est pas branché !)." - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -#, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Si votre appareil apparaît, mais qu'il est listé comme \"Unknown device (not authorized for development)\", le mode développeur n'a pas été correctement activé. Réexécutez [les étapes pour activer les options de développement]{1}, et réexécutez `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index a64d2e20..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,94 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutoriel 5 - Le mobile : iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -#, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Une fois Xcode installé, nous pouvons prendre notre application et la déployer en tant qu'application iOS." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "Le processus de déploiement d'une application sur iOS est très similaire au processus de déploiement d'une application de bureau. Tout d'abord, vous exécutez la commande `create` - mais cette fois, nous spécifions que nous voulons créer une application iOS :" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -#, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Une fois cette opération terminée, nous aurons un répertoire `build/helloworld/ios/xcode` contenant un projet Xcode, ainsi que les bibliothèques de support et le code nécessaire à l'application." - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -#, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Vous pouvez ensuite utiliser Briefcase pour compiler votre application en utilisant `briefcase build iOS` :" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -#, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Nous sommes maintenant prêts à exécuter notre application, en utilisant `briefcase run iOS`. Il vous sera demandé de sélectionner un appareil pour lequel compiler ; si vous avez installé des simulateurs pour plusieurs versions du SDK iOS, il vous sera peut-être demandé quelle version d'iOS vous voulez cibler. Les options affichées peuvent différer de celles présentées dans cette sortie - au moins, la liste des appareils sera probablement différente. En ce qui nous concerne, le simulateur choisi n'a pas d'importance." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -#, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Ceci lancera le simulateur iOS, installera votre application et la démarrera. Vous devriez voir le simulateur démarrer, puis ouvrir votre application iOS :" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World Tutorial 5 window, sur iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -#, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Si vous savez à l'avance quel simulateur iOS vous voulez cibler, vous pouvez dire à Briefcase d'utiliser ce simulateur en fournissant une option `-d` (ou `--device`). En utilisant le nom de l'appareil que vous avez sélectionné lorsque vous avez créé votre application, exécutez :" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -#, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Si vous avez plusieurs versions iOS disponibles, Briefcase choisira la version iOS la plus élevée ; si vous voulez choisir une version iOS particulière, vous lui direz d'utiliser cette version spécifique :" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -#, fuzzy -msgid "Or, you can name a specific device UDID:" -msgstr "Vous pouvez également nommer un appareil spécifique UDID :" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Pour compiler les applications iOS, nous avons besoin de Xcode, qui est disponible gratuitement sur [le macOS App Store]{1}." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" - diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index e326658e..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,46 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2025-06-21 02:01+0000\n" -"Last-Translator: John \n" -"Language-Team: French \n" -"Language: fr\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" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutoriel 5 - Rendre votre application mobile" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Jusqu'à présent, nous avons exécuté et testé notre application sur un ordinateur de bureau. Cependant, BeeWare prend également en charge les plates-formes mobiles - et l'application que nous avons écrite peut également être déployée sur votre appareil mobile !" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "Les applications iOS ne peuvent être compilées que sur macOS." - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Les applications Android peuvent être compilées sur macOS, Windows ou Linux." - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Créons notre application pour iOS !][iOS]" - -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Créons notre application pour Android !][android]" diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index 5585c4d4..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,102 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" -"PO-Revision-Date: 2024-01-14 01:02+0000\n" -"Last-Translator: Lancelot Fouillet \n" -"Language-Team: French \n" -"Language: fr\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" -"X-Generator: Weblate 5.4-dev\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -#, fuzzy -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutoriel 6 - Mettez-le sur le web !" - -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -#, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "En plus de prendre en charge les plateformes mobiles, la boîte à outils Toga widget prend également en charge le web ! En utilisant la même API que celle utilisée pour déployer vos applications de bureau et mobiles, vous pouvez déployer votre application en tant qu'application web à page unique." - -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -#, fuzzy -msgid "Proof of Concept" -msgstr "Preuve de concept" - -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -#, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "Le backend de Toga Web est le moins mature de tous les backends de Toga. Il est suffisamment mature pour présenter quelques fonctionnalités, mais il est probable qu'il soit bogué et qu'il manque de nombreux widgets disponibles sur d'autres plates-formes. À ce stade, le déploiement sur le Web doit être considéré comme une \"preuve de concept\" - suffisante pour démontrer ce qui peut être fait, mais pas assez pour être utilisée pour un développement sérieux." - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -#, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Si vous avez des problèmes avec cette étape du tutoriel, vous pouvez passer à la page suivante." - -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be -#, fuzzy -msgid "Deploying as a web app" -msgstr "Déploiement en tant qu'application web" - -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -#, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "Le processus de déploiement en tant qu'application web à page unique suit le même schéma familier - vous créez l'application, vous la construisez, puis vous l'exécutez. Cependant, Briefcase peut être un peu plus intelligent ; si vous essayez d'exécuter une application et que Briefcase détermine qu'elle n'a pas été créée ou construite pour la plateforme ciblée, il effectuera les étapes de création et de construction pour vous. Puisque c'est la première fois que nous lançons l'application pour le web, nous pouvons exécuter les trois étapes en une seule commande :" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Cela ouvrira un navigateur web, pointant sur [http://127.0.0.1:8080](http://127.0.0.1:8080) :" - -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Tutoriel Hello World 6 dialogue, dans un navigateur" - -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 -#, fuzzy -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Si vous entrez votre nom et cliquez sur le bouton, une boîte de dialogue apparaît." - -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf -#, fuzzy -msgid "How does this work?" -msgstr "Comment ça marche ?" - -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -#, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Cette application web est un site web statique - une seule page source HTML, avec quelques feuilles de style CSS et d'autres ressources. Briefcase a démarré un serveur web local pour servir cette page afin que votre navigateur puisse la voir. Si vous voulez mettre cette page web en production, vous pouvez copier le contenu du dossier `www` sur n'importe quel serveur web qui peut servir du contenu statique." - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -#, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Mais lorsque vous appuyez sur le bouton, vous exécutez du code Python... Comment cela fonctionne-t-il ? Toga utilise [PyScript]{1} pour fournir un interprète Python dans le navigateur. Briefcase présente le code de votre application sous forme de roues que PyScript peut charger dans le navigateur. Lorsque la page est chargée, le code de l'application s'exécute dans le navigateur, construisant l'interface utilisateur en utilisant le DOM du navigateur. Lorsque vous cliquez sur un bouton, ce bouton exécute le code de gestion des événements dans le navigateur." - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -#, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Bien que nous ayons maintenant déployé cette application sur les ordinateurs de bureau, les téléphones portables et le web, l'application est assez simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des bibliothèques du Python Package Index (PyPI) dans notre application ? Consultez [Tutoriel 7][tutorial-7] pour le savoir..." diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index 26d715ee..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,374 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2025-06-21 02:01+0000\n" -"Last-Translator: John \n" -"Language-Team: French \n" -"Language: fr\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" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutoriel n° 7 - Démarrer cette (troisième) partie" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -#, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Jusqu'à présent, l'application que nous avons construite n'a utilisé que notre propre code, ainsi que le code fourni par BeeWare. Cependant, dans une application réelle, vous voudrez probablement utiliser une bibliothèque tierce, téléchargée à partir du Python Package Index (PyPI)." - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -#, fuzzy -msgid "Let's modify our app to include a third-party library." -msgstr "Modifions notre application pour y inclure une bibliothèque tierce." - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -#, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Ajoutons un appel API `httpx` à notre application. Ajoutez un import au début de `app.py` pour importer `httpx`: :" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Ensuite, modifiez le callback `say_hello()` pour qu'il ressemble à ceci: :" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -#, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Exécutons notre application mise à jour dans le mode développeur de Briefcase pour vérifier que notre changement a fonctionné." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "Qu'est-ce qui s'est passé ? Nous avons ajouté `httpx` à notre *code*, mais nous ne l'avons pas ajouté à notre environnement virtuel de développement. Nous pouvons corriger cela en installant `httpx` avec `pip`, puis en relançant `briefcase dev` :" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Lorsque vous entrez un nom et que vous appuyez sur le bouton, une boîte de dialogue doit s'afficher :" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Tutoriel Hello World 7 dialogue, sur macOS" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Tutoriel Hello World 7 dialogue, sur Linux" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Tutoriel Hello World 7 dialogue, sur Windows" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -#, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Nous avons maintenant une application fonctionnelle, utilisant une bibliothèque tierce, fonctionnant en mode développement !" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -#, fuzzy -msgid "Running the updated app" -msgstr "Exécution de l'application mise à jour" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Nous allons faire en sorte que ce code d'application mis à jour soit empaqueté en tant qu'application autonome. Puisque nous avons modifié le code, nous devons suivre les mêmes étapes que dans [Tutoriel 4][tutorial-4] :" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "Mettre à jour le code dans l'application packagée :" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "Reconstruire l'application :" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -#, fuzzy -msgid "And finally, run the app:" -msgstr "Enfin, lancez l'application :" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Cependant, lorsque l'application s'exécute, vous verrez une erreur dans la console, ainsi qu'une boîte de dialogue de plantage :" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Plantage de l'application Hello World Tutorial 7, sur macOS" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans la console :" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Plantage de l'application Hello World Tutorial 7, sous Windows" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans la console :" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Une fois de plus, l'application n'a pas pu démarrer parce que `httpx` a été installé - mais pourquoi ? N'avons-nous pas déjà installé [httpx` ?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Nous l'avons fait, mais uniquement dans l'environnement de développement. Votre environnement de développement est entièrement local à votre machine - et n'est activé que lorsque vous l'activez explicitement. Bien que Briefcase dispose d'un mode de développement, la principale raison pour laquelle vous utilisez Briefcase est d'empaqueter votre code afin de le donner à quelqu'un d'autre." - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "La seule façon de garantir que quelqu'un d'autre disposera d'un environnement Python contenant tout ce dont il a besoin est de construire un environnement Python complètement isolé. Cela signifie qu'il y a une installation Python complètement isolée, et un ensemble de dépendances complètement isolé. C'est ce que Briefcase construit quand vous lancez `briefcase build` - un environnement Python isolé. Cela explique aussi pourquoi `httpx` n'est pas installé - il a été installé dans votre environnement de *développement*, mais pas dans l'application packagée." - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Nous devons donc indiquer à Briefcase que notre application a une dépendance externe." - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "Mise à jour des dépendances" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "Dans le répertoire racine de votre application, il y a un fichier nommé `pyproject.toml`. Ce fichier contient tous les détails de configuration de l'application que vous avez fournis lorsque vous avez lancé `briefcase new`." - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` est divisé en sections ; l'une d'entre elles décrit les paramètres de votre application: :" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "L'option `requires` décrit les dépendances de notre application. C'est une liste de chaînes de caractères, spécifiant les bibliothèques (et, optionnellement, les versions) des bibliothèques que vous voulez inclure dans votre application." - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "Modifiez le paramètre `requires` de façon à ce qu'il se lise: :" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "En ajoutant ce paramètre, nous disons à Briefcase \"lorsque vous compilez mon application, lancez `pip install httpx` dans le bundle de l'application\". Tout ce qui serait une entrée légale pour `pip install` peut être utilisé ici - ainsi, vous pourriez spécifier :" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Une version spécifique de la bibliothèque (par exemple, `\"httpx==0.19.0\"`) ;" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Une gamme de versions de la bibliothèque (par exemple, `\"httpx>=0.19\"`) ;" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Un chemin vers un dépôt git (par exemple, `\"git+https://github.com/encode/httpx\"`) ; ou" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -#, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Un chemin d'accès à un fichier local (Cependant, attention : si vous donnez votre code à quelqu'un d'autre, ce chemin d'accès n'existera probablement pas sur sa machine !)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Plus loin dans `pyproject.toml`, vous remarquerez d'autres sections qui dépendent du système d'exploitation, comme `[tool.briefcase.app.helloworld.macOS]` et `[tool.briefcase.app.helloworld.windows]`. Ces sections ont *également* un paramètre `requires`. Ces paramètres vous permettent de définir des dépendances supplémentaires spécifiques à une plate-forme - ainsi, par exemple, si vous avez besoin d'une bibliothèque spécifique à une plate-forme pour gérer un aspect de votre application, vous pouvez spécifier cette bibliothèque dans la section `requires'' spécifique à la plate-forme, et ce paramètre ne sera utilisé que pour cette plate-forme. Vous remarquerez que les bibliothèques `toga` sont toutes spécifiées dans la section `requires` spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires pour afficher une interface utilisateur sont spécifiques à la plate-forme." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "Dans notre cas, nous voulons que `httpx` soit installé sur toutes les plateformes, donc nous utilisons le paramètre `requires` au niveau de l'application. Les dépendances au niveau de l'application seront toujours installées ; les dépendances spécifiques à la plate-forme sont installées *en plus* de celles au niveau de l'application." - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Maintenant que nous avons informé Briefcase de nos exigences supplémentaires, nous pouvons essayer d'empaqueter à nouveau notre application. Assurez-vous que vous avez sauvegardé vos changements dans `pyproject.toml`, puis mettez à jour votre application à nouveau - cette fois-ci, en passant le drapeau `-r`. Cela indique à Briefcase de mettre à jour les exigences dans l'application packagée :" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Une fois la mise à jour effectuée, vous pouvez lancer `briefcase build` et `briefcase run` - et vous devriez voir votre application packagée, avec le nouveau comportement du dialogue." - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "L'option `-r` pour la mise à jour des exigences est également honorée par les commandes `build` et `run`, donc si vous voulez mettre à jour, compiler et exécuter en une seule étape, vous pouvez utiliser `briefcase run -u -r`." - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Sur les plateformes de bureau (macOS, Windows, Linux), tout `pip`-installable peut être ajouté à vos exigences. Sur les plateformes mobiles et web, [vos options sont légèrement limitées]{1}." - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -#, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare peut fournir des binaires pour certains modules binaires populaires (y compris `numpy`, `pandas`, et `cryptographie`). Il est *habituellement* possible de compiler des paquets pour les plateformes mobiles, mais ce n'est pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel d'introduction comme celui-ci." - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "Accéder à une API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Une tâche courante qu'une application doit effectuer est de faire une requête sur une API web pour récupérer des données, et afficher ces données à l'utilisateur. Comme il s'agit d'une application jouet, nous n'avons pas de *vraie* API à utiliser. Nous utiliserons donc la [{JSON} Placeholder API]{1} comme source de données." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "L'API {JSON} Placeholder possède un certain nombre de \"faux\" points de terminaison d'API que vous pouvez utiliser comme données de test. L'une de ces API est le point de terminaison `/posts/`, qui renvoie de faux billets de blog. Si vous ouvrez `https://jsonplaceholder.typicode.com/posts/42` dans votre navigateur, vous obtiendrez un fichier JSON décrivant un seul article - un contenu [Lorum ipsum]{1} pour un article de blog avec l'ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "La bibliothèque standard de Python contient tous les outils dont vous avez besoin pour accéder à une API. Cependant, les API intégrées sont de très bas niveau. Ce sont de bonnes implémentations du protocole HTTP, mais elles exigent de l'utilisateur qu'il gère de nombreux détails de bas niveau, comme la redirection d'URL, les sessions, l'authentification et l'encodage des données utiles. En tant qu'\"utilisateur normal de navigateur\", vous avez probablement l'habitude de considérer ces détails comme allant de soi, car le navigateur les gère pour vous." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "En conséquence, des bibliothèques tierces ont été développées pour envelopper les API intégrées et fournir une API plus simple qui correspond mieux à l'expérience quotidienne du navigateur. Nous allons utiliser l'une de ces bibliothèques pour accéder à l'API {JSON} Placeholder - une bibliothèque appelée [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Cela modifiera le callback `say_hello()` de telle sorte que lorsqu'il est invoqué, il le fera :" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "effectuer une requête GET sur l'API JSON pour obtenir le poste 42 ;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "décoder la réponse en JSON ;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "extraire le corps du message ; et" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "inclure le corps de ce message dans le texte du dialogue." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Certains paquets binaires peuvent ne pas être disponibles" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "En bref, tout paquetage *pure Python* (c'est-à-dire les paquetages qui ne contiennent pas de module binaire) peut être utilisé sans difficulté. Cependant, si votre dépendance contient un composant binaire, il doit être compilé ; à l'heure actuelle, la plupart des paquets Python ne fournissent pas de support de compilation pour les plates-formes autres que les ordinateurs de bureau." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Nous avons maintenant une application qui utilise une bibliothèque tierce ! Cependant, vous avez peut-être remarqué que lorsque vous appuyez sur le bouton, l'application ne répond plus vraiment. Pouvons-nous faire quelque chose pour résoudre ce problème ? Consultez [Tutoriel 8][tutorial-8] pour le savoir..." diff --git a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index 60641805..00000000 --- a/updated-locales/fr/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,371 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2025-06-21 02:01+0000\n" -"Last-Translator: John \n" -"Language-Team: French \n" -"Language: fr\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" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutoriel 8 - Le rendre lisse" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A moins que vous ne disposiez d'une connexion internet *très* rapide, vous remarquerez peut-être que lorsque vous appuyez sur le bouton, l'interface graphique de votre application se bloque pendant un petit moment. C'est parce que la requête web que nous avons faite est *synchrone*. Lorsque notre application effectue la requête web, elle attend que l'API renvoie une réponse avant de continuer. Pendant cette attente, l'API ne permet pas à l'application de se redessiner, ce qui a pour effet de bloquer l'application." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -#, fuzzy -msgid "GUI Event Loops" -msgstr "Boucles d'événements de l'interface graphique" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -#, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Pour comprendre pourquoi cela se produit, nous devons entrer dans les détails du fonctionnement d'une application GUI. Les spécificités varient en fonction de la plate-forme, mais les concepts de haut niveau sont les mêmes, quelle que soit la plate-forme ou l'environnement d'interface graphique que vous utilisez." - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -#, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Une application GUI est, fondamentalement, une boucle unique qui ressemble à quelque chose comme: :" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Cette boucle est appelée *boucle d'événements*. (Il ne s'agit pas de noms de méthodes réels, mais d'une illustration de ce qui se passe dans le \"pseudo-code\")." - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -#, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Lorsque vous cliquez sur un bouton, faites glisser une barre de défilement ou tapez une touche, vous générez un \"événement\". Cet \"événement\" est placé dans une file d'attente, et l'application traitera la file d'événements lorsqu'elle en aura l'occasion. Le code utilisateur déclenché en réponse à l'événement est appelé \"gestionnaire d'événement\". Ces gestionnaires d'événements sont invoqués dans le cadre de l'appel `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -#, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Une fois qu'une application a traité tous les événements disponibles, elle va `redraw()` l'interface graphique. Cela prend en compte tous les changements que les événements ont causés à l'affichage de l'application, ainsi que tout ce qui se passe dans le système d'exploitation - par exemple, les fenêtres d'une autre application peuvent masquer ou révéler une partie de la fenêtre de notre application, et le redessin de notre application devra refléter la partie de la fenêtre qui est actuellement visible." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -#, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "Détail important : pendant qu'une application traite un événement, *elle ne peut pas redessiner*, et *elle ne peut pas traiter d'autres événements*." - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -#, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Cela signifie que toute logique utilisateur contenue dans un gestionnaire d'événements doit être exécutée rapidement. Tout retard dans l'exécution du gestionnaire d'événements sera observé par l'utilisateur sous la forme d'un ralentissement (ou d'un arrêt) des mises à jour de l'interface graphique. Si ce délai est suffisamment long, votre système d'exploitation peut signaler qu'il s'agit d'un problème - les icônes macOS \"beachball\" et Windows \"spinner\" indiquent que votre application prend trop de temps dans un gestionnaire d'événements." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -#, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Des opérations simples comme \"mettre à jour une étiquette\" ou \"recalculer le total des entrées\" sont faciles à réaliser rapidement. Cependant, de nombreuses opérations ne peuvent pas être effectuées rapidement. Si vous effectuez un calcul mathématique complexe, si vous indexez tous les fichiers d'un système de fichiers ou si vous effectuez une requête réseau importante, vous ne pouvez pas \"faire vite\" - les opérations sont intrinsèquement lentes." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -#, fuzzy -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Alors, comment effectuer des opérations à long terme dans une application GUI ?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -#, fuzzy -msgid "Asynchronous programming" -msgstr "Programmation asynchrone" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -#, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Ce dont nous avons besoin, c'est d'un moyen de dire à une application au milieu d'un gestionnaire d'événements de longue durée qu'il est acceptable de relâcher temporairement le contrôle dans la boucle d'événements, tant que nous pouvons reprendre là où nous nous sommes arrêtés. C'est à l'application de déterminer quand cette libération peut avoir lieu ; mais si l'application libère le contrôle dans la boucle d'événements régulièrement, nous pouvons avoir un gestionnaire d'événements de longue durée *et* maintenir une interface utilisateur réactive." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -#, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Nous pouvons le faire en utilisant la *programmation asynchrone*. La programmation asynchrone est une façon de décrire un programme qui permet à l'interpréteur d'exécuter plusieurs fonctions en même temps, en partageant les ressources entre toutes les fonctions qui s'exécutent simultanément." - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Les fonctions asynchrones (appelées *co-routines*) doivent être explicitement déclarées comme étant asynchrones. Elles doivent également déclarer en interne lorsqu'il est possible de changer de contexte et de passer à une autre co-routine." - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "En Python, la programmation asynchrone est implémentée à l'aide des mots-clés `async` et `await`, et du module [asyncio]{1} dans la bibliothèque standard. Le mot-clé `async` nous permet de déclarer qu'une fonction est une co-routine asynchrone. Le mot-clé `await` permet de déclarer qu'il existe une opportunité de changer de contexte vers une autre co-routine. Le module `asyncio]{1} fournit d'autres outils et primitives utiles pour le codage asynchrone." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "Rendre le didacticiel asynchrone" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -#, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "Il n'y a que 4 changements dans ce code par rapport à la version précédente :" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -#, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Le client créé est un `AsyncClient()` asynchrone, plutôt qu'un `Client()` synchrone. Cela indique à `httpx` qu'il doit fonctionner en mode asynchrone, plutôt qu'en mode synchrone." - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -#, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Le gestionnaire de contexte utilisé pour créer le client est marqué comme `async`. Cela indique à Python qu'il y a une opportunité de relâcher le contrôle lorsque le gestionnaire de contexte est entré et sorti." - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga vous permet d'utiliser des méthodes normales ou des co-programmes asynchrones en tant que gestionnaires ; Toga gère tout en coulisses pour s'assurer que le gestionnaire est invoqué ou attendu selon les besoins." - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Si vous sauvegardez ces changements et relancez l'application (soit avec `briefcase dev` en mode développement, soit en mettant à jour et en relançant l'application packagée), il n'y aura pas de changements évidents dans l'application. Cependant, lorsque vous cliquez sur le bouton pour déclencher le dialogue, vous pouvez remarquer un certain nombre d'améliorations subtiles :" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -#, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "Le bouton revient à l'état \"décliqué\" au lieu d'être bloqué à l'état \"cliqué\"." - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "L'icône \"beachball\"/\"spinner\" n'apparaît pas" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -#, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Si vous déplacez ou redimensionnez la fenêtre de l'application en attendant que la boîte de dialogue s'affiche, la fenêtre se redessinera." - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -#, fuzzy -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Si vous essayez d'ouvrir un menu d'application, le menu s'affiche immédiatement." - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "Étapes suivantes" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "" - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Nous disposons désormais d'une application élégante et réactive, même lorsqu'elle est en attente d'une API lente. Mais comment s'assurer que l'application continue de fonctionner au fur et à mesure que nous la développons ? Comment tester notre application ? Consultez [Tutoriel 9][tutorial-9] pour le découvrir..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "La méthode est définie comme `async def`, plutôt que comme `def`. Cela indique à Python que la méthode est une co-routine asynchrone." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "L'appel `get` est fait avec un mot-clé `await`. Cela indique à l'application que pendant que nous attendons la réponse du réseau, l'application peut laisser le contrôle à la boucle d'événements." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx``:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" diff --git a/updated-locales/it/LC_MESSAGES/how-to/index.po b/updated-locales/it/LC_MESSAGES/how-to/index.po deleted file mode 100644 index 228dceb9..00000000 --- a/updated-locales/it/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/it/LC_MESSAGES/index.po b/updated-locales/it/LC_MESSAGES/index.po deleted file mode 100644 index da890833..00000000 --- a/updated-locales/it/LC_MESSAGES/index.po +++ /dev/null @@ -1,122 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2024-02-13 12:10+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -#, fuzzy -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Benvenuti al Tutorial di BeeWare!" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -#, fuzzy -msgid "**Write Python. Run Anywhere.**" -msgstr "**Scrivere Python. Esegui ovunque.**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -#, fuzzy -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Benvenuti a BeeWare! In questa esercitazione costruiremo un'interfaccia grafica utilizzando Python e la distribuiremo come applicazione desktop, applicazione mobile e applicazione web a pagina singola. Vedremo anche come utilizzare gli strumenti di BeeWare per eseguire alcune delle attività più comuni che dovrete svolgere come sviluppatori di applicazioni, come ad esempio testare la vostra applicazione." - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -#, fuzzy -msgid "Translations are available" -msgstr "Le traduzioni sono disponibili" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -#, fuzzy -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "Se non vi sentite a vostro agio con l'inglese, sono disponibili traduzioni di questo tutorial in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1} e [汉语]{1}." - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -#, fuzzy -msgid "This is a machine translation!" -msgstr "Questa è una traduzione automatica!" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -#, fuzzy -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Questa versione del tutorial è stata generata da una traduzione automatica. Sappiamo che non è l'ideale, ma abbiamo pensato che una cattiva traduzione fosse meglio di nessuna traduzione." - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -#, fuzzy -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Se volete contribuire a migliorare la traduzione, contattateci! Abbiamo un canale `#translations` in [Discord]{1}. Presentati lì e ti aggiungeremo al team di traduzione." - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -#, fuzzy -msgid "This is a translation!" -msgstr "Questa è una traduzione!" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -#, fuzzy -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Questo documento è una traduzione della versione inglese. La traduzione è stata revisionata da personale umano, ma le sezioni più recenti potrebbero essere generate dalla traduzione automatica o non essere tradotte affatto." - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -#, fuzzy -msgid "What is BeeWare?" -msgstr "Che cos'è BeeWare?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -#, fuzzy -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare non è un singolo prodotto, o strumento, o libreria: è una raccolta di strumenti e librerie, ognuno dei quali lavora insieme per aiutarvi a scrivere applicazioni Python multipiattaforma con un'interfaccia grafica nativa. Include:" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, un toolkit di widget multipiattaforma;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -#, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, uno strumento per impacchettare i progetti Python come artefatti distribuibili che possono essere spediti agli utenti finali;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -#, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Librerie (come [Rubicon ObjC]{1}) per accedere alle librerie native della piattaforma;" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -#, fuzzy -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Costruzioni precompilate di Python che possono essere utilizzate su piattaforme in cui non sono disponibili gli installatori ufficiali di Python." - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -#, fuzzy -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "In questo tutorial utilizzeremo tutti questi strumenti, ma come utente dovrete interagire solo con i primi due (Toga e Briefcase). Tuttavia, ciascuno di questi strumenti può essere utilizzato anche singolarmente: ad esempio, si può usare Briefcase per distribuire un'applicazione senza usare Toga come toolkit per l'interfaccia grafica." - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -#, fuzzy -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "La suite BeeWare è disponibile su macOS, Windows, Linux (utilizzando GTK); su piattaforme mobili come Android e iOS; e per il Web." - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "Andiamo!" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -#, fuzzy -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Siete pronti a provare BeeWare? [Costruiamo un'applicazione multipiattaforma in Python!][tutorial/tutorial-0]" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index 261f3b58..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,138 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index 3d05d7fc..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,149 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2024-02-13 12:14+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -#, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Finora la nostra applicazione ha utilizzato l'icona predefinita \"ape grigia\". Come possiamo aggiornare l'app per utilizzare la nostra icona?" - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -#, fuzzy -msgid "Adding an icon" -msgstr "Aggiunta di un'icona" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**Prossimamente**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Ora abbiamo un'applicazione con un'icona personalizzata sul desktop e sul telefono! Come possiamo condividere questa applicazione con tutti gli altri? Consultate [Tutorial 11][tutorial-11] per scoprirlo..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Esercitazione 10 - Create la vostra applicazione" - -#~ msgid "Next steps" -#~ msgstr "Prossimi passi" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index d6bdb479..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,64 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: 2024-12-10 11:00+0000\n" -"Last-Translator: pp pp \n" -"Language-Team: Italian \n" -"Language: it\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" -"X-Generator: Weblate 5.9-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "Andare avanti" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "" -"Vuoi approfondire degli argomenti in specifico? Qui troverai dei tutorial " -"aggiuntivi che esplorano degli aspetti comuni nello sviluppo delle " -"applicazioni. Ogni tutorial è indipendente, e può essere completato in " -"qualsiasi ordine; tuttavia tutti presumono che tu abbia completato il " -"tutorial di base." - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "Personalizzazione Icone" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "" -"Personalizza l'aspetto delle tue applicazioni sostituendo l'icona " -"predefinita \"gray bee\"." - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "Test Applicazioni" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "" -"Come fai ad assicurarti che la tua applicazione funzioni, e che continui a " -"funzionare? Aggiungendo una suite di prova al tuo progetto!" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "Accesso Fotocamera" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "" -"Usa la fotocamera sul tuo dispositivo mobile, o fisso, per catturare e " -"visualizzare un immagine dall'interno della tua applicazione." diff --git a/updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index 28ca1c95..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,152 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2024-12-10 11:00+0000\n" -"Last-Translator: pp pp \n" -"Language-Team: Italian \n" -"Language: it\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" -"X-Generator: Weblate 5.9-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -msgid "Testing times" -msgstr "Tempi di verifica" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -#, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "La maggior parte dello sviluppo del software non comporta la scrittura di nuovo codice, ma la modifica di quello esistente. Assicurarsi che il codice esistente continui a funzionare nel modo in cui ci aspettiamo è una parte fondamentale del processo di sviluppo del software. Un modo per garantire il comportamento della nostra applicazione è una *serie di test*." - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -#, fuzzy -msgid "Running the test suite" -msgstr "Esecuzione della suite di test" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -#, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Si scopre che il nostro progetto ha già una suite di test! Quando abbiamo generato il nostro progetto, sono state generate due directory di primo livello: `src` e `tests`. La cartella `src` contiene il codice della nostra applicazione; la cartella `tests` contiene la nostra suite di test. All'interno della cartella `tests` c'è un file chiamato `test_app.py` con il seguente contenuto:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -#, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Questo è un [Pytest]{1} *caso di test* - un blocco di codice che può essere eseguito per verificare un comportamento dell'applicazione. In questo caso, il test è un segnaposto e non verifica nulla della nostra applicazione, ma è un test che possiamo eseguire." - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -#, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Possiamo eseguire questa suite di test usando l'opzione `--test` di `briefcase dev`. Poiché è la prima volta che si eseguono dei test, è necessario inserire anche l'opzione `-r` per assicurarsi che anche i requisiti dei test siano installati:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -#, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Successo! Abbiamo appena eseguito un singolo test che verifica che la matematica di Python funziona nel modo previsto (che sollievo!)." - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Sostituiamo questo test segnaposto con un test per verificare che il nostro metodo `greeting()` si comporti come ci aspettiamo. Sostituire il contenuto di `test_app.py` con il seguente:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -#, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Questo definisce due nuovi test, che verificano i due comportamenti che ci aspettiamo di vedere: l'output quando viene fornito un nome e l'output quando il nome è vuoto." - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -#, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Ora possiamo eseguire nuovamente la suite di test. Questa volta non è necessario fornire l'opzione `-r`, poiché i requisiti per i test sono già stati installati; è sufficiente usare l'opzione `--test`:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Eccellente! Il nostro metodo di utilità `greeting()` funziona come previsto." - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -#, fuzzy -msgid "Test driven development" -msgstr "Sviluppo guidato dai test" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Ora che abbiamo una suite di test, possiamo usarla per guidare lo sviluppo di nuove funzionalità. Modifichiamo la nostra applicazione per avere un saluto speciale per un utente in particolare. Possiamo iniziare aggiungendo un caso di test per il nuovo comportamento che vorremmo vedere in fondo a `test_app.py`:" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "Quindi, eseguire la suite di test con questo nuovo test:" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Questa volta, vediamo un fallimento del test e l'output spiega la fonte del fallimento: il test si aspetta l'output \"BeeWare the IDEs of Python!\", ma la nostra implementazione di `greeting()` restituisce \"Hello, Brutus\". Modifichiamo l'implementazione di `greeting()` in `src/helloworld/app.py` per avere il nuovo comportamento:" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Se eseguiamo nuovamente i test, vedremo che i nostri test passano:" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -#, fuzzy -msgid "Runtime tests" -msgstr "Test di runtime" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -#, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Finora abbiamo eseguito i test in modalità di sviluppo. Questo è particolarmente utile quando si sviluppano nuove funzionalità, in quanto si può iterare rapidamente sull'aggiunta di test e sull'aggiunta di codice per far sì che tali test passino. Tuttavia, a un certo punto, si vorrà verificare che il codice venga eseguito correttamente anche nell'ambiente dell'applicazione bundle." - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Le opzioni `--test` e `-r` possono essere passate anche al comando `run`. Se si usa `briefcase run --test -r`, verrà eseguita la stessa suite di test, ma all'interno del bundle dell'applicazione confezionata e non nell'ambiente di sviluppo:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Come per `briefcase dev --test`, l'opzione `-r` è necessaria solo la prima volta che si esegue la suite di test, per assicurarsi che le dipendenze del test siano presenti. Nelle esecuzioni successive, si può omettere questa opzione." - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Si può anche usare l'opzione `--test` sui backend mobili: - quindi `briefcase run iOS --test` e `briefcase run android --test` funzioneranno entrambi, eseguendo la suite di test sul dispositivo mobile selezionato." - -#~ msgid "Next steps" -#~ msgstr "Prossimi passi" diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index 7b6666ec..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,266 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2024-02-13 12:10+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -#, fuzzy -msgid "Tutorial 0 - Let's get set up!" -msgstr "Esercitazione 0 - Configuriamoci!" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -#, fuzzy -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Prima di creare la nostra prima applicazione BeeWare, dobbiamo assicurarci di avere tutti i prerequisiti per l'esecuzione di BeeWare." - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -#, fuzzy -msgid "Install Python" -msgstr "Installare Python" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -#, fuzzy -msgid "The first thing we'll need is a working Python interpreter." -msgstr "La prima cosa di cui abbiamo bisogno è un interprete Python funzionante." - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -#, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -#, fuzzy -msgid "You can also install Python through `homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Esistono molti modi diversi per installare Python. Si può installare Python tramite [homebrew]{1}. Si può usare [pyenv]{1} per gestire più installazioni di Python sulla stessa macchina. Gli utenti di Windows possono installare Python dal Windows App Store. Gli utenti con un background di scienza dei dati potrebbero voler usare [Anaconda]{1} o [Miniconda]{1}." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -#, fuzzy -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Se siete su Linux, installerete Python usando il gestore di pacchetti del sistema (`apt` su Debian/Ubuntu/Mint, `dnf` su Fedora, o `pacman` su Arch)." - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Dovete assicurarvi che il sistema Python sia Python 3.8 o più recente; se non lo è (ad esempio, Ubuntu 18.04 viene fornito con Python 3.6), dovrete aggiornare la vostra distribuzione Linux con qualcosa di più recente." - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -#, fuzzy -msgid "Support for Raspberry Pi is limited at this time." -msgstr "Il supporto per Raspberry Pi è al momento limitato." - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "Il supporto per Raspberry Pi è al momento limitato." - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Se siete su macOS o Windows, non importa *come* avete installato Python: importa solo che possiate eseguire `python3` dal prompt dei comandi/terminale del vostro sistema operativo e ottenere un interprete Python funzionante." - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -#, fuzzy -msgid "Install dependencies" -msgstr "Installare le dipendenze" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -#, fuzzy -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Successivamente, installate le dipendenze aggiuntive necessarie per il vostro sistema operativo:" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -#, fuzzy -msgid "Building BeeWare apps on macOS requires:" -msgstr "La creazione di applicazioni BeeWare su macOS richiede:" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -#, fuzzy -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Per supportare lo sviluppo locale, è necessario installare alcuni pacchetti di sistema. L'elenco dei pacchetti necessari varia a seconda della distribuzione:" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -#, fuzzy -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu 20.04+ / Debian 10+**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -#, fuzzy -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -#, fuzzy -msgid "**Arch / Manjaro**" -msgstr "**Arch, Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -#, fuzzy -msgid "Building BeeWare apps on Windows requires:" -msgstr "La creazione di applicazioni BeeWare su Windows richiede:" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -#, fuzzy -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, un sistema di controllo delle versioni. È possibile scaricare Git da [git-scm.com]{1}." - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -#, fuzzy -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Dopo l'installazione di questi strumenti, è necessario assicurarsi di riavviare tutte le sessioni di terminale. Windows esporrà i terminali degli strumenti appena installati solo dopo il completamento dell'installazione." - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -#, fuzzy -msgid "Set up a virtual environment" -msgstr "Impostare un ambiente virtuale" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -#, fuzzy -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Ora creeremo un ambiente virtuale, una \"sandbox\" che potremo usare per isolare il nostro lavoro su questo tutorial dalla nostra installazione principale di Python. Se installiamo dei pacchetti nell'ambiente virtuale, la nostra installazione principale di Python (e qualsiasi altro progetto Python sul nostro computer) non ne risentirà. Se facciamo un pasticcio completo nel nostro ambiente virtuale, potremo semplicemente cancellarlo e ricominciare da capo, senza influenzare nessun altro progetto Python sul nostro computer e senza la necessità di reinstallare Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -#, fuzzy -msgid "Errors running PowerShell Scripts" -msgstr "Errori nell'esecuzione degli script PowerShell" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -#, fuzzy -msgid "If you're using PowerShell, and you receive the error:" -msgstr "Se si utilizza PowerShell e si riceve l'errore:" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -#, fuzzy -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "L'account di Windows non ha i permessi per eseguire gli script. Per risolvere il problema:" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -#, fuzzy -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "Eseguire `set-executionpolicy RemoteSigned`" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -#, fuzzy -msgid "Select `Y` to change the execution policy." -msgstr "Selezionare `Y` per modificare il criterio di esecuzione." - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -#, fuzzy -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Una volta fatto questo, si può rieseguire `beeware-venv\\Scripts\\activate.ps1` nella sessione PowerShell originale (o in una nuova sessione nella stessa directory)." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -#, fuzzy -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Se questo ha funzionato, il prompt dovrebbe essere cambiato: dovrebbe avere il prefisso `(beeware-venv)`. Questo permette di sapere che ci si trova nell'ambiente virtuale BeeWare. Ogni volta che si lavora a questo tutorial, bisogna assicurarsi che l'ambiente virtuale sia attivato. In caso contrario, eseguire nuovamente l'ultimo comando (il comando `activate`) per riattivare l'ambiente." - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -#, fuzzy -msgid "Alternative virtual environments" -msgstr "Ambienti virtuali alternativi" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -#, fuzzy -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Se si usa Anaconda o miniconda, forse si ha più familiarità con l'uso degli ambienti conda. Potreste anche aver sentito parlare di `virtualenv`, un predecessore del modulo `venv` integrato in Python. Come per le installazioni di Python, se siete su macOS o Windows, non importa *come* create il vostro ambiente virtuale, purché ne abbiate uno. Se siete su Linux, dovreste usare `venv` e il Python di sistema." - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -#, fuzzy -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a [creare la nostra prima applicazione BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Eseguire Windows PowerShell come amministratore." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, un sistema di controllo delle versioni. È incluso in Xcode o negli strumenti per sviluppatori a riga di comando, installati in precedenza." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distribuzioni Python alternative" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Se utilizzate Linux, dovreste usare il Python di sistema fornito dal vostro sistema operativo. Sarete in grado di completare *la maggior parte* di questo tutorial utilizzando un Python non di sistema, ma non sarete in grado di pacchettizzare la vostra applicazione per distribuirla ad altri." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Se si utilizza macOS, una versione recente di Python è inclusa in Xcode o negli strumenti di sviluppo a riga di comando. Per verificare se ne disponete già, eseguite il seguente comando:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Se Python è installato, verrà visualizzato il suo numero di versione. In caso contrario, verrà richiesto di installare gli strumenti di sviluppo a riga di comando." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index 1072f0a5..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,221 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-13 12:10+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -#, fuzzy -msgid "Tutorial 1 - Your first app" -msgstr "Esercitazione 1 - La vostra prima applicazione" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -#, fuzzy -msgid "We're ready to create our first application." -msgstr "Siamo pronti a creare la nostra prima applicazione." - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -#, fuzzy -msgid "Install the BeeWare tools" -msgstr "Installare gli strumenti BeeWare" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -#, fuzzy -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno strumento di BeeWare che può essere usato per confezionare l'applicazione da distribuire agli utenti finali, ma può anche essere usato per avviare un nuovo progetto. Assicuratevi di essere nella cartella `beeware-tutorial` creata in [Tutorial 0][tutorial-0], con l'ambiente virtuale `beeware-venv` attivato ed eseguite:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -#, fuzzy -msgid "Possible errors during installation" -msgstr "Possibili errori durante l'installazione" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -#, fuzzy -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Se si riscontrano errori durante l'installazione, è quasi certamente perché alcuni dei requisiti di sistema non sono stati installati. Assicurarsi di aver [installato tutti i pre-requisiti della piattaforma ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -#, fuzzy -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "È importante utilizzare `python -m pip`, piuttosto che un semplice `pip`. Briefcase deve assicurarsi di avere una versione aggiornata di `pip` e `setuptools`, e un'invocazione nuda di `pip` non può autoaggiornarsi. Se volete saperne di più, [Brett Cannon ha un post dettagliato sul blog sul problema]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -#, fuzzy -msgid "Bootstrap a new project" -msgstr "Bootstrap di un nuovo progetto" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -#, fuzzy -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Avviamo il nostro primo progetto BeeWare! Useremo il comando `new` di Briefcase per creare un'applicazione chiamata **Hello World**. Eseguite il seguente comando dal prompt dei comandi:" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -#, fuzzy -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. Ai fini di questa esercitazione, utilizzate quanto segue:" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -#, fuzzy -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Nome formale** - Accettare il valore predefinito: `Hello World`." - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -#, fuzzy -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**Nome applicazione** - Accettare il valore predefinito: `helloworld`." - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -#, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Se si possiede un proprio dominio, inserirlo in ordine inverso. (Ad esempio, se si possiede il dominio \"cupcakes.com\", inserire `com.cupcakes` come bundle). Se non si possiede un dominio proprio, accettare il bundle predefinito (`com.example`)." - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -#, fuzzy -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Nome del progetto** - Accettare il valore predefinito: `Hello World`." - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -#, fuzzy -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Descrizione** - Accettare il valore predefinito (o, se si vuole essere molto creativi, creare una descrizione personalizzata)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -#, fuzzy -msgid "**Author** - Enter your own name here." -msgstr "**Autore** - Inserire qui il proprio nome." - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -#, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Email dell'autore** - Inserire il proprio indirizzo e-mail. Verrà utilizzato nel file di configurazione, nel testo della guida e ovunque sia richiesto un indirizzo e-mail quando si invia l'applicazione a un app store." - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -#, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - L'URL della pagina di destinazione dell'applicazione. Anche in questo caso, se si possiede un dominio proprio, inserire un URL di quel dominio (compreso `https://`). Altrimenti, accettare l'URL predefinito (`https://example.com/helloworld`). Questo URL non deve esistere (per ora); sarà usato solo se si pubblica l'applicazione su un app store." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -#, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**Licenza** - Accettare la licenza predefinita (BSD). Questo non influisce in alcun modo sul funzionamento del tutorial, quindi se si hanno sentimenti particolarmente forti riguardo alla scelta della licenza, si può scegliere liberamente un'altra licenza." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -#, fuzzy -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**Quadro GUI** - Accettare l'opzione predefinita, Toga (il toolkit GUI di BeeWare)." - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -#, fuzzy -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete seguito questo tutorial fino a questo punto e avete accettato le impostazioni predefinite come descritto, il vostro file system dovrebbe avere un aspetto simile a:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -#, fuzzy -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Questo scheletro è in realtà un'applicazione completamente funzionante, senza aggiungere altro. La cartella `src` contiene tutto il codice dell'applicazione, la cartella `tests` contiene una suite di test iniziale e il file `pyproject.toml` descrive come confezionare l'applicazione per la distribuzione. Se si apre `pyproject.toml` in un editor, si vedranno i dettagli di configurazione appena forniti a Briefcase." - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -#, fuzzy -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Ora che abbiamo un'applicazione stub, possiamo usare Briefcase per eseguire l'applicazione." - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -#, fuzzy -msgid "Run the app in developer mode" -msgstr "Eseguire l'applicazione in modalità sviluppatore" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -#, fuzzy -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Spostatevi nella cartella del progetto `helloworld` e dite a briefcase di avviare il progetto in modalità sviluppatore (o `dev`):" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -#, fuzzy -msgid "This should open a GUI window:" -msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -#, fuzzy -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Esercitazione Hello World 1 finestra, su macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Esercitazione Hello World 1 finestra, su Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Finestra Hello World Tutorial 1, su Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Premete il pulsante di chiusura (o selezionate Quit dal menu dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto un'applicazione nativa standalone in Python!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -#, fuzzy -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. Ora possiamo aggiungere un po' di logica per far fare alla nostra applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], realizzeremo un'interfaccia utente più utile per la nostra applicazione." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Uno degli strumenti di BeeWare è **Briefcase**. Briefcase può essere utilizzato per confezionare l'applicazione da distribuire agli utenti finali, ma anche per avviare un nuovo progetto." - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index b43058d1..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,301 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-13 12:11+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -#, fuzzy -msgid "Tutorial 2 - Making it interesting" -msgstr "Esercitazione 2 - Rendere interessante" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -#, fuzzy -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che è stato generato per noi." - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -#, fuzzy -msgid "What was generated" -msgstr "Cosa è stato generato" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -#, fuzzy -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "Nella cartella `src/helloworld`, si dovrebbero vedere 3 file: `__init__.py`, `__main__.py` e `app.py`." - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -#, fuzzy -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` segna la cartella `helloworld` come un modulo Python importabile. È un file vuoto; il solo fatto che esista indica all'interprete Python che la cartella `helloworld` definisce un modulo." - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -#, fuzzy -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` segna il modulo `helloworld` come un tipo speciale di modulo, un modulo eseguibile. Se si cerca di eseguire il modulo `helloworld` usando `python -m helloworld`, il file `__main__.py` è il punto in cui Python inizierà l'esecuzione. Il contenuto di `__main__.py` è relativamente semplice:" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -#, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Cioè, importa il metodo `main` dall'applicazione `helloworld` e, se viene eseguito come punto di ingresso, chiama il metodo main() e avvia il ciclo principale dell'applicazione. Il ciclo principale è il modo in cui un'applicazione GUI ascolta gli input dell'utente (come i clic del mouse e la pressione della tastiera)." - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -#, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "Il file più interessante è `app.py`: contiene la logica che crea la finestra della nostra applicazione:" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -#, fuzzy -msgid "Let's go through this line by line:" -msgstr "Esaminiamo questa riga per riga:" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -#, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Per prima cosa, importiamo il toolkit di widget `toga` e alcune classi e costanti di utilità legate allo stile. Il nostro codice non le usa ancora, ma le useremo a breve." - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -#, fuzzy -msgid "Then, we define a class:" -msgstr "Quindi, definiamo una classe:" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -#, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Ogni applicazione Toga ha una singola istanza `toga.App`, che rappresenta l'entità in esecuzione che è l'applicazione. L'applicazione può finire per gestire più finestre, ma per le applicazioni semplici ci sarà una sola finestra principale." - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -#, fuzzy -msgid "Next, we define a `startup()` method:" -msgstr "Quindi, definiamo un metodo `startup()`:" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -#, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "La prima cosa che il metodo di avvio fa è definire un riquadro principale. Lo schema di layout di Toga si comporta in modo simile all'HTML. Si costruisce un'applicazione costruendo un insieme di riquadri, ognuno dei quali contiene altri riquadri, o widget veri e propri. Si applicano poi degli stili a questi riquadri per definire il modo in cui consumeranno lo spazio disponibile della finestra." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -#, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "In questa applicazione, definiamo una singola casella, ma non inseriamo nulla al suo interno." - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -#, fuzzy -msgid "Next, we define a window into which we can put this empty box:" -msgstr "Quindi, definiamo una finestra in cui inserire questa casella vuota:" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -#, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Questo crea un'istanza di `toga.MainWindow`, che avrà un titolo corrispondente al nome dell'applicazione. Una finestra principale è un tipo speciale di finestra in Toga: è una finestra strettamente legata al ciclo di vita dell'applicazione. Quando la finestra principale viene chiusa, l'applicazione esce. La finestra principale è anche la finestra che contiene il menu dell'applicazione (se si utilizza una piattaforma come Windows in cui le barre dei menu fanno parte della finestra)" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -#, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Aggiungiamo quindi la nostra casella vuota come contenuto della finestra principale e istruiamo l'applicazione a mostrare la nostra finestra:" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -#, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Infine, definiamo un metodo `main()`. Questo è ciò che crea l'istanza della nostra applicazione:" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -#, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Questo metodo `main()` è quello che viene importato e invocato da `__main__.py`. Crea e restituisce un'istanza della nostra applicazione `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -#, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Questa è l'applicazione Toga più semplice possibile. Inseriamo nell'applicazione alcuni contenuti personali e facciamo in modo che l'applicazione faccia qualcosa di interessante." - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -#, fuzzy -msgid "Adding some content of our own" -msgstr "Aggiunta di contenuti propri" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -#, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Non rimuovete le importazioni all'inizio del file o il `main()` in fondo. È necessario aggiornare solo la classe `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -#, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modificate la classe `HelloWorld` all'interno di `src/helloworld/app.py` in modo che abbia questo aspetto:" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -#, fuzzy -msgid "Let's look in detail at what has changed." -msgstr "Vediamo nel dettaglio cosa è cambiato." - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -#, fuzzy -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Stiamo ancora creando un riquadro principale, ma ora stiamo applicando uno stile:" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -#, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Il sistema di layout integrato di Toga si chiama \"Pack\". Si comporta in modo molto simile ai CSS. Si definiscono gli oggetti in una gerarchia: in HTML, gli oggetti sono `
`, `` e altri elementi DOM; in Toga, sono widget e box. Si possono poi assegnare stili ai singoli elementi. In questo caso, stiamo indicando che si tratta di un riquadro `COLUMN`, cioè un riquadro che consumerà tutta la larghezza disponibile e si espanderà in altezza man mano che si aggiungono contenuti, ma cercherà di essere il più corto possibile." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -#, fuzzy -msgid "Next, we define a couple of widgets:" -msgstr "Successivamente, definiamo un paio di widget:" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -#, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Qui definiamo una Label e un TextInput. A entrambi i widget sono associati degli stili; l'etichetta avrà un padding di 5px a sinistra e a destra e nessun padding in alto e in basso. Il TextInput è contrassegnato come flessibile, cioè assorbirà tutto lo spazio disponibile nel suo asse di layout." - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -#, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "Il TextInput è assegnato come variabile di istanza della classe. Questo ci consente di accedere facilmente all'istanza del widget, che utilizzeremo tra poco." - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -#, fuzzy -msgid "Next, we define a box to hold these two widgets:" -msgstr "Quindi, definiamo un riquadro per contenere questi due widget:" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -#, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "Il `nome_box` è un box come quello principale, ma questa volta è un box `ROW`. Ciò significa che il contenuto sarà aggiunto orizzontalmente e cercherà di avere una larghezza il più possibile ridotta. Il riquadro ha anche un padding di 5px su tutti i lati." - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -#, fuzzy -msgid "Now we define a button:" -msgstr "Ora definiamo un pulsante:" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "Il pulsante ha anche 5px di padding su tutti i lati. Definiamo anche un *handler*, un metodo da invocare quando il pulsante viene premuto." - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -#, fuzzy -msgid "Then, we add the name box and the button to the main box:" -msgstr "Quindi, aggiungiamo la casella del nome e il pulsante alla casella principale:" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -#, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Questo completa il nostro layout; il resto del metodo di avvio è come in precedenza: definire una MainWindow e assegnare il riquadro principale come contenuto della finestra:" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -#, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "L'ultima cosa da fare è definire il gestore del pulsante. Un gestore può essere qualsiasi metodo, generatore o co-routine asincrona; accetta come argomento il widget che ha generato l'evento e sarà invocato ogni volta che il pulsante viene premuto:" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -#, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "Il corpo del metodo è una semplice istruzione di stampa, che però interroga il valore corrente dell'input name e utilizza il suo contenuto come testo stampato." - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -#, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Ora che abbiamo apportato queste modifiche, possiamo vederne l'aspetto avviando nuovamente l'applicazione. Come prima, useremo la modalità sviluppatore:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -#, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Si noterà che questa volta *non* installa le dipendenze. Briefcase è in grado di rilevare che l'applicazione è già stata eseguita in precedenza e, per risparmiare tempo, eseguirà solo l'applicazione. Se si aggiungono nuove dipendenze alla propria applicazione, ci si può assicurare che vengano installate passando l'opzione `-r` quando si esegue `briefcase dev``." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -#, fuzzy -msgid "This should open a GUI window:" -msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Finestra Hello World Tutorial 2, su macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Finestra Hello World Tutorial 2, su Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Finestra Hello World Tutorial 2, su Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -#, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Se si inserisce un nome nella casella di testo e si preme il pulsante GUI, si dovrebbe vedere l'output nella console in cui è stata avviata l'applicazione." - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -#, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona solo sul nostro computer. Impacchettiamo questa applicazione per la distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra applicazione come un programma di installazione autonomo da inviare a un amico, a un cliente o da caricare su un App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index 97628c50..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,318 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2024-02-13 12:11+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Esercitazione 3 - Confezionamento per la distribuzione" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -#, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Finora abbiamo eseguito la nostra applicazione in \"modalità sviluppatore\". Questo ci consente di eseguire facilmente la nostra applicazione a livello locale, ma ciò che vogliamo veramente è poterla fornire ad altri." - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -#, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Tuttavia, non vogliamo insegnare ai nostri utenti come installare Python, creare un ambiente virtuale, clonare un repository git ed eseguire Briefcase in modalità sviluppatore. Preferiamo dare loro un programma di installazione e far sì che l'applicazione funzioni e basta." - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -#, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase può essere utilizzato per impacchettare l'applicazione per la distribuzione in questo modo." - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -#, fuzzy -msgid "Creating your application scaffold" -msgstr "Creare lo scaffold dell'applicazione" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -#, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Poiché è la prima volta che impacchettiamo la nostra applicazione, dobbiamo creare alcuni file di configurazione e altre impalcature per supportare il processo di impacchettamento. Dalla cartella `helloworld`, eseguire:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -#, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Probabilmente avete appena visto passare delle pagine di contenuto nel vostro terminale... cosa è successo? Briefcase ha fatto quanto segue:" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -#, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Ha **generato un modello di applicazione**. Per costruire un programma di installazione nativo sono necessari molti file e configurazioni, oltre al codice dell'applicazione vera e propria. Questa impalcatura aggiuntiva è quasi la stessa per ogni applicazione sulla stessa piattaforma, tranne che per il nome dell'applicazione vera e propria che si sta costruendo, quindi Briefcase fornisce un modello di applicazione per ogni piattaforma che supporta. Questo passo esegue il modello, sostituendo il nome dell'applicazione, l'ID del bundle e altre proprietà del file di configurazione, come richiesto per supportare la piattaforma su cui si sta costruendo." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -#, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Se non si è soddisfatti del modello fornito da Briefcase, è possibile crearne uno proprio. Tuttavia, probabilmente non è il caso di farlo prima di aver acquisito un po' di esperienza nell'uso del modello predefinito di Briefcase." - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -#, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Ha **scaricato e installato un pacchetto di supporto**. L'approccio alla pacchettizzazione adottato da Briefcase è meglio descritto come \"la cosa più semplice che possa funzionare\": spedisce un interprete Python completo e isolato come parte di ogni applicazione che costruisce. Questo è leggermente inefficiente dal punto di vista dello spazio: se si hanno 5 applicazioni pacchettizzate con Briefcase, si avranno 5 copie dell'interprete Python. Tuttavia, questo approccio garantisce che ogni applicazione sia completamente indipendente, utilizzando una versione specifica di Python che è nota per funzionare con l'applicazione." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -#, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Anche in questo caso, Briefcase fornisce un pacchetto di supporto predefinito per ogni piattaforma; se lo si desidera, si può fornire il proprio pacchetto di supporto e farlo includere come parte del processo di compilazione. Questo può essere utile se si hanno particolari opzioni nell'interprete Python che devono essere abilitate, o se si vogliono togliere dalla libreria standard i moduli che non servono in fase di esecuzione." - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -#, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase mantiene una cache locale dei pacchetti di supporto, per cui una volta scaricato un pacchetto di supporto specifico, la copia in cache verrà utilizzata nelle build future." - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -#, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Si tratta di **requisiti dell'applicazione installata**. L'applicazione può specificare qualsiasi modulo di terze parti richiesto in fase di esecuzione. Questi saranno installati usando `pip` nel programma di installazione dell'applicazione." - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -#, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Ha **installato il codice dell'applicazione**. L'applicazione avrà il suo codice e le sue risorse (ad esempio, le immagini necessarie per l'esecuzione); questi file vengono copiati nel programma di installazione." - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -#, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Infine, aggiunge qualsiasi risorsa aggiuntiva necessaria al programma di installazione stesso. Questo include cose come le icone che devono essere allegate all'applicazione finale e le immagini della schermata iniziale." - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -#, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Una volta completata questa operazione, se si guarda nella cartella del progetto, si dovrebbe vedere una cartella corrispondente alla propria piattaforma (`macOS`, `linux` o `windows`) che contiene file aggiuntivi. Questa è la configurazione di pacchettizzazione specifica della piattaforma per l'applicazione." - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -#, fuzzy -msgid "Building your application" -msgstr "Creazione dell'applicazione" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -#, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "È ora possibile compilare l'applicazione. Questo passaggio esegue la compilazione binaria necessaria affinché l'applicazione sia eseguibile sulla piattaforma di destinazione." - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -#, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Su macOS, il comando `build` non ha bisogno di *compilare* nulla, ma deve firmare il contenuto del binario in modo che possa essere eseguito. Questa firma è una firma *ad hoc*: funzionerà solo sulla *vostra* macchina; se volete distribuire l'applicazione ad altri, dovrete fornire una firma completa." - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -#, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Una volta completato questo passaggio, la cartella `build` conterrà una cartella `helloworld-0.0.1` che contiene un mirror di un file system Linux `/usr`. Questo file system mirror conterrà una cartella `bin` con un binario di `helloworld`, oltre alle cartelle `lib` e `share` necessarie per supportare il binario." - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -#, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Su Windows, il comando `build` non ha bisogno di *compilare* nulla, ma deve scrivere alcuni metadati in modo che l'applicazione conosca il suo nome, la sua versione e così via." - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Attivazione dell'antivirus" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -#, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Poiché questi metadati vengono scritti direttamente nel binario precompilato che viene lanciato dal modello durante il comando `create`, è possibile che il software antivirus in esecuzione sul computer impedisca la scrittura dei metadati. In questo caso, istruire l'antivirus per consentire l'esecuzione dello strumento (chiamato `rcedit-x64.exe`) e rieseguire il comando precedente." - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -#, fuzzy -msgid "Running your app" -msgstr "Esecuzione dell'applicazione" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -#, fuzzy -msgid "You can now use Briefcase to run your application:" -msgstr "Ora è possibile utilizzare Briefcase per eseguire l'applicazione:" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -#, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "In questo modo si avvia l'esecuzione dell'applicazione nativa, utilizzando l'output del comando `build`." - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -#, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "È possibile notare alcune piccole differenze nell'aspetto dell'applicazione quando è in esecuzione. Ad esempio, le icone e il nome visualizzati dal sistema operativo potrebbero essere leggermente diversi da quelli visualizzati durante l'esecuzione in modalità sviluppatore. Ciò è dovuto anche al fatto che si sta utilizzando l'applicazione pacchettizzata e non solo il codice Python in esecuzione. Dal punto di vista del sistema operativo, ora si sta eseguendo \"un'applicazione\", non \"un programma Python\", e questo si riflette sull'aspetto dell'applicazione." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -#, fuzzy -msgid "Building your installer" -msgstr "Creazione del programma di installazione" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -#, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "È ora possibile pacchettizzare l'applicazione per la distribuzione, utilizzando il comando `package`. Il comando package esegue qualsiasi compilazione necessaria per convertire il progetto scaffolded in un prodotto finale distribuibile. A seconda della piattaforma, ciò può comportare la compilazione di un programma di installazione, l'esecuzione della firma del codice o altre operazioni preliminari alla distribuzione." - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -#, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "La cartella `dist` conterrà un file chiamato `Hello World-0.0.1.dmg`. Se individuate questo file nel Finder e fate doppio clic sulla sua icona, monterete il DMG, ottenendo una copia dell'applicazione Hello World e un collegamento alla cartella Applicazioni per facilitare l'installazione. Trascinate il file dell'app in Applicazioni e avrete installato la vostra applicazione. Inviate il file DMG a un amico, che dovrebbe essere in grado di fare lo stesso." - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -#, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -#, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "L'output del passaggio del pacchetto sarà leggermente diverso a seconda della vostra distribuzione Linux. Se si utilizza una distribuzione derivata da Debian, si vedrà:" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -#, fuzzy -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "La cartella `dist` conterrà il file `.deb` generato." - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -#, fuzzy -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "Se si utilizza una distribuzione basata su RHEL, si vedrà:" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -#, fuzzy -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "La cartella `dist` conterrà il file `.rpm` generato." - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -#, fuzzy -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "Se si utilizza una distribuzione basata su Arch, si vedrà:" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -#, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "La cartella `dist` conterrà il file `.pkg.tar.zst` che è stato generato." - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -#, fuzzy -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Altre distribuzioni Linux non sono attualmente supportate per il packaging." - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -#, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Se volete creare un pacchetto per una distribuzione Linux diversa da quella che state usando, Briefcase può aiutarvi, ma dovrete installare Docker." - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -#, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Gli installatori ufficiali di [Docker Engine]{1} sono disponibili per diverse distribuzioni Unix. Seguite le istruzioni per la vostra piattaforma; tuttavia, assicuratevi di non installare Docker in modalità \"rootless\"." - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -#, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Una volta installato Docker, dovreste essere in grado di avviare un contenitore Linux, ad esempio:" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -#, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "mostrerà un prompt Unix (qualcosa come `root@84444e31cff9:/#`) all'interno di un contenitore Docker Ubuntu 22.04. Digitare Ctrl-D per uscire da Docker e tornare alla shell locale." - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -#, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Una volta installato Docker, si può usare Briefcase per creare un pacchetto per qualsiasi distribuzione Linux supportata da Briefcase, passando un'immagine Docker come argomento. Per esempio, per creare un pacchetto DEB per Ubuntu 22.04 (Jammy), indipendentemente dal sistema operativo in uso, si può eseguire:" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -#, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Questo scaricherà l'immagine Docker per il sistema operativo selezionato, creerà un contenitore in grado di eseguire le build di Briefcase e costruirà il pacchetto dell'applicazione all'interno dell'immagine. Una volta completato, la cartella `dist` conterrà il pacchetto per la distribuzione Linux di destinazione." - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -#, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -#, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Una volta completato questo passaggio, la cartella `dist` conterrà un file chiamato `Hello_World-0.0.1.msi`. Se si fa doppio clic su questo programma di installazione per eseguirlo, si dovrebbe seguire il consueto processo di installazione di Windows. Una volta completata l'installazione, nel menu di avvio sarà presente una voce \"Hello World\"." - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita su piattaforme desktop. Ma cosa succede quando dobbiamo aggiornare il codice della nostra applicazione? Come facciamo a inserire gli aggiornamenti nella nostra applicazione pacchettizzata? Consultate [Tutorial 4][./tutorial-4] per scoprirlo..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index eae2c85c..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,177 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2024-02-13 12:12+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "Esercitazione 4 - Aggiornamento dell'applicazione" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -#, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "Nell'ultima esercitazione abbiamo confezionato la nostra applicazione come applicazione nativa. Se avete a che fare con un'applicazione reale, la storia non finisce qui: probabilmente farete dei test, scoprirete dei problemi e dovrete apportare delle modifiche. Anche se la vostra applicazione è perfetta, alla fine vorrete pubblicare la versione 2 della vostra applicazione con dei miglioramenti." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -#, fuzzy -msgid "So - how do you update your installed app when you make code changes?" -msgstr "Come si aggiorna l'applicazione installata quando si apportano modifiche al codice?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -#, fuzzy -msgid "Updating application code" -msgstr "Aggiornamento del codice dell'applicazione" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -#, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "La nostra applicazione attualmente stampa sulla console quando si preme il pulsante. Tuttavia, le applicazioni GUI non dovrebbero utilizzare la console per l'output. Devono utilizzare le finestre di dialogo per comunicare con gli utenti." - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -#, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Aggiungiamo una finestra di dialogo per dire ciao, invece di scrivere nella console. Modificare il callback `say_hello` in modo che assomigli a questo:" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -#, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Questo indica a Toga di aprire una finestra di dialogo modale quando viene premuto il pulsante." - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -#, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Se si esegue `briefcase dev`, si inserisce un nome e si preme il pulsante , si vedrà la nuova finestra di dialogo:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Esercitazione Hello World 4, su macOS" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Esercitazione Hello World 4, su Linux" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Esercitazione Hello World 4, su Windows" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -#, fuzzy -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Perché? Beh, `briefcase dev` opera eseguendo il vostro codice sul posto - cerca di produrre un ambiente di runtime il più realistico possibile per il vostro codice, ma non fornisce o utilizza alcuna infrastruttura della piattaforma per avvolgere il vostro codice come un'applicazione. Parte del processo di impacchettamento dell'applicazione comporta la copia del codice *nel* bundle dell'applicazione e, al momento, l'applicazione contiene ancora il vecchio codice." - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -#, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Quindi, dobbiamo dire a briefcase di aggiornare l'applicazione, copiando la nuova versione del codice. Potremmo farlo cancellando la vecchia cartella della piattaforma e ricominciando da zero. Tuttavia, Briefcase offre un modo più semplice: è possibile aggiornare il codice dell'applicazione esistente:" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -#, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Se Briefcase non riesce a trovare il modello impalcabile, invocherà automaticamente `create` per generare un nuovo scaffold." - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -#, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Ora che abbiamo aggiornato il codice dell'installatore, possiamo eseguire `briefcase build` per ricompilare l'applicazione, `briefcase run` per eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare l'applicazione per la distribuzione." - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -#, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3][tutorial-3], per il tutorial si consiglia di eseguire il pacchetto `briefcase` con il flag `--adhoc-sign` per evitare la complessità di impostare un'identità di firma del codice e mantenere il tutorial il più semplice possibile)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -#, fuzzy -msgid "Update and run in one step" -msgstr "Aggiornamento ed esecuzione in un unico passaggio" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -#, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Se state iterando rapidamente le modifiche al codice, è probabile che vogliate apportare una modifica al codice, aggiornare l'applicazione e rieseguirla immediatamente. Per la maggior parte degli scopi, la modalità sviluppatore (`briefcase dev``) è il modo più semplice per eseguire questo tipo di iterazione rapida; tuttavia, se si sta testando qualcosa sul modo in cui l'applicazione viene eseguita come binario nativo, o si sta cercando un bug che si manifesta solo quando l'applicazione è in forma pacchettizzata, potrebbe essere necessario utilizzare ripetute chiamate a `briefcase run`. Per semplificare il processo di aggiornamento ed esecuzione dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -#, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Proviamo a fare un'altra modifica. Si sarà notato che se non si digita un nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -#, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "All'inizio del file, tra le importazioni e la definizione della `classe HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto appropriato a seconda del valore del nome fornito:" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -#, fuzzy -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Quindi, modificare il callback `say_hello` per utilizzare questo nuovo metodo di utilità:" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -#, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Eseguire l'applicazione in modalità di sviluppo (con `briefcase dev`) per verificare che la nuova logica funzioni; quindi aggiornare, compilare ed eseguire l'applicazione con un solo comando:" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -#, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "Il comando package accetta anche l'argomento `-u`, per cui se si apporta una modifica al codice dell'applicazione e si desidera eseguire immediatamente il repackaging, si può eseguire `briefcase package -u`." - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Ora abbiamo la nostra applicazione confezionata per la distribuzione su piattaforme desktop e siamo stati in grado di aggiornare il codice della nostra applicazione." - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Ma che dire della telefonia mobile? In [Tutorial 5][tutorial-5/index], convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index 9ff5835d..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,257 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-13 12:12+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Esercitazione 5 - Il mobile: Android" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -#, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Ora prenderemo la nostra applicazione e la distribuiremo come applicazione Android." - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -#, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "Il processo di distribuzione di un'applicazione su Android è molto simile a quello di un'applicazione desktop. Briefcase gestisce l'installazione delle dipendenze per Android, tra cui l'SDK Android, l'emulatore Android e un compilatore Java." - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -#, fuzzy -msgid "Create an Android app and compile it" -msgstr "Creare un'applicazione Android e compilarla" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -#, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Per prima cosa, eseguire il comando `create`. Questo scarica un modello di applicazione Android e vi aggiunge il codice Python." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Quando si esegue `briefcase create android` per la prima volta, Briefcase scarica un JDK Java e l'SDK Android. Le dimensioni dei file e i tempi di download possono essere considerevoli; il download può richiedere un po' di tempo (10 minuti o più, a seconda della velocità della connessione a Internet). Al termine del download, verrà richiesto di accettare la licenza Android SDK di Google." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -#, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Una volta completata questa operazione, nel nostro progetto avremo una cartella `buildhelloworld\\android\\gradle`, che conterrà un progetto Android con una configurazione di compilazione Gradle. Questo progetto conterrà il codice dell'applicazione e un pacchetto di supporto contenente l'interprete Python." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -#, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Possiamo quindi usare il comando `build` di Briefcase per compilare questo file in un'applicazione Android APK." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "Gradle può sembrare bloccato" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -#, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante il passaggio `briefcase build android`, Gradle (lo strumento di creazione della piattaforma Android) stampa `CONFIGURING: 100%` e sembra non fare nulla. Non preoccupatevi, non è bloccato: sta scaricando altri componenti dell'SDK Android. A seconda della velocità della connessione a Internet, potrebbero essere necessari altri 10 minuti (o più). Questo ritardo dovrebbe verificarsi solo la prima volta che si esegue `build`; gli strumenti vengono memorizzati nella cache e nella compilazione successiva verranno utilizzate le versioni memorizzate nella cache." - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -#, fuzzy -msgid "Run the app on a virtual device" -msgstr "Eseguire l'applicazione su un dispositivo virtuale" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -#, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Ora siamo pronti a eseguire la nostra applicazione. È possibile utilizzare il comando `run` di Briefcase per eseguire l'applicazione su un dispositivo Android. Cominciamo con l'esecuzione su un emulatore Android." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -#, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Per eseguire la vostra applicazione, eseguite `briefcase run android`. In questo modo, verrà richiesto un elenco di dispositivi su cui è possibile eseguire l'applicazione. L'ultima voce sarà sempre un'opzione per creare un nuovo emulatore Android." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Ora possiamo scegliere il dispositivo desiderato. Selezionate l'opzione \"Crea un nuovo emulatore Android\" e accettate la scelta predefinita per il nome del dispositivo (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -#, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` avvierà automaticamente il dispositivo virtuale. Quando il dispositivo si avvia, si vedrà il logo di Android:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -#, fuzzy -msgid "Android virtual device booting" -msgstr "Avvio del dispositivo virtuale Android" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -#, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Una volta terminato l'avvio del dispositivo, Briefcase installerà l'applicazione sul dispositivo. Verrà visualizzata brevemente una schermata di avvio:" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -#, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Dispositivo virtuale Android completamente avviato, sulla schermata del launcher" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -#, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "L'applicazione si avvia. Durante l'avvio dell'applicazione verrà visualizzata una schermata iniziale:" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -#, fuzzy -msgid "App splash screen" -msgstr "Schermata iniziale dell'app" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -#, fuzzy -msgid "The emulator didn't start!" -msgstr "L'emulatore non si è avviato!" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -#, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "L'emulatore Android è un software complesso che si basa su una serie di caratteristiche dell'hardware e del sistema operativo, caratteristiche che potrebbero non essere disponibili o abilitate su macchine più vecchie. In caso di difficoltà nell'avvio dell'emulatore Android, consultare la sezione [Requisiti e raccomandazioni]{1} della documentazione per sviluppatori Android." - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "Al primo avvio, l'applicazione deve scompattarsi sul dispositivo. Questa operazione può richiedere alcuni secondi. Una volta scompattata, verrà visualizzata la versione Android dell'applicazione desktop:" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -#, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "App dal Tutorial 2, completamente avviata" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -#, fuzzy -msgid "Demo app fully launched" -msgstr "Applicazione demo completamente lanciata" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -#, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Se non si riesce a vedere l'avvio dell'applicazione, potrebbe essere necessario controllare il terminale in cui è stato eseguito `briefcase run` e cercare eventuali messaggi di errore." - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -#, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -#, fuzzy -msgid "Run the app on a physical device" -msgstr "Eseguire l'applicazione su un dispositivo fisico" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -#, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Se si dispone di un telefono o di un tablet Android fisico, è possibile collegarlo al computer con un cavo USB e quindi utilizzare la valigetta per puntare al dispositivo fisico." - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -#, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android richiede la preparazione del dispositivo prima di poterlo utilizzare per lo sviluppo. È necessario apportare due modifiche alle opzioni del dispositivo:" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -#, fuzzy -msgid "Enable developer options" -msgstr "Abilitare le opzioni per gli sviluppatori" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -#, fuzzy -msgid "Enable USB debugging" -msgstr "Abilitare il debug USB" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "I dettagli su come apportare queste modifiche sono disponibili [nella documentazione per sviluppatori Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Una volta completati questi passaggi, il dispositivo dovrebbe apparire nell'elenco dei dispositivi disponibili quando si esegue `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -#, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Qui possiamo vedere un nuovo dispositivo fisico con il suo numero di serie nell'elenco di distribuzione - in questo caso, un Pixel 3a. In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il numero di serie del telefono a Briefcase (in questo caso, `briefcase run android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul dispositivo, senza richiedere nulla." - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "Il mio dispositivo non appare!" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -#, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Se il dispositivo non compare in questo elenco, significa che non è stato attivato il debug USB (oppure che il dispositivo non è collegato!)." - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -#, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Se il dispositivo appare, ma è elencato come \"Dispositivo sconosciuto (non autorizzato per lo sviluppo)\", la modalità sviluppatore non è stata abilitata correttamente. Eseguire nuovamente [i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index 7ef4949d..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,99 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-13 12:12+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Esercitazione 5 - Il mobile: iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -#, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Una volta installato Xcode, possiamo prendere la nostra applicazione e distribuirla come applicazione iOS." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "Il processo di distribuzione di un'applicazione su iOS è molto simile a quello per la distribuzione come applicazione desktop. Per prima cosa, si esegue il comando `create`, ma questa volta si specifica che si vuole creare un'applicazione iOS:" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -#, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Una volta completata questa operazione, avremo una cartella `build/helloworld/ios/xcode` contenente un progetto Xcode, oltre alle librerie di supporto e al codice dell'applicazione necessario per l'applicazione." - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -#, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Si può quindi usare Briefcase per compilare l'applicazione usando `briefcase build iOS`:" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -#, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Ora siamo pronti a eseguire la nostra applicazione, usando `briefcase run iOS`. Verrà richiesto di selezionare un dispositivo per il quale compilare; se sono stati installati simulatori per più versioni dell'SDK di iOS, potrebbe anche essere richiesto quale versione di iOS si desidera utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle mostrate in questo output; come minimo, l'elenco dei dispositivi sarà diverso. Per i nostri scopi, non importa quale simulatore si sceglie." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -#, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Questo avvierà il simulatore iOS, installerà la vostra applicazione e la avvierà. Si dovrebbe vedere il simulatore avviarsi e alla fine aprire l'applicazione iOS:" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Esercitazione Hello World 5, su iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -#, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a Briefcase di usare quel simulatore fornendo un'opzione `-d` (o `--device`). Utilizzando il nome del dispositivo selezionato al momento della creazione dell'applicazione, eseguite:" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -#, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Se sono disponibili più versioni di iOS, Briefcase sceglierà la versione di iOS più alta; se si vuole scegliere una versione di iOS in particolare, si dice di usare quella versione specifica:" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -#, fuzzy -msgid "Or, you can name a specific device UDID:" -msgstr "In alternativa, è possibile assegnare un nome UDID a un dispositivo specifico:" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Per compilare le applicazioni iOS è necessario Xcode, disponibile gratuitamente sull [App Store di macOS]{1}." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index 48d96b2e..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2024-02-13 12:12+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -#, fuzzy -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Esercitazione 5 - Il mobile" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -#, fuzzy -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Finora abbiamo eseguito e testato la nostra applicazione sul desktop. Tuttavia, BeeWare supporta anche le piattaforme mobili e l'applicazione che abbiamo scritto può essere distribuita anche sul vostro dispositivo mobile!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -#, fuzzy -msgid "iOS applications can only be compiled on macOS." -msgstr "le applicazioni iOS possono essere compilate solo su macOS." - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -#, fuzzy -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Le applicazioni Android possono essere compilate su macOS, Windows o Linux." - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Costruiamo la nostra applicazione per iOS!][iOS]" - -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Costruiamo la nostra applicazione per Android!][android]" - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index aa8fee9e..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 11:48+0800\n" -"PO-Revision-Date: 2024-02-13 12:12+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language-Team: it \n" -"Language: it\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" -"Generated-By: Babel 2.14.0\n" -"X-Generator: Poedit 3.4.2\n" - -#: ../../tutorial/tutorial-6.rst:3 c77e893e0530491a9eea63edbbcd97d1 -#, fuzzy -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - Mettetelo sul web!" - -#: ../../tutorial/tutorial-6.rst:5 ba3b051ff3f8430b96e4400f32ae9214 -#, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Oltre a supportare le piattaforme mobili, il toolkit di widget Toga supporta anche il Web! Utilizzando la stessa API usata per distribuire le applicazioni desktop e mobili, è possibile distribuire l'applicazione come applicazione web a pagina singola." - -#: ../../tutorial/tutorial-6.rst:9 a9e2e0b744a24ecbbcc3b27c1a3bfbee -#, fuzzy -msgid "Proof of Concept" -msgstr "Prova di concetto" - -#: ../../tutorial/tutorial-6.rst:11 cd58123453da41bda2a149916b923a2b -#, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "Il backend di Toga Web è il meno maturo di tutti i backend di Toga. È abbastanza maturo per mostrare alcune funzionalità, ma è probabile che sia pieno di bug e che manchino molti dei widget disponibili su altre piattaforme. In questo momento, l'implementazione del Web dovrebbe essere considerata una \"prova di concetto\": sufficiente per dimostrare ciò che si può fare, ma non abbastanza per fare affidamento su uno sviluppo serio." - -#: ../../tutorial/tutorial-6.rst:18 d70c9166dbb4459b98880013d46ec9c4 -#, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Se avete problemi con questa fase del tutorial, potete passare alla pagina successiva." - -#: ../../tutorial/tutorial-6.rst:22 50afe509bb6d437481fbdf176bf6b374 -#, fuzzy -msgid "Deploying as a web app" -msgstr "Distribuzione come applicazione web" - -#: ../../tutorial/tutorial-6.rst:24 fe22b389fcd24950959ce1f3cbd42268 -#, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "Il processo di distribuzione come applicazione web a pagina singola segue lo stesso schema familiare: si crea l'applicazione, la si costruisce e la si esegue. Tuttavia, Briefcase può essere un po' intelligente; se si tenta di eseguire un'applicazione e Briefcase determina che non è stata creata o costruita per la piattaforma a cui è destinata, eseguirà le fasi di creazione e costruzione per voi. Poiché questa è la prima volta che eseguiamo l'applicazione per il Web, possiamo eseguire tutti e tre i passaggi con un solo comando:" - -#: ../../tutorial/tutorial-6.rst:34 08442cd504524177b2a8d6a0a33ef63e -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 940b0816d5ef42dc826edb06d68abf03 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 f3e6dd162ab74f44a184e14dfc2506f5 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 e62f6dea44a24de49600b7b2b9b6e3ca -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Si aprirà un browser web che punta a [http://127.0.0.1:8080](http://127.0.0.1:8080):" - -#: ../../tutorial/tutorial-6.rst:-1 f5801eb897c7486d8cebe14cb60393ea -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Finestra di dialogo Hello World Tutorial 6, in un browser" - -#: ../../tutorial/tutorial-6.rst:154 ba244d1ce1af4838a08ca405e3a6a44e -#, fuzzy -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Se si inserisce il proprio nome e si fa clic sul pulsante, viene visualizzata una finestra di dialogo." - -#: ../../tutorial/tutorial-6.rst:157 20a83da10a2c44e5a58f5a89852560e7 -msgid "How does this work?" -msgstr "Come funziona?" - -#: ../../tutorial/tutorial-6.rst:159 fe172eec14ff48e09bf660601f4eda7e -#, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Questa applicazione web è un sito web statico - una singola pagina sorgente HTML, con alcuni CSS e altre risorse. Briefcase ha avviato un server web locale per servire questa pagina, in modo che il browser possa visualizzarla. Se si volesse mettere in produzione questa pagina web, si potrebbe copiare il contenuto della cartella `www` su qualsiasi server web in grado di servire contenuti statici." - -#: ../../tutorial/tutorial-6.rst:165 cd4d0b53fe834650860a16b3f85fd352 -#, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Ma quando si preme il pulsante, si esegue codice Python... Come funziona? Toga utilizza [PyScript]{1} per fornire un interprete Python nel browser. Briefcase impacchetta il codice dell'applicazione come ruote che PyScript può caricare nel browser. Quando la pagina viene caricata, il codice dell'applicazione viene eseguito nel browser, costruendo l'interfaccia utente utilizzando il DOM del browser. Quando si fa clic su un pulsante, questo esegue il codice di gestione degli eventi nel browser." - -#: ../../tutorial/tutorial-6.rst:173 377320977bf14da0a7a0794a0e7353b4 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-6.rst:175 b07028ccc7aa474898a9ed21e4908c2e -#, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. Possiamo includere nella nostra applicazione le librerie del Python Package Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index 36815f35..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,380 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-02-13 12:13+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Esercitazione 7 - Iniziare questa (terza) festa" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -#, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Finora, l'applicazione che abbiamo costruito ha utilizzato solo il nostro codice e quello fornito da BeeWare. Tuttavia, in un'applicazione reale, è probabile che si voglia utilizzare una libreria di terze parti, scaricata dal Python Package Index (PyPI)." - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -#, fuzzy -msgid "Let's modify our app to include a third-party library." -msgstr "Modifichiamo la nostra applicazione per includere una libreria di terze parti." - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -#, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Aggiungiamo una chiamata API `httpx` alla nostra applicazione. Aggiungiamo un'importazione all'inizio di `app.py` per importare `httpx`:" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Modificare quindi il callback `say_hello()` in modo che assomigli a questo:" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -#, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Eseguiamo la nostra applicazione aggiornata in modalità sviluppatore di Briefcase per verificare che la nostra modifica abbia funzionato." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "Cosa è successo? Abbiamo aggiunto `httpx` al nostro *codice*, ma non l'abbiamo aggiunto al nostro ambiente virtuale di sviluppo. Possiamo risolvere il problema installando `httpx` con `pip` e poi eseguendo nuovamente `briefcase dev``:" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Quando si inserisce un nome e si preme il pulsante, dovrebbe apparire una finestra di dialogo simile a questa:" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Esercitazione Hello World 7, su macOS" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Esercitazione Hello World 7, su Linux" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Finestra di dialogo Hello World Tutorial 7, su Windows" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -#, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Ora abbiamo un'applicazione funzionante, che utilizza una libreria di terze parti, in modalità di sviluppo!" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -#, fuzzy -msgid "Running the updated app" -msgstr "Esecuzione dell'applicazione aggiornata" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Facciamo in modo che il codice aggiornato dell'applicazione venga confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "Aggiornare il codice dell'applicazione confezionata:" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "Ricostruire l'applicazione:" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -#, fuzzy -msgid "And finally, run the app:" -msgstr "Infine, eseguire l'applicazione:" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console e una finestra di dialogo di arresto anomalo:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Arresto anomalo dell'applicazione Hello World Tutorial 7, su macOS" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Arresto anomalo dell'applicazione Hello World Tutorial 7, su Windows" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console:" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Ancora una volta, l'applicazione non è riuscita ad avviarsi perché `httpx` è stato installato - ma perché? Non abbiamo già installato `httpx`?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "È così, ma solo nell'ambiente di sviluppo. L'ambiente di sviluppo è interamente locale alla vostra macchina e viene attivato solo quando lo attivate esplicitamente. Anche se Briefcase ha una modalità di sviluppo, il motivo principale per cui si usa Briefcase è per impacchettare il codice in modo da poterlo dare a qualcun altro." - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "L'unico modo per garantire che qualcun altro abbia un ambiente Python che contiene tutto ciò di cui ha bisogno è costruire un ambiente Python completamente isolato. Questo significa che c'è un'installazione di Python completamente isolata e un insieme di dipendenze completamente isolato. Questo è ciò che Briefcase costruisce quando si lancia `briefcase build` - un ambiente Python isolato. Questo spiega anche perché `httpx` non è installato: è stato installato nell'ambiente di *sviluppo*, ma non nell'applicazione confezionata." - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Quindi, dobbiamo dire a Briefcase che la nostra applicazione ha una dipendenza esterna." - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "Aggiornamento delle dipendenze" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "Nella directory principale dell'applicazione, c'è un file chiamato `pyproject.toml`. Questo file contiene tutti i dettagli di configurazione dell'applicazione forniti al momento dell'esecuzione di `briefcase new`." - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "il file `pyproject.toml` è suddiviso in sezioni; una delle sezioni descrive le impostazioni per l'applicazione:" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "L'opzione `requires` descrive le dipendenze della nostra applicazione. Si tratta di un elenco di stringhe, che specificano le librerie (e, opzionalmente, le versioni) delle librerie che si vogliono includere nella propria applicazione." - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "Modificare l'impostazione `requires` in modo che si legga:" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Aggiungendo questa impostazione, si dice a Briefcase \"quando costruisci la mia applicazione, esegui `pip install httpx` nel bundle dell'applicazione\". Qualsiasi cosa che sia un input legale per `pip install` può essere usato qui, quindi si può specificare:" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Una versione specifica della libreria (ad esempio, `\"httpx==0.19.0\"`);" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Un intervallo di versioni della libreria (ad esempio, `\"httpx>=0.19\"`);" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Un percorso a un repository git (ad esempio, `git+https://github.com/encode/httpx\"`); oppure" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -#, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Un percorso di file locale (tuttavia, attenzione: se si dà il codice a qualcun altro, questo percorso probabilmente non esisterà sulla sua macchina)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Più avanti in `pyproject.toml`, si noteranno altre sezioni che dipendono dal sistema operativo, come `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Queste sezioni hanno anche un'impostazione `requires`. Queste impostazioni consentono di definire dipendenze aggiuntive specifiche per la piattaforma; quindi, ad esempio, se si ha bisogno di una libreria specifica per la piattaforma per gestire alcuni aspetti dell'applicazione, si può specificare tale libreria nella sezione `requires` specifica per la piattaforma, e tale impostazione sarà utilizzata solo per quella piattaforma. Si noterà che le librerie `toga` sono tutte specificate nella sezione `requires` specifica della piattaforma, perché le librerie necessarie per visualizzare l'interfaccia utente sono specifiche della piattaforma." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "Nel nostro caso, vogliamo che `httpx` sia installato su tutte le piattaforme, quindi usiamo l'impostazione `requires` a livello di applicazione. Le dipendenze a livello di applicazione saranno sempre installate; le dipendenze specifiche della piattaforma sono installate *in aggiunta* a quelle a livello di applicazione." - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Ora che abbiamo comunicato a Briefcase i nostri requisiti aggiuntivi, possiamo riprovare a pacchettizzare la nostra applicazione. Assicurarsi di aver salvato le modifiche a `pyproject.toml` e poi aggiornare di nuovo l'applicazione, questa volta inserendo il flag `-r`. Questo indica a Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Una volta effettuato l'aggiornamento, si può eseguire `briefcase build` e `briefcase run` e si dovrebbe vedere l'applicazione confezionata, con il nuovo comportamento della finestra di dialogo." - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "L'opzione `-r` per l'aggiornamento dei requisiti viene rispettata anche dai comandi `build` e `run`, quindi se si vuole aggiornare, compilare ed eseguire in un unico passaggio, si può usare `briefcase run -u -r`." - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Sulle piattaforme desktop (macOS, Windows, Linux), qualsiasi `pip` installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e web, [le opzioni sono leggermente limitate]{1}." - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -#, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare può fornire binari per alcuni moduli binari popolari (tra cui `numpy`, `pandas` e `cryptography`). È *di solito* possibile compilare pacchetti per le piattaforme mobili, ma non è facile da configurare, il che esula dallo scopo di un tutorial introduttivo come questo." - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "Accesso a un'API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Un compito comune che un'applicazione deve svolgere è quello di fare una richiesta a un'API web per recuperare dati e mostrarli all'utente. Questa è un'applicazione giocattolo, quindi non abbiamo un'API *reale* con cui lavorare, quindi useremo l'API segnaposto [{JSON}]{1} come fonte di dati." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "L'API {JSON} Placeholder ha una serie di endpoint API \"falsi\" che si possono usare come dati di prova. Una di queste API è l'endpoint `/posts/`, che restituisce finti post del blog. Se si apre `https://jsonplaceholder.typicode.com/posts/42` nel browser, si otterrà un payload JSON che descrive un singolo post - un contenuto [Lorum ipsum]{1} per un post di un blog con ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "La libreria standard di Python contiene tutti gli strumenti necessari per accedere a un'API. Tuttavia, le API integrate sono di livello molto basso. Sono buone implementazioni del protocollo HTTP, ma richiedono all'utente di gestire molti dettagli di basso livello, come il reindirizzamento degli URL, le sessioni, l'autenticazione e la codifica del payload. Come \"normale utente di browser\", probabilmente siete abituati a dare per scontati questi dettagli, che il browser gestisce per voi." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Di conseguenza, sono state sviluppate librerie di terze parti che avvolgono le API integrate e forniscono un'API più semplice e più vicina all'esperienza quotidiana del browser. Utilizzeremo una di queste librerie per accedere all'API {JSON} Placeholder: una libreria chiamata [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Questo modificherà il callback `say_hello()` in modo che quando viene invocato, lo farà:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "effettuare una richiesta GET all'API JSON dei segnaposto per ottenere il post 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "decodificare la risposta come JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "estrarre il corpo del messaggio; e" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "includere il corpo di quel post come testo della finestra di dialogo." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Alcuni pacchetti binari potrebbero non essere disponibili" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "In breve, qualsiasi pacchetto *puro* Python (cioè i pacchetti che *non* contengono un modulo binario) può essere usato senza problemi. Tuttavia, se la vostra dipendenza contiene un componente binario, deve essere compilata; al momento, la maggior parte dei pacchetti Python non fornisce supporto alla compilazione per piattaforme non desktop." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate [Tutorial 8][tutorial-8] per scoprirlo..." - diff --git a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index bc0de34a..00000000 --- a/updated-locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,376 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-02-13 12:13+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: it\n" -"Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Esercitazione 8 - Renderlo liscio" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A meno che non si disponga di una connessione Internet *molto* veloce, si potrebbe notare che quando si preme il pulsante, l'interfaccia grafica dell'applicazione si blocca per un po'. Questo perché la richiesta web che abbiamo fatto è *sincrona*. Quando l'applicazione effettua la richiesta web, attende che l'API restituisca una risposta prima di continuare. Mentre aspetta, non permette all'applicazione di ridisegnare e di conseguenza l'applicazione si blocca." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -#, fuzzy -msgid "GUI Event Loops" -msgstr "Loop di eventi della GUI" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -#, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Per capire perché questo accade, dobbiamo entrare nei dettagli del funzionamento di un'applicazione GUI. Le specifiche variano a seconda della piattaforma, ma i concetti di alto livello sono gli stessi, indipendentemente dalla piattaforma o dall'ambiente GUI utilizzato." - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -#, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a:" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Questo ciclo è chiamato *Event Loop*. (Non si tratta di nomi di metodi reali, ma di un'illustrazione di ciò che avviene in \"pseudo-codice\")." - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -#, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Quando si fa clic su un pulsante, si trascina una barra di scorrimento o si digita un tasto, si genera un \"evento\". Questo \"evento\" viene inserito in una coda e l'applicazione elaborerà la coda di eventi quando ne avrà l'opportunità. Il codice utente che viene attivato in risposta all'evento è chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come parte della chiamata `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -#, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Una volta che un'applicazione ha elaborato tutti gli eventi disponibili, essa `ridisegna()` la GUI. Questa operazione tiene conto di tutti i cambiamenti che gli eventi hanno causato alla visualizzazione dell'applicazione, nonché di qualsiasi altra cosa stia accadendo nel sistema operativo: ad esempio, le finestre di un'altra applicazione possono oscurare o rivelare parte della finestra della nostra applicazione, e il ridisegno della nostra applicazione dovrà riflettere la porzione di finestra attualmente visibile." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -#, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "Il dettaglio importante da notare: mentre un'applicazione sta elaborando un evento, *non può ridisegnare* e *non può elaborare altri eventi*." - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -#, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Ciò significa che qualsiasi logica utente contenuta in un gestore di eventi deve essere completata rapidamente. Qualsiasi ritardo nel completamento del gestore di eventi sarà osservato dall'utente come un rallentamento (o un arresto) degli aggiornamenti della GUI. Se il ritardo è sufficientemente lungo, il sistema operativo può segnalarlo come un problema: le icone \"beachball\" di macOS e \"spinner\" di Windows indicano che l'applicazione sta impiegando troppo tempo in un gestore di eventi." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -#, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Operazioni semplici come \"aggiornare un'etichetta\" o \"ricalcolare il totale degli input\" sono facili da completare rapidamente. Tuttavia, ci sono molte operazioni che non possono essere completate rapidamente. Se si sta eseguendo un calcolo matematico complesso, o l'indicizzazione di tutti i file di un file system, o l'esecuzione di una richiesta di rete di grandi dimensioni, non è possibile \"farlo rapidamente\": le operazioni sono intrinsecamente lente." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -#, fuzzy -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Quindi, come si eseguono operazioni di lunga durata in un'applicazione GUI?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -#, fuzzy -msgid "Asynchronous programming" -msgstr "Programmazione asincrona" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -#, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Abbiamo bisogno di un modo per dire a un'applicazione, nel mezzo di un gestore di eventi di lunga durata, che va bene rilasciare temporaneamente il controllo al ciclo di eventi, a patto che si possa riprendere da dove si era interrotto. Spetta all'applicazione determinare quando questo rilascio può avvenire; ma se l'applicazione rilascia regolarmente il controllo al ciclo di eventi, possiamo avere un gestore di eventi di lunga durata *e* mantenere un'interfaccia utente reattiva." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -#, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "È possibile farlo utilizzando la *programmazione asincrona*. La programmazione asincrona è un modo per descrivere un programma che consente all'interprete di eseguire più funzioni contemporaneamente, condividendo le risorse tra tutte le funzioni in esecuzione simultanea." - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Le funzioni asincrone (note come *co-routine*) devono essere dichiarate esplicitamente come asincrone. Inoltre, devono dichiarare internamente quando esiste la possibilità di cambiare contesto a un'altra co-routine." - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "In Python, la programmazione asincrona è implementata utilizzando le parole chiave `async` e `await` e il modulo [asyncio]{1} della libreria standard. La parola chiave `async` ci permette di dichiarare che una funzione è una co-routine asincrona. La parola chiave `await` fornisce un modo per dichiarare quando esiste l'opportunità di cambiare contesto a un'altra co-routine. Il modulo [asyncio]{1} fornisce altri strumenti e primitive utili per la codifica asincrona." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "Rendere l'esercitazione asincrona" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -#, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "In questo codice ci sono solo 4 modifiche rispetto alla versione precedente:" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -#, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Il client creato è un asincrono `AsyncClient()`, invece di un sincrono `Client()`. Questo indica a `httpx` che deve operare in modalità asincrona, anziché sincrona." - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -#, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Il gestore di contesto usato per creare il client è contrassegnato come `async`. Questo indica a Python che c'è l'opportunità di rilasciare il controllo quando il gestore di contesto viene inserito e abbandonato." - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga consente di utilizzare metodi regolari o co-routine asincrone come gestori; Toga gestisce tutto dietro le quinte per assicurarsi che il gestore sia invocato o atteso come richiesto." - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Se si salvano queste modifiche e si esegue nuovamente l'applicazione (con `briefcase dev` in modalità di sviluppo, oppure aggiornando ed eseguendo nuovamente l'applicazione confezionata), non ci saranno cambiamenti evidenti nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la finestra di dialogo, si possono notare alcuni sottili miglioramenti:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -#, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "Il pulsante torna a uno stato \"non cliccato\", anziché essere bloccato in uno stato \"cliccato\"." - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "L'icona \"beachball\"/\"spinner\" non appare" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -#, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Se si sposta/ridimensiona la finestra dell'applicazione mentre si attende la visualizzazione della finestra di dialogo, la finestra verrà ridisegnata." - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -#, fuzzy -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Se si tenta di aprire il menu di un'applicazione, il menu viene visualizzato immediatamente." - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "Prossimi passi" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "" - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Ora abbiamo un'applicazione che è efficiente e reattiva, anche quando è in attesa di un'API lenta. Ma come possiamo assicurarci che l'applicazione continui a funzionare mentre continuiamo a svilupparla? Come possiamo testare la nostra applicazione? Consultate [Tutorial 9][tutorial-9] per scoprirlo..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "Il metodo è definito come `async def`, invece che semplicemente `def`. Questo indica a Python che il metodo è una co-routine asincrona." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "La chiamata `get` viene effettuata con la parola chiave `await`. Questo indica all'applicazione che, mentre si attende la risposta dalla rete, l'applicazione può rilasciare il controllo al ciclo degli eventi." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/how-to/index.po b/updated-locales/pt/LC_MESSAGES/how-to/index.po deleted file mode 100644 index 14f23f77..00000000 --- a/updated-locales/pt/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: pt\n" -"Language-Team: pt \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/index.po b/updated-locales/pt/LC_MESSAGES/index.po deleted file mode 100644 index 9f9f98e6..00000000 --- a/updated-locales/pt/LC_MESSAGES/index.po +++ /dev/null @@ -1,106 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2024-03-01 19:00+0000\n" -"Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Bem-vindo ao Tutorial da BeeWare!" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -msgid "**Write Python. Run Anywhere.**" -msgstr "**Escreva em Python. Execute em qualquer lugar.**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Bem-vindo ao BeeWare! Neste tutorial, vamos construir uma interface gráfica usando Python e implantá-la como um aplicativo para desktop, como um aplicativo móvel e como um aplicativo web de página única (SPA). Também veremos como você pode usar as ferramentas da BeeWare para realizar algumas das tarefas comuns que você precisará fazer como desenvolvedor de apps, por exemplo, testar seu aplicativo." - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Traduções estão disponíveis" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -#, fuzzy -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "Se você não se sente confortável com o Português, as traduções deste tutorial estão disponíveis em [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [English]{1}, e [汉语]{1}." - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "Isso é uma tradução automática!" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Esta versão do tutorial foi gerada por tradução automática. Sabemos que isso não é ideal, mas acreditamos que uma tradução ruim é melhor do que nenhuma tradução." - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Se você quiser ajudar a melhorar a tradução, entre em contato! Temos um canal `#translations` no [Discord]{1}. Apresente-se lá e nós o adicionaremos à equipe de tradução." - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "Isso é uma tradução!" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Este documento é uma tradução da versão em inglês. A tradução foi revisada por pessoas, mas seções mais recentes podem ser geradas por tradução automática, ou não traduzidas." - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -msgid "What is BeeWare?" -msgstr "O que é o BeeWare?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "O BeeWare não é um único produto, ferramenta ou biblioteca - é uma coleção de ferramentas e bibliotecas, cada uma das quais trabalha em conjunto para ajudar você a escrever aplicativos Python multiplataforma com uma interface gráfica nativa. Isso inclui:" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, um kit de ferramentas de widget multiplataforma;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -#, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, uma ferramenta para empacotar projetos Python como pacotes distribuíveis que podem ser enviados aos usuários finais;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -#, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acessar bibliotecas nativas da plataforma;" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Versões pré-compiladas do Python estão disponíveis para plataformas onde instaladores oficiais do Python não estão disponíveis." - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "Neste tutorial, estaremos utilizando todas essas ferramentas, mas como usuário, você só precisará interagir com as duas primeiras (Toga e Briefcase). No entanto, cada uma das ferramentas também pode ser usada individualmente - por exemplo, você pode usar o Briefcase para implantar um aplicativo sem usar o Toga como um kit de ferramentas de interface gráfica (GUI)." - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "A suíte BeeWare está disponível no macOS, Windows, Linux (usando GTK); em plataformas móveis como Android e iOS; e para a Web." - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "Vamos lá!" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Pronto para experimentar o BeeWare por conta própria? [Vamos construir um aplicativo multiplataforma em Python!][tutorial/tutorial-0]" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index ea38dbd2..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,138 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: pt\n" -"Language-Team: pt \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index de970751..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,148 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2024-02-13 12:06+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -#, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Até agora, nosso aplicativo tem usado um ícone padrão de \"abelha cinza\". Como podemos atualizar o aplicativo para usar nosso próprio ícone?" - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -#, fuzzy -msgid "Adding an icon" -msgstr "Adição de um ícone" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**Em breve**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Agora temos um aplicativo com um ícone personalizado em nossa área de trabalho e em nosso telefone! Como podemos compartilhar esse aplicativo com outras pessoas? Consulte o [Tutorial 11][tutorial-11] para descobrir..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutorial 10 - Crie seu próprio aplicativo" - -#~ msgid "Next steps" -#~ msgstr "Próximos passos" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index 06d82d63..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,68 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: pt\n" -"Language-Team: pt \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "" - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "" - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "" - -#~ msgid "Want to go deeper on specific topics? Here are some additional standalone tutorials that demonstrate common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -#~ msgstr "" - -#~ msgid "Customizing icons" -#~ msgstr "" - -#~ msgid "Customizing icons:" -#~ msgstr "" - -#~ msgid "Customize your application's appearance by replace the default \"gray bee\" icon." -#~ msgstr "" - -#~ msgid "Custom icons" -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index d848afda..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,151 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2024-02-13 12:07+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Tutorial 9 - Hora dos Testes" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -#, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "A maior parte do desenvolvimento de software não envolve a gravação de um novo código, mas sim a modificação do código existente. Garantir que o código existente continue a funcionar da maneira esperada é uma parte fundamental do processo de desenvolvimento de software. Uma maneira de garantir o comportamento do nosso aplicativo é com um *conjunto de testes*." - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -#, fuzzy -msgid "Running the test suite" -msgstr "Executar o conjunto de testes" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -#, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Acontece que nosso projeto já tem um conjunto de testes! Quando geramos nosso projeto originalmente, foram gerados dois diretórios de nível superior: `src` e `tests`. A pasta `src` contém o código do nosso aplicativo; a pasta `tests` contém nosso conjunto de testes. Dentro da pasta `tests` há um arquivo chamado `test_app.py` com o seguinte conteúdo:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -#, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Este é um [Pytest]{1} *caso de teste* - um bloco de código que pode ser executado para verificar algum comportamento do seu aplicativo. Nesse caso, o teste é um espaço reservado e não testa nada sobre nosso aplicativo, mas é um teste que podemos executar." - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -#, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Podemos executar esse conjunto de testes usando a opção `--test` do `briefcase dev`. Como esta é a primeira vez que estamos executando testes, também precisamos passar a opção `-r` para garantir que os requisitos de teste também sejam instalados:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -#, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Sucesso! Acabamos de executar um único teste que verifica se a matemática Python funciona da maneira esperada (que alívio!)." - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Vamos substituir esse teste de espaço reservado por um teste para verificar se o nosso método `greeting()` se comporta da maneira esperada. Substitua o conteúdo de `test_app.py` pelo seguinte:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -#, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Isso define dois novos testes, verificando os dois comportamentos que esperamos ver: a saída quando um nome é fornecido e a saída quando o nome está vazio." - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -#, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Agora podemos executar novamente o conjunto de testes. Dessa vez, não precisamos fornecer a opção `-r`, pois os requisitos de teste já foram instalados; precisamos apenas usar a opção `--test`:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Excelente! Nosso método utilitário `greeting()` está funcionando como esperado." - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -#, fuzzy -msgid "Test driven development" -msgstr "Desenvolvimento orientado por testes" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Agora que temos um conjunto de testes, podemos usá-lo para impulsionar o desenvolvimento de novos recursos. Vamos modificar nosso aplicativo para ter uma saudação especial para um determinado usuário. Podemos começar adicionando um caso de teste para o novo comportamento que gostaríamos de ver na parte inferior do `test_app.py`:" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "Em seguida, execute o conjunto de testes com esse novo teste:" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Dessa vez, vemos uma falha no teste - e a saída explica a origem da falha: o teste está esperando a saída \"BeeWare the IDEs of Python!\", mas nossa implementação de `greeting()` está retornando \"Hello, Brutus\". Vamos modificar a implementação de `greeting()` em `src/helloworld/app.py` para obter o novo comportamento:" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Se executarmos os testes novamente, veremos que nossos testes foram aprovados:" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -#, fuzzy -msgid "Runtime tests" -msgstr "Testes de tempo de execução" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -#, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Até o momento, estamos executando os testes no modo de desenvolvimento. Isso é especialmente útil quando se está desenvolvendo novos recursos, pois é possível iterar rapidamente na adição de testes e na adição de código para que esses testes sejam aprovados. No entanto, em algum momento, você desejará verificar se o seu código também é executado corretamente no ambiente do aplicativo de pacote." - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "As opções `--test` e `-r` também podem ser passadas para o comando `run`. Se você usar `briefcase run --test -r`, o mesmo conjunto de testes será executado, mas dentro do pacote de aplicativos empacotados, e não no seu ambiente de desenvolvimento:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Como no caso do `briefcase dev --test`, a opção `-r` só é necessária na primeira vez em que você executa o conjunto de testes para garantir que as dependências de teste estejam presentes. Nas execuções subsequentes, você pode omitir essa opção." - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Você também pode usar a opção `--test` em back-ends móveis: - assim, `briefcase run iOS --test` e `briefcase run android --test` funcionarão, executando o conjunto de testes no dispositivo móvel que você selecionar." - -#~ msgid "Next steps" -#~ msgstr "Próximos passos" diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index af03e762..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,239 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2024-03-04 19:01+0000\n" -"Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutorial 0 - Vamos nos preparar!" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Antes de criarmos nosso primeiro aplicativo BeeWare, precisamos garantir que tenhamos todos os pré-requisitos para executar o BeeWare." - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -msgid "Install Python" -msgstr "Instalando o Python" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "A primeira coisa que precisaremos é de um interpretador Python instalado e funcionando." - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -#, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -#, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Existem várias maneiras diferentes de instalar o Python. Você pode instalar o Python através do [homebrew]{1}. Pode usar o [pyenv]{1} para gerenciar várias instalações do Python na mesma máquina. Usuários do Windows podem instalar o Python pela Windows App Store. Usuários com foco em ciência de dados podem preferir utilizar o [Anaconda]{1} ou o [Miniconda]{1}." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Se você estiver usando Linux, será necessário instalar o Python por meio do gerenciador de pacotes do sistema ([apt` no Debian/Ubuntu/Mint, `dnf` no Fedora, ou `pacman` no Arch)." - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Certifique-se de que a versão do Python do sistema seja 3.8 ou mais recente. Se não for (por exemplo, o Ubuntu 18.04 é fornecido com o Python 3.6), será necessário atualizar a distribuição Linux para uma versão mais recente." - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Se você estiver usando macOS ou Windows, não importa a *forma* que usou ao instalar o Python. o importante é ter um interpretador Python operando ao executar o comando `python3` no prompt de comando/terminal do seu sistema operacional." - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -msgid "Install dependencies" -msgstr "Instale as dependências" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Em seguida, instale as dependências adicionais necessárias para o seu sistema operacional:" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -msgid "Building BeeWare apps on macOS requires:" -msgstr "Para criar aplicativos BeeWare no macOS, é necessário:" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Para dar suporte ao desenvolvimento local, será necessário instalar alguns pacotes do sistema. A lista de pacotes necessários pode variar de acordo com a sua distribuição:" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -#, fuzzy -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu 20.04+ / Debian 10+**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -#, fuzzy -msgid "**Arch / Manjaro**" -msgstr "**Arch, Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -msgid "Building BeeWare apps on Windows requires:" -msgstr "Para criar aplicativos BeeWare no Windows, é necessário:" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, um sistema de controle de versão. Você pode baixar o Git em [git-scm.com]{1}." - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Após instalar essas ferramentas, é importante reiniciar qualquer sessão de terminal. No Windows, apenas os terminais iniciados *após* a conclusão da instalação mostrarão as ferramentas recém-instaladas." - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -msgid "Set up a virtual environment" -msgstr "Configurar um ambiente virtual" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Agora vamos criar um ambiente virtual - uma \"sandbox\" que podemos usar para isolar nosso trabalho neste tutorial de nossa instalação principal do Python. Se instalarmos pacotes no ambiente virtual, nossa instalação principal do Python (e qualquer outro projeto Python em nosso computador) não será afetada. Se bagunçarmos completamente nosso ambiente virtual, podemos simplesmente excluí-lo e começar novamente, sem afetar nenhum outro projeto Python em nosso computador e sem a necessidade de reinstalar o Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Erros ao executar scripts do PowerShell" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error:" -msgstr "Se você estiver usando o PowerShell e receber o erro:" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Sua conta do Windows não possui permissões para executar scripts. Para corrigir isso:" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "Execute `set-executionpolicy RemoteSigned`" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select `Y` to change the execution policy." -msgstr "Selecione `Y` para alterar a política de execução." - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Depois de fazer isso, você pode executar novamente o comando `beeware-venv\\Scripts\\activate.ps1` na mesma janela do PowerShell em que você fez as alterações nas permissões (a janela original) ou em uma nova janela do PowerShell no mesmo diretório." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Se isso funcionou, seu prompt deve estar diferente agora - ele deve ter um prefixo `(beeware-venv)`. Isso indica que você está atualmente no seu ambiente virtual BeeWare. Sempre que estiver trabalhando neste tutorial, certifique-se de que seu ambiente virtual esteja ativado. Se não estiver, execute novamente o último comando (o comando `activate`) para reativar seu ambiente." - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Ambientes virtuais alternativos" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Caso esteja usando o Anaconda ou Miniconda, você pode estar mais familiarizado com o uso de ambientes conda. Você também deve ter ouvido falar do `virtualenv`, um antecessor do módulo `venv` integrado ao Python. Da mesma forma que as instalações do Python - se você estiver no macOS ou Windows, não importa *como* você cria seu ambiente virtual, desde que tenha um. Se estiver no Linux, é recomendado usar o `venv` e o Python do sistema." - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Agora que configuramos nosso ambiente, estamos prontos para [criar nossa primeira aplicação BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Execute o Windows PowerShell como Administrador." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, um sistema de controle de versão. Ele está incluso no Xcode ou nas ferramentas de linha de comando, que você instalou acima." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distribuições Alternativas do Python" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Caso esteja no Linux, é recomendado utilizar o Python fornecido pelo seu sistema operacional. Embora seja possível concluir *a maior parte* deste tutorial utilizando uma versão não integrada ao sistema, você não conseguirá empacotar sua aplicação para distribuição a outros." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Se você estiver usando o macOS, uma versão recente do Python já está incluída no Xcode ou nas ferramentas de linha de comando. Para verificar se você já o possui, execute o seguinte comando:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Se o Python estiver instalado, você verá o número da versão. Caso contrário, será solicitado que instale as ferramentas de linha de comando para desenvolvedores." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index 9d25c4d6..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,194 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-03-04 19:01+0000\n" -"Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutorial 1 - Seu primeiro app" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -msgid "We're ready to create our first application." -msgstr "Estamos prontos para criar nossa primeira aplicação." - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -msgid "Install the BeeWare tools" -msgstr "Instale as ferramentas do BeeWare" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Primeiro, precisamos instalar o **Briefcase**. Briefcase é uma ferramenta do BeeWare que pode ser usada para empacotar sua aplicação para distribuição aos usuários finais - mas também pode ser usada para iniciar um novo projeto. Certifique-se de estar no diretório `beeware-tutorial` que você criou no [Tutorial 0][tutorial-0], com o ambiente virtual `beeware-venv` ativado, e execute:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Possíveis erros durante a instalação" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Se você encontrar erros durante a instalação, é bem provável que alguns dos requisitos do sistema não estejam instalados. Certifique-se de ter [instalado todas os pré-requisitos da plataforma ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "É importante usar o comando `python -m pip`, em vez de apenas `pip`. Isso porque o Briefcase precisa garantir que as versões do `pip` e `setuptools` estejam atualizadas, pois o `pip` usado sozinho não consegue se atualizar. Se quiser entender melhor o motivo, o [Brett Cannon escreveu um post detalhado no blog dele]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -msgid "Bootstrap a new project" -msgstr "Iniciar um novo projeto" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Vamos começar nosso primeiro projeto BeeWare! Usaremos o comando `new` do Briefcase para criar um aplicativo chamado **Hello World**. Execute o seguinte comando no seu prompt de comando/terminal:" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "O Briefcase solicitará alguns detalhes sobre nosso novo aplicativo. Para os propósitos deste tutorial, utilize o seguinte:" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Formal Name** - Aceite o valor padrão: `Hello World`." - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**App Name** - Aceite o valor padrão: `helloworld`." - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -#, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Se você possui seu próprio domínio, insira esse domínio invertido. (Por exemplo, se você possui o domínio \"cupcakes.com\", insira `com.cupcakes` como nome do bundle). Se você não possui seu próprio domínio, aceite o padrão (`com.example`)." - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Project Name** - Aceite o valor padrão: `Hello World`." - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Description** - Aceite o valor padrão (ou, se quiser ser realmente criativo, crie sua própria descrição!)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -msgid "**Author** - Enter your own name here." -msgstr "**Author** - Insira seu próprio nome." - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -#, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Author's email** - Insira seu próprio endereço de e-mail. Ele será usado no arquivo de configuração, em textos de ajuda e em qualquer lugar onde um e-mail seja necessário ao enviar o aplicativo para uma loja de aplicativos." - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -#, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - A URL da página inicial do seu aplicativo. Novamente, se você possui seu próprio domínio, insira uma URL nesse domínio (incluindo o `https://`). Caso contrário, apenas aceite a URL padrão (`https://example.com/helloworld`). Esta URL não precisa realmente existir (por enquanto); ela será usada apenas se você publicar sua aplicação em uma loja de aplicativos." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -#, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**License** - Aceite o valor padrão (BSD). Isso não afetará nada sobre o funcionamento do tutorial. Se você tem preferências particulares em relação à escolha de licença, sinta-se à vontade para escolher outra licença." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI framework** - Aceite a opção padrão, Toga (a própria biblioteca de interface gráfica da BeeWare)." - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "O Briefcase então gerará uma estrutura básica de projeto para você usar. Se você seguiu este tutorial até agora e aceitou as configurações padrão como descrito, seu sistema de arquivos deve se parecer com algo assim:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Essa estrutura atual já é um aplicativo totalmente funcional sem adicionar mais nada. A pasta `src` contém todo o código do aplicativo, a pasta `tests` contém uma suíte de testes inicial, e o arquivo `pyproject.toml` descreve como empacotar o aplicativo para distribuição. Se você abrir o `pyproject.toml` em um editor, verá os detalhes de configuração que você acabou de fornecer ao Briefcase." - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Agora que temos um aplicativo inicial, podemos usar o Briefcase para executar a aplicação." - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -msgid "Run the app in developer mode" -msgstr "Inicie o app no modo de desenvolvedor" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Vá para o diretório do projeto `helloworld` e peça ao Briefcase para iniciar o projeto no modo de Desenvolvedor (ou `dev`):" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -msgid "This should open a GUI window:" -msgstr "Isso deve abrir uma janela GUI:" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Janela do Tutorial 1 `Hello World`, no macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Janela do Tutorial 1 `Hello World`, no Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Janela do Tutorial 1 `Hello World`, no Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Pressione o botão de fechar (ou selecione `Sair` no menu do aplicativo) e pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em Python!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. Podemos adicionar alguma lógica própria para tornar nosso aplicativo um pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma interface de usuário mais útil em nossa aplicação." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Uma das ferramentas do BeeWare é o Briefcase. O Briefcase pode ser usado para empacotar sua aplicação para distribuição aos usuários finais - mas ele também pode ser usado para iniciar um novo projeto." - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index 4adfeaa3..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,266 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-07 15:02+0000\n" -"Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutorial 2 - Tornando as coisas interessantes" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "No [Tutorial 1][tutorial-1], geramos um projeto inicial que executava, mas não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que foi criado para nós." - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -msgid "What was generated" -msgstr "O que foi gerado" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "No diretório `src/helloworld`, você deverá ver 3 arquivos: `__init__.py`, `__main__.py` e `app.py`." - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` torna o diretório `helloworld` um módulo Python importável. Trata-se de um arquivo vazio; sua simples existência indica ao interpretador Python que há um módulo definido pelo diretório `helloworld`." - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` define o módulo `helloworld` como um tipo especial de módulo - um módulo executável. Ao tentar executar o módulo `helloworld` usando `python -m helloworld`, o Python iniciará a execução no arquivo `__main__.py`. O conteúdo de `__main__.py` é relativamente simples:" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -#, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Isto é - ele importa o método `main` do aplicativo `helloworld`; quando executado como ponto de entrada, esse método main() é chamado, dando início ao loop principal da aplicação. Nesse loop, a aplicação de interface gráfica (GUI) espera pelas interações do usuário (como cliques do mouse e pressionamentos de teclas)." - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "O arquivo mais interessante é o `app.py` - nele está contido a lógica que cria a janela da nossa aplicação:" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -msgid "Let's go through this line by line:" -msgstr "Vamos analisar isso linha por linha:" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -#, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Primeiro, importamos a biblioteca de widgets `toga`, juntamente com algumas classes e constantes que são úteis para o estilo. Por enquanto, nosso código ainda não faz uso delas, mas em breve começaremos a utilizá-las." - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class:" -msgstr "Em seguida, definimos uma classe:" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Cada aplicação Toga possui uma única instância chamada `toga.App`, que representa o aplicativo em si sendo executado. A aplicação pode acabar gerenciando várias janelas; mas para aplicativos simples, haverá uma única janela principal." - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -msgid "Next, we define a `startup()` method:" -msgstr "Depois, definimos um método chamado `startup()`:" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "A primeira coisa que o método startup() faz é definir um container principal. O esquema de layout do Toga se comporta de maneira semelhante ao HTML. A construção de uma aplicação se dá por meio da criação de uma coleção de containers, cada um contendo outros containers ou os widgets propriamente dito. Depois, você aplica estilos a esses containers para definir como vão usar o espaço na janela." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "Neste aplicativo, definimos um único container, mas não colocamos nada dentro dele." - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -msgid "Next, we define a window into which we can put this empty box:" -msgstr "Em seguida, definimos uma janela na qual podemos colocar o container vazio:" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -#, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Isso cria uma instância de `toga.MainWindow`, que terá um título correspondente ao nome do aplicativo. A MainWindow (Janela Principal) é um tipo especial de janela no Toga, pois está intimamente ligada ao ciclo de vida da aplicação. Quando a MainWindow é fechada, a aplicação também se encerra. Além disso, a MainWindow também é a janela que contém o menu do aplicativo (se você estiver em uma plataforma como o Windows, onde as barras de menu fazem parte da janela)" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Então, adicionamos nosso container vazio como conteúdo da janela principal e instruímos o aplicativo a mostrar nossa janela:" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -#, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Por último, definimos um método chamado `main()`. Isso é o que cria a instância de nossa aplicação:" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "O método `main()` é aquele que é importado e chamado pelo arquivo `__main__.py`. Ele cria e retorna uma instância da nossa aplicação `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Essa é a aplicação Toga mais básica possível. Vamos agora integrar conteúdo personalizado à aplicação e torná-la mais interessante." - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -msgid "Adding some content of our own" -msgstr "Adicionando conteúdo personalizado" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -#, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Não remova as importações já feitas no topo do arquivo ou o `main()` ao final. Você só precisa atualizar a classe `HelloWorld`." - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modifique sua classe `HelloWorld` dentro de `src/helloworld/app.py` para que fique assim:" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -msgid "Let's look in detail at what has changed." -msgstr "Vamos ver em detalhes o que mudou." - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Ainda estamos fazendo o container principal; porém, agora estamos aplicando um estilo:" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -#, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "O Toga possui um sistema de layout interno denominado \"Pack\". Seu funcionamento se assemelha ao CSS. Você define objetos em uma hierarquia - no HTML, os objetos são `
` e ``, e outros elementos do DOM; enquanto no Toga, são widgets e containers. Estilos podem ser atribuídos a cada elemento individualmente. Neste caso específico, estamos indicando que o container é um `'COLUMN'` - isto é, ele ocupará toda a largura disponível e aumentará sua altura à medida que conteúdo for adicionado, porém buscando sempre ser o mais compacto possível." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets:" -msgstr "A seguir, vamos definir dois widgets:" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -#, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Nesta etapa, definimos um Label e um TextInput. Ambos os widgets possuem estilos associados; o Label terá 5px de preenchimento à esquerda e à direita, e nenhum preenchimento na parte superior e inferior. O TextInput é marcado como flexível, ou seja, ele absorverá todo o espaço disponível em seu eixo de layout." - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "O TextInput é atribuído como uma variável de instância da classe. Isso nos permite acessar facilmente a instância do widget, o que será utilizado em breve." - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -msgid "Next, we define a box to hold these two widgets:" -msgstr "Após isso, definimos um container para colocar esses dois widgets:" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -#, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "A container `name_box` é parecido com o container principal, só que agora ele é do tipo `ROW`. Isso significa que o conteúdo será adicionado horizontalmente e tentará ficar o mais estreito possível. Esse container também possui preenchimento - 5px em todos os lados." - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -msgid "Now we define a button:" -msgstr "Agora definimos um botão:" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "O botão também possui 5px de preenchimento em todos os lados. Além disso, definimos um *gatilho* - um método a ser invocado quando o botão for pressionado." - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -msgid "Then, we add the name box and the button to the main box:" -msgstr "Então, adicionamos o container name_box e o botão ao container principal:" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -#, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Com isso, finalizamos o layout; o restante do código do método startup() permanece como antes - definindo uma MainWindow (Janela principal) e a atribuição do container principal como conteúdo dessa janela:" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -#, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "A última etapa consiste na definição do gatilho do botão. Um gatilho pode ser qualquer método, gerador ou corrotina assíncrona; ele aceita como argumento o widget que gerou o evento e será invocado sempre que o botão for pressionado:" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "O corpo do método é uma simples instrução de impressão. No entanto, ele consultará o valor atual do campo de entrada de nome e usará esse conteúdo como o texto a ser impresso." - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Ao concluirmos essas alterações, podemos visualizar o resultado reiniciando a aplicação. Seguindo o procedimento anterior, utilizaremos o modo de desenvolvedor:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -#, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Dessa vez, você vai reparar que as dependências *não são* instaladas. O Briefcase consegue identificar se o app já foi aberto antes e, pra economizar tempo, só executa ele. Se você adicionar novas dependências, pode garantir que elas sejam instaladas usando a opção `-r` quando executar o comando `briefcase dev`." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -msgid "This should open a GUI window:" -msgstr "Isso deve abrir uma janela GUI:" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Tutorial 2: Janela \"Hello World\", no macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Tutorial 2: Janela \"Hello World\", no Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Tutorial 2: Janela \"Hello World\", no Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Se você escrever um nome na caixa de texto e clicar no botão da interface, vai ver uma mensagem aparecer no console onde você abriu a aplicação." - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela somente funciona em nosso computador. Vamos empacotar esta aplicação para distribuição. No [Tutorial 3][tutorial-3], encapsularemos nossa aplicação em um instalador independente, que poderemos enviar a amigos, clientes ou publicar em uma App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index 27cbfc75..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,292 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2024-03-04 19:01+0000\n" -"Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutorial 3 - Empacotando para Distribuição" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Até o momento, executamos nossa aplicação no \"modo de desenvolvedor\". Isso facilita a execução da nossa aplicação localmente - mas o que realmente queremos é poder fornecer nossa aplicação para outras pessoas." - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Entretanto, não queremos ter que ensinar aos nossos usuários como instalar o Python, criar um ambiente virtual, clonar um repositório git e executar o Briefcase no modo de desenvolvedor. Queremos é fornecer um instalador, garantindo a execução imediata da aplicação." - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "O Briefcase pode ser usado para empacotar sua aplicação para distribuição dessa maneira." - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -msgid "Creating your application scaffold" -msgstr "Criando a estrutura da sua aplicação" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Como esta é a primeira vez que estamos empacotando nossa aplicação, precisamos criar alguns arquivos de configuração e outras estruturas de suporte ao processo de empacotamento. No diretório `helloworld`, execute:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "É provável que você tenha observado uma grande quantidade de texto passando pelo seu terminal... mas o que exatamente aconteceu? O Briefcase fez o seguinte:" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Ele **gerou um modelo de aplicação** (template). Existem muitos arquivos e configurações necessárias para construir um instalador nativo, além do código da sua aplicação. Essa estrutura extra é quase igual para todas as aplicações na mesma plataforma, exceto pelo nome da aplicação que está sendo construída - um modelo de aplicação (template) é fornecido pelo Briefcase para cada plataforma que ele suporta. Esta etapa implementa o modelo, substituindo o nome da sua aplicação, ID do pacote e outras propriedades do seu arquivo de configuração conforme necessário para suportar a plataforma na qual você está construindo." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Caso o modelo fornecido pelo Briefcase não seja satisfatório, é possível você fornecer um modelo próprio. Entretanto, é recomendável que isso não seja feito antes de se obter maior familiaridade com o modelo padrão do Briefcase." - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -#, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Ele **baixou e instalou um pacote de suporte**. A abordagem de empacotamento adotada pelo Briefcase é melhor descrita como \"a coisa mais simples que poderia funcionar\" - ele inclui um interpretador Python completo e isolado como parte de cada aplicativo criado. Isso apresenta uma ligeira ineficiência em termos de espaço - se você tiver 5 aplicativos empacotados com o Briefcase, terá 5 cópias do interpretador Python. No entanto, essa abordagem garante que cada aplicação seja completamente independente, usando uma versão específica do Python que comprovadamente funciona com tal aplicação." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Novamente, o Briefcase fornece um pacote de suporte padrão para cada plataforma; entretanto, caso deseje, você pode fornecer seu próprio pacote de suporte e incluí-lo como parte do processo de construção. Isso pode ser útil se você necessita de opções específicas habilitadas no interpretador Python, ou se deseja remover módulos da biblioteca padrão que não são necessários em tempo de execução." - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "O Briefcase mantém um cache local de pacotes de suporte. Portanto, uma vez que você tenha baixado um pacote de suporte específico, essa cópia armazenada será utilizada em compilações futuras." - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Ele **instalou os requisitos da aplicação**. Seu aplicativo pode especificar quaisquer módulos de terceiros necessários em tempo de execução. Estes serão instalados utilizando o `pip` no instalador da sua aplicação." - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Ele **instalou o código da sua aplicação**. Sua aplicação terá seu próprio código e recursos (por exemplo, imagens necessárias em tempo de execução); estes arquivos são copiados para o instalador." - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Ele **instalou os recursos requeridos pela sua aplicação.** Por fim, são adicionados recursos adicionais requeridos pelo próprio instalador. Isso inclui elementos como ícones que serão anexados à aplicação final e imagens de tela de abertura." - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Assim que concluído, ao verificar o diretório do projeto, você deverá encontrar um diretório correspondente à sua plataforma (`macOS`, `linux` ou `windows`) contendo arquivos adicionais. Esta é a configuração de empacotamento específica para a plataforma da sua aplicação." - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -msgid "Building your application" -msgstr "Compilando sua aplicação" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Agora você pode compilar sua aplicação. Este passo executa qualquer compilação binária necessária para que sua aplicação seja executável na plataforma de destino." - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "No macOS, o comando `build` não necessita *compilar* nada, mas precisa assinar o conteúdo do binário para que ele possa ser executado. Essa assinatura é do tipo *ad hoc* - só funcionará no *seu* computador. Se você deseja distribuir a aplicação para outras pessoas, será necessário fornecer uma assinatura completa." - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Após a conclusão dessa etapa, a pasta `build` conterá uma pasta `helloworld-0.0.1` com uma estrutura semelhante ao sistema de arquivos `/usr` do Linux. Ela conterá uma pasta `bin` com um binário `helloworld`, além das pastas `lib` e `share` necessárias para dar suporte ao binário." - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "No Windows, o comando `build` não precisa *compilar* nada, mas é preciso registrar alguns metadados para que a aplicação reconheça seu nome, versão e outras coisas assim." - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -msgid "Triggering antivirus" -msgstr "Notificação de antivírus" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Como esses metadados estão sendo gravados diretamente no binário pré-compilado que sai do modelo durante o comando `create`, isso pode acionar o software antivírus em execução no computador e impedir que os metadados sejam gravados. Nesse caso, instrua o antivírus a permitir que a ferramenta (denominada `rcedit-x64.exe`) seja executada e execute novamente o comando acima." - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -msgid "Running your app" -msgstr "Rodando sua aplicação" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -msgid "You can now use Briefcase to run your application:" -msgstr "Agora você pode utilizar o Briefcase para executar sua aplicação:" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -#, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Isso iniciará a execução de seu aplicativo nativo, usando a saída do comando `build`." - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -#, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Você pode notar algumas pequenas diferenças na aparência do seu aplicativo quando ele estiver em execução. Por exemplo, os ícones e o nome exibidos pelo sistema operacional podem ser ligeiramente diferentes daqueles vistos durante a execução no modo de desenvolvedor. Isso também ocorre porque você está usando o aplicativo empacotado, e não apenas executando o código Python. Do ponto de vista do sistema operacional, agora você está executando \"um aplicativo\", não \"um programa Python\", e isso se reflete na aparência do aplicativo." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -msgid "Building your installer" -msgstr "Criando o seu instalador" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -#, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Agora você pode empacotar seu aplicativo para distribuição, usando o comando `package`. O comando package faz qualquer compilação necessária para converter o projeto de andaime em um produto final e distribuível. Dependendo da plataforma, isso pode envolver a compilação de um instalador, a execução de assinatura de código ou outras tarefas de pré-distribuição." - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -#, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "A pasta `dist` conterá um arquivo chamado `Hello World-0.0.1.dmg`. Se você localizar esse arquivo no Finder e clicar duas vezes em seu ícone, montará o DMG, fornecendo uma cópia do aplicativo Hello World e um link para a pasta Applications para facilitar a instalação. Arraste o arquivo do aplicativo para Applications e você terá instalado o aplicativo. Envie o arquivo DMG para um amigo e ele poderá fazer o mesmo." - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -#, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -#, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "A saída da etapa do pacote será ligeiramente diferente, dependendo de sua distribuição Linux. Se estiver em uma distribuição derivada do Debian, você verá:" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -#, fuzzy -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "A pasta `dist` conterá o arquivo `.deb` que foi gerado." - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -#, fuzzy -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "Se estiver em uma distribuição baseada em RHEL, você verá:" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -#, fuzzy -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "A pasta `dist` conterá o arquivo `.rpm` que foi gerado." - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -#, fuzzy -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "Se estiver em uma distribuição baseada no Arch, você verá:" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -#, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "A pasta `dist` conterá o arquivo `.pkg.tar.zst` que foi gerado." - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -#, fuzzy -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "No momento, não há suporte para o empacotamento de outras distribuições do Linux." - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -#, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Se quiser criar um pacote para uma distribuição Linux diferente da que você está usando, o Briefcase também pode ajudar, mas você precisará instalar o Docker." - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -#, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Os instaladores oficiais do [Docker Engine]{1} estão disponíveis para uma série de distribuições Unix. Siga as instruções para sua plataforma; no entanto, certifique-se de não instalar o Docker no modo \"sem raiz\"." - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -#, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Depois de instalar o Docker, você deve ser capaz de iniciar um contêiner Linux - por exemplo:" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -#, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "mostrará um prompt do Unix (algo como `root@84444e31cff9:/#`) dentro de um contêiner do Docker do Ubuntu 22.04. Digite Ctrl-D para sair do Docker e retornar ao seu shell local." - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -#, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Depois de instalar o Docker, você pode usar o Briefcase para criar um pacote para qualquer distribuição Linux compatível com o Briefcase, passando uma imagem do Docker como argumento. Por exemplo, para criar um pacote DEB para o Ubuntu 22.04 (Jammy), independentemente do sistema operacional em que você estiver, execute:" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -#, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Isso fará o download da imagem do Docker para o sistema operacional selecionado, criará um contêiner capaz de executar as compilações do Briefcase e compilará o pacote do aplicativo dentro da imagem. Após a conclusão, a pasta `dist` conterá o pacote para a distribuição Linux de destino." - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -#, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -#, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Quando essa etapa for concluída, a pasta `dist` conterá um arquivo chamado `Hello_World-0.0.1.msi`. Se você clicar duas vezes nesse instalador para executá-lo, deverá passar por um processo familiar de instalação do Windows. Após a conclusão da instalação, haverá uma entrada \"Hello World\" em seu menu Iniciar." - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop. Mas o que acontece quando precisamos atualizar o código em nosso aplicativo? Como podemos colocar essas atualizações em nosso aplicativo empacotado? Consulte o [Tutorial 4][./tutorial-4] para descobrir..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index 57d290db..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,175 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2024-02-13 12:08+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -msgid "Tutorial 4 - Updating your application" -msgstr "Tutorial 4 - Atualizando sua aplicação" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -#, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "No último tutorial, empacotamos nosso aplicativo como um aplicativo nativo. Se estiver lidando com um aplicativo do mundo real, esse não será o fim da história - você provavelmente fará alguns testes, descobrirá problemas e precisará fazer algumas alterações. Mesmo que o seu aplicativo seja perfeito, você eventualmente desejará publicar a versão 2 do seu aplicativo com melhorias." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -#, fuzzy -msgid "So - how do you update your installed app when you make code changes?" -msgstr "Então, como você atualiza o aplicativo instalado quando faz alterações no código?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -#, fuzzy -msgid "Updating application code" -msgstr "Atualização do código do aplicativo" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -#, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Atualmente, nosso aplicativo imprime no console quando você pressiona o botão. No entanto, os aplicativos de GUI não devem realmente usar o console para saída. Eles precisam usar caixas de diálogo para se comunicar com os usuários." - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -#, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Vamos adicionar uma caixa de diálogo para dizer olá, em vez de escrever no console. Modifique o retorno de chamada `say_hello` para que ele tenha a seguinte aparência:" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -#, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Isso instrui o Toga a abrir uma caixa de diálogo modal quando o botão é pressionado." - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -#, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Se você executar `briefcase dev`, digitar um nome e pressionar o botão, verá a nova caixa de diálogo:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Caixa de diálogo do Hello World Tutorial 4, no macOS" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Diálogo do tutorial 4 do Hello World, no Linux" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Caixa de diálogo Hello World Tutorial 4, no Windows" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -#, fuzzy -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "No entanto, se você executar o `briefcase run`, a caixa de diálogo não será exibida." - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Por que isso acontece? Bem, o `briefcase dev` opera executando seu código no local - ele tenta produzir o ambiente de tempo de execução mais realista possível para seu código, mas não fornece nem usa nenhuma infraestrutura da plataforma para empacotar seu código como um aplicativo. Parte do processo de empacotamento do aplicativo envolve a cópia do código *para* o pacote de aplicativos e, no momento, o aplicativo ainda contém o código antigo." - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -#, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Portanto, precisamos dizer ao briefcase para atualizar seu aplicativo, copiando a nova versão do código. Poderíamos fazer isso excluindo o diretório da plataforma antiga e começando do zero. No entanto, o Briefcase oferece uma maneira mais fácil: você pode atualizar o código do seu aplicativo empacotado existente:" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -#, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Se o Briefcase não conseguir encontrar o modelo de andaime, ele invocará automaticamente o `create` para gerar um novo andaime." - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -#, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Agora que atualizamos o código do instalador, podemos executar o `briefcase build` para recompilar o aplicativo, o `briefcase run` para executar o aplicativo atualizado e o `briefcase package` para reembalar o aplicativo para distribuição." - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -#, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Usuários do macOS, lembrem-se de que, conforme observado em [Tutorial 3][tutorial-3], para o tutorial, recomendamos executar o `briefcase package` com o sinalizador `--adhoc-sign` para evitar a complexidade da configuração de uma identidade de assinatura de código e manter o tutorial o mais simples possível)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -#, fuzzy -msgid "Update and run in one step" -msgstr "Atualize e execute em uma única etapa" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -#, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Se estiver iterando rapidamente as alterações no código, provavelmente desejará fazer uma alteração no código, atualizar o aplicativo e executá-lo novamente de imediato. Para a maioria das finalidades, o modo de desenvolvedor (`briefcase dev`) será a maneira mais fácil de fazer esse tipo de iteração rápida; no entanto, se estiver testando algo sobre como o aplicativo é executado como um binário nativo ou procurando um bug que só se manifesta quando o aplicativo está no formato empacotado, talvez seja necessário usar chamadas repetidas para `briefcase run`. Para simplificar o processo de atualização e execução do aplicativo empacotado, o Briefcase tem um atalho para suportar esse padrão de uso - a opção `-u` (ou `--update`) no comando `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -#, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Vamos tentar fazer outra alteração. Você deve ter notado que, se não digitar um nome na caixa de entrada de texto, a caixa de diálogo dirá \"Hello, \". Vamos modificar a função `say_hello` novamente para lidar com esse caso extremo." - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -#, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "Na parte superior do arquivo, entre as importações e a definição da `classe HelloWorld`, adicione um método utilitário para gerar uma saudação apropriada, dependendo do valor do nome que foi fornecido:" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -#, fuzzy -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Em seguida, modifique a chamada de retorno `say_hello` para usar esse novo método utilitário:" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -#, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Execute seu aplicativo no modo de desenvolvimento (com `briefcase dev`) para confirmar que a nova lógica funciona; em seguida, atualize, crie e execute o aplicativo com um único comando:" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -#, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "O comando package também aceita o argumento `-u`, portanto, se você fizer uma alteração no código do aplicativo e quiser reempacotar imediatamente, poderá executar `briefcase package -u`." - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop e conseguimos atualizar o código em nosso aplicativo." - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Mas e quanto ao celular? No [Tutorial 5][tutorial-5/index], converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index ef92d378..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,255 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-13 12:09+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutorial 5 - Levando para o Mobile: Android" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -#, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Agora, vamos pegar nosso aplicativo e implantá-lo como um aplicativo Android." - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -#, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "O processo de implementação de um aplicativo no Android é muito semelhante ao processo de implementação como um aplicativo de desktop. O Briefcase lida com a instalação de dependências para o Android, incluindo o SDK do Android, o emulador do Android e um compilador Java." - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -#, fuzzy -msgid "Create an Android app and compile it" -msgstr "Criar um aplicativo Android e compilá-lo" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -#, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Primeiro, execute o comando `create`. Isso faz o download de um modelo de aplicativo Android e adiciona seu código Python a ele." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Quando você executa o `briefcase create android` pela primeira vez, o Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos arquivos e o tempo de download podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a Internet). Quando o download for concluído, você será solicitado a aceitar a licença do Android SDK do Google." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -#, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Quando isso for concluído, teremos um diretório `build\\helloworld\\android\\gradle` em nosso projeto, que conterá um projeto Android com uma configuração de compilação do Gradle. Esse projeto conterá o código do seu aplicativo e um pacote de suporte que contém o interpretador Python." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -#, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Em seguida, podemos usar o comando `build` do Briefcase para compilar isso em um arquivo de aplicativo APK para Android." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "O Gradle pode parecer travado" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -#, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante a etapa `briefcase build android`, o Gradle (a ferramenta de compilação da plataforma Android) imprimirá `CONFIGURING: 100%` e parecerá não estar fazendo nada. Não se preocupe, ele não está travado - está baixando mais componentes do Android SDK. Dependendo da velocidade da sua conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que você executar o `build`; as ferramentas são armazenadas em cache e, na próxima compilação, as versões armazenadas em cache serão usadas." - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -#, fuzzy -msgid "Run the app on a virtual device" -msgstr "Execute o aplicativo em um dispositivo virtual" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -#, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Agora estamos prontos para executar nosso aplicativo. Você pode usar o comando `run` do Briefcase para executar o aplicativo em um dispositivo Android. Vamos começar com a execução em um emulador de Android." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -#, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Para executar seu aplicativo, execute `briefcase run android`. Ao fazer isso, será exibida uma lista de dispositivos nos quais você pode executar o aplicativo. O último item sempre será uma opção para criar um novo emulador de Android." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Agora podemos escolher o dispositivo desejado. Selecione a opção \"Create a new Android emulator\" e aceite a opção padrão para o nome do dispositivo (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -#, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "O `run` do Briefcase inicializará automaticamente o dispositivo virtual. Quando o dispositivo estiver sendo inicializado, você verá o logotipo do Android:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -#, fuzzy -msgid "Android virtual device booting" -msgstr "Inicialização do dispositivo virtual Android" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -#, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Quando o dispositivo terminar a inicialização, o Briefcase instalará seu aplicativo no dispositivo. Você verá brevemente uma tela de inicialização:" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -#, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Dispositivo virtual Android totalmente iniciado, na tela do iniciador" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -#, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "Em seguida, o aplicativo será iniciado. Você verá uma tela inicial enquanto o aplicativo é iniciado:" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -#, fuzzy -msgid "App splash screen" -msgstr "Tela inicial do aplicativo" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -#, fuzzy -msgid "The emulator didn't start!" -msgstr "O emulador não foi iniciado!" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -#, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "O emulador do Android é um software complexo que depende de vários recursos de hardware e do sistema operacional - recursos que podem não estar disponíveis ou habilitados em máquinas mais antigas. Se tiver alguma dificuldade para iniciar o emulador do Android, consulte a seção \"Requisitos e recomendações\" da documentação do desenvolvedor do Android." - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "Na primeira vez que o aplicativo é iniciado, ele precisa ser descompactado no dispositivo. Isso pode levar alguns segundos. Depois de descompactado, você verá a versão para Android do nosso aplicativo para desktop:" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -#, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "Aplicativo do Tutorial 2, totalmente lançado" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -#, fuzzy -msgid "Demo app fully launched" -msgstr "Aplicativo de demonstração totalmente lançado" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -#, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário verificar o terminal em que você executou o `briefcase run` e procurar mensagens de erro." - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -#, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "No futuro, se você quiser executar nesse dispositivo sem usar o menu, poderá fornecer o nome do emulador ao Briefcase, usando `briefcase run android -d @beePhone` para executar diretamente no dispositivo virtual." - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -#, fuzzy -msgid "Run the app on a physical device" -msgstr "Execute o aplicativo em um dispositivo físico" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -#, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Se você tiver um telefone ou tablet Android físico, poderá conectá-lo ao seu computador com um cabo USB e, em seguida, usar o Briefcase para direcionar seu dispositivo físico." - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -#, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "O Android exige que você prepare seu dispositivo antes que ele possa ser usado para desenvolvimento. Você precisará fazer duas alterações nas opções do seu dispositivo:" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -#, fuzzy -msgid "Enable developer options" -msgstr "Ativar opções de desenvolvedor" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -#, fuzzy -msgid "Enable USB debugging" -msgstr "Ativar a depuração USB" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Detalhes sobre como fazer essas alterações podem ser encontrados [na documentação do desenvolvedor do Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando você executar o `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -#, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Aqui podemos ver um novo dispositivo físico com seu número de série na lista de implantação - neste caso, um Pixel 3a. No futuro, se quiser executar nesse dispositivo sem usar o menu, você poderá fornecer o número de série do telefone ao Briefcase (nesse caso, `briefcase run android -d 94ZZY0LNE8`). Isso será executado diretamente no dispositivo, sem avisos." - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "Meu dispositivo não aparece!" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -#, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Se o seu dispositivo não aparecer nessa lista, você não ativou a depuração USB (ou o dispositivo não está conectado!)." - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -#, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Se o seu dispositivo aparecer, mas estiver listado como \"Dispositivo desconhecido (não autorizado para desenvolvimento)\", o modo de desenvolvedor não foi ativado corretamente. Execute novamente [as etapas para ativar as opções de desenvolvedor]{1} e execute novamente `briefcase run android`." - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index fba83ccb..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,97 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-02-13 12:08+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutorial 5 - Levando para o Mobile: iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -#, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Depois de instalar o Xcode, podemos pegar nosso aplicativo e implantá-lo como um aplicativo iOS." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "O processo de implantação de um aplicativo no iOS é muito semelhante ao processo de implantação como um aplicativo de desktop. Primeiro, você executa o comando `create`, mas, desta vez, especificamos que queremos criar um aplicativo iOS:" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -#, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Quando isso for concluído, teremos um diretório `build/helloworld/ios/xcode` contendo um projeto Xcode, bem como as bibliotecas de suporte e o código do aplicativo necessários para o aplicativo." - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -#, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Em seguida, você pode usar o Briefcase para compilar o aplicativo usando `briefcase build iOS`:" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -#, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Agora estamos prontos para executar nosso aplicativo, usando o `briefcase run iOS`. Será solicitado que você selecione um dispositivo para o qual compilar; se você tiver simuladores para várias versões do SDK do iOS instalados, também poderá ser perguntado qual versão do iOS deseja usar como alvo. As opções mostradas a você podem ser diferentes das opções mostradas nesta saída - no mínimo, a lista de dispositivos provavelmente será diferente. Para nossos propósitos, não importa qual simulador você escolherá." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -#, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Isso iniciará o simulador do iOS, instalará seu aplicativo e o iniciará. Você deverá ver o simulador iniciar e, por fim, abrir seu aplicativo iOS:" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Janela do tutorial 5 do Hello World, no iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -#, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Se você souber antecipadamente qual simulador de iOS deseja usar, poderá dizer ao Briefcase para usar esse simulador fornecendo uma opção `-d` (ou `--device`). Usando o nome do dispositivo que você selecionou ao criar o aplicativo, execute:" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -#, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Se você tiver várias versões do iOS disponíveis, o Briefcase escolherá a versão mais alta do iOS; se você quiser escolher uma versão específica do iOS, diga a ele para usar essa versão específica:" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -#, fuzzy -msgid "Or, you can name a specific device UDID:" -msgstr "Ou você pode nomear um UDID de dispositivo específico:" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Para compilar aplicativos iOS, precisaremos do Xcode, que está disponível gratuitamente [na macOS App Store]{1}." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index 7ffb13c6..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,50 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2024-03-01 19:00+0000\n" -"Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutorial 5 - Levando para o Mobile" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Até agora, executamos e testamos nosso aplicativo no desktop. No entanto, o BeeWare também oferece suporte a plataformas móveis, e o aplicativo que escrevemos também pode ser implantado em seu dispositivo móvel!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "os aplicativos iOS só podem ser compilados no macOS." - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Os aplicativos Android podem ser compilados no macOS, Windows ou Linux." - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Vamos criar nosso aplicativo para iOS!][iOS]" - -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Vamos criar nosso aplicativo para Android!][android]" - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index 69007428..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,108 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-24 17:48+0800\n" -"PO-Revision-Date: 2024-02-13 12:08+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language-Team: Portuguese \n" -"Language: pt\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" -"X-Generator: Poedit 3.4.2\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-6.rst:3 86ed1df7b28e481184dcee23d0e7da6f -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - Coloque na web!" - -#: ../../tutorial/tutorial-6.rst:5 c76e1152ed1b46d4b1c9a217c2fd5e6e -#, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Além de oferecer suporte a plataformas móveis, o kit de ferramentas de widget Toga também oferece suporte à Web! Usando a mesma API que você usou para implantar seus aplicativos de desktop e móveis, você pode implantar seu aplicativo como um aplicativo da Web de página única." - -#: ../../tutorial/tutorial-6.rst:9 adc62943ecc54b35b15e0601d0e8946a -#, fuzzy -msgid "Proof of Concept" -msgstr "Prova de conceito" - -#: ../../tutorial/tutorial-6.rst:11 c56e6544da5e4f80aa672f9139458d5a -#, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "O backend do Toga Web é o menos maduro de todos os backends do Toga. Ele está maduro o suficiente para exibir alguns recursos, mas é provável que apresente bugs e não tenha muitos dos widgets disponíveis em outras plataformas. Neste momento, a implementação na Web deve ser considerada uma \"Prova de Conceito\" - o suficiente para demonstrar o que pode ser feito, mas não o suficiente para ser usado em um desenvolvimento sério." - -#: ../../tutorial/tutorial-6.rst:18 ce4a8e59bf48498c8c689a4b147c44a6 -#, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Se você tiver problemas com esta etapa do tutorial, pule para a próxima página." - -#: ../../tutorial/tutorial-6.rst:22 3edb2c92ee8e44dc9605a927694b2ae2 -#, fuzzy -msgid "Deploying as a web app" -msgstr "Implementação como um aplicativo Web" - -#: ../../tutorial/tutorial-6.rst:24 529524a7da844e78b40470efe6b6acc4 -#, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "" -"O processo de implementação como um aplicativo da Web de página única segue o mesmo padrão familiar - você cria o aplicativo, constrói o aplicativo e, em seguida, o executa. No entanto, o Briefcase pode ser um pouco inteligente; se você tentar executar um aplicativo e o Briefcase determinar que ele não foi criado ou compilado para a plataforma que está sendo visada, ele executará as etapas de criação e compilação para você. Como esta é a primeira vez que executamos o aplicativo para a " -"Web, podemos executar todas as três etapas com um único comando:" - -#: ../../tutorial/tutorial-6.rst:34 f735de1635d5496e914177c0ac70f5d4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 9c5a07798eb44b90852231de5cd48d84 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 b47bbba97a354fa8a875469360a24df8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 0034a6c6fdf54c2ea2cd4cc09384f99d -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Isso abrirá um navegador da Web, apontando para [http://127.0.0.1:8080](http://127.0.0.1:8080):" - -#: ../../tutorial/tutorial-6.rst:-1 497aa7152b48453ba4b2c1f28cab0817 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Diálogo do tutorial 6 do Hello World em um navegador" - -#: ../../tutorial/tutorial-6.rst:154 f6966e6cbed24009afff1d3b2c72f532 -#, fuzzy -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Se você digitar seu nome e clicar no botão, será exibida uma caixa de diálogo." - -#: ../../tutorial/tutorial-6.rst:157 e7d3d45f2609402bb1ad8b0c26e3d00d -msgid "How does this work?" -msgstr "Como isso funciona?" - -#: ../../tutorial/tutorial-6.rst:159 94a41e02bcb447d8865ed42d40deb712 -#, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Este aplicativo da Web é um site estático - uma única página de origem HTML, com alguns recursos CSS e outros. O Briefcase iniciou um servidor da Web local para servir essa página para que o seu navegador possa visualizá-la. Se você quiser colocar essa página da Web em produção, poderá copiar o conteúdo da pasta `www` em qualquer servidor da Web que possa servir conteúdo estático." - -#: ../../tutorial/tutorial-6.rst:165 457368c5d7494291b2411badef1db4ac -#, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "" -"Mas quando você pressiona o botão, está executando código Python... como isso funciona? O Toga usa o [PyScript]{1} para fornecer um interpretador Python no navegador. O Briefcase empacota o código do seu aplicativo como rodas que o PyScript pode carregar no navegador. Quando a página é carregada, o código do aplicativo é executado no navegador, criando a interface do usuário usando o DOM do navegador. Quando você clica em um botão, esse botão executa o código de " -"manipulação de eventos no navegador." - -#: ../../tutorial/tutorial-6.rst:173 122d17f0ad0d4e8ab0e442f96fad590b -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-6.rst:175 212de898d2df409dbbc74628b3ba00f4 -#, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos móveis e na Web, ele é bastante simples e não envolve bibliotecas de terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em nosso aplicativo? Consulte o [Tutorial 7][tutorial-7] para descobrir..." diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index b082cef3..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,378 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-02-13 12:07+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutorial 7 - Iniciando o uso de bibliotecas externas" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -#, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Até o momento, o aplicativo que criamos usou apenas o nosso próprio código, além do código fornecido pelo BeeWare. Entretanto, em um aplicativo do mundo real, você provavelmente desejará usar uma biblioteca de terceiros, baixada do Python Package Index (PyPI)." - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -#, fuzzy -msgid "Let's modify our app to include a third-party library." -msgstr "Vamos modificar nosso aplicativo para incluir uma biblioteca de terceiros." - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -#, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Vamos adicionar uma chamada de API `httpx` ao nosso aplicativo. Adicione uma importação na parte superior do `app.py` para importar `httpx`:" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Em seguida, modifique a chamada de retorno `say_hello()` para que fique assim:" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -#, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Vamos executar nosso aplicativo atualizado no modo de desenvolvedor do Briefcase para verificar se nossa alteração funcionou." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "O que aconteceu? Adicionamos o `httpx` ao nosso *código*, mas não o adicionamos ao nosso ambiente virtual de desenvolvimento. Podemos corrigir isso instalando o `httpx` com o `pip` e, em seguida, executando novamente o `briefcase dev`:" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Ao inserir um nome e pressionar o botão, você verá uma caixa de diálogo semelhante:" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Caixa de diálogo do tutorial 7 do Hello World, no macOS" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Diálogo do tutorial 7 do Hello World, no Linux" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Caixa de diálogo Hello World Tutorial 7, no Windows" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -#, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Agora temos um aplicativo funcional, usando uma biblioteca de terceiros, em execução no modo de desenvolvimento!" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -#, fuzzy -msgid "Running the updated app" -msgstr "Executando o aplicativo atualizado" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Vamos empacotar esse código de aplicativo atualizado como um aplicativo autônomo. Como fizemos alterações no código, precisamos seguir as mesmas etapas do [Tutorial 4][tutorial-4]:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "Atualize o código no aplicativo empacotado:" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "Reconstrua o aplicativo:" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -#, fuzzy -msgid "And finally, run the app:" -msgstr "E, por fim, execute o aplicativo:" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console, além de uma caixa de diálogo de falha:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Falha no aplicativo Hello World Tutorial 7, no macOS" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Falha no aplicativo Hello World Tutorial 7, no Windows" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console:" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Mais uma vez, o aplicativo não foi iniciado porque o `httpx` foi instalado - mas por quê? Já não instalamos o `httpx`?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Temos, mas somente no ambiente de desenvolvimento. O ambiente de desenvolvimento é totalmente local em seu computador e só é ativado quando você o ativa explicitamente. Embora o Briefcase tenha um modo de desenvolvimento, a principal razão pela qual você usaria o Briefcase é para empacotar o seu código para que você possa fornecê-lo a outra pessoa." - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "A única maneira de garantir que outra pessoa tenha um ambiente Python que contenha tudo o que ela precisa é criar um ambiente Python completamente isolado. Isso significa que há uma instalação completamente isolada do Python e um conjunto completamente isolado de dependências. Isso é o que o Briefcase está construindo quando você executa o `briefcase build` - um ambiente Python isolado. Isso também explica por que o `httpx` não está instalado - ele foi instalado em seu ambiente de *desenvolvimento*, mas não no aplicativo empacotado." - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Portanto, precisamos informar ao Briefcase que nosso aplicativo tem uma dependência externa." - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "Atualização de dependências" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "No diretório raiz do seu aplicativo, há um arquivo chamado `pyproject.toml`. Esse arquivo contém todos os detalhes de configuração do aplicativo que você forneceu quando executou originalmente o `briefcase new`." - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "o `pyproject.toml` é dividido em seções; uma das seções descreve as configurações do seu aplicativo:" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "A opção `requires` descreve as dependências do nosso aplicativo. É uma lista de cadeias de caracteres, especificando as bibliotecas (e, opcionalmente, as versões) das bibliotecas que você deseja incluir em seu aplicativo." - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "Modifique a configuração `requires` para que fique assim:" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Ao adicionar essa configuração, estamos dizendo ao Briefcase \"quando você compilar meu aplicativo, execute `pip install httpx` no pacote de aplicativos\". Qualquer coisa que seja uma entrada legal para `pip install` pode ser usada aqui - portanto, você poderia especificar:" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Uma versão específica da biblioteca (por exemplo, `\"httpx==0.19.0\"`);" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Um intervalo de versões de biblioteca (por exemplo, `\"httpx>=0.19\"`);" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Um caminho para um repositório git (por exemplo, `\"git+https://github.com/encode/httpx\"`); ou" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -#, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Um caminho de arquivo local (no entanto, esteja avisado: se você fornecer seu código a outra pessoa, esse caminho provavelmente não existirá no computador dela!)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Mais abaixo no `pyproject.toml`, você notará outras seções que dependem do sistema operacional, como `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Essas seções *também* têm uma configuração `requires`. Essas configurações permitem definir dependências adicionais específicas da plataforma. Assim, por exemplo, se você precisar de uma biblioteca específica da plataforma para lidar com algum aspecto do seu aplicativo, poderá especificar essa biblioteca na seção `requires` específica da plataforma, e essa configuração será usada somente para essa plataforma. Você notará que as bibliotecas `toga` são todas especificadas na seção `requires` específica da plataforma - isso ocorre porque as bibliotecas necessárias para exibir uma interface de usuário são específicas da plataforma." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "No nosso caso, queremos que o `httpx` seja instalado em todas as plataformas, portanto, usamos a configuração `requires` em nível de aplicativo. As dependências no nível do aplicativo sempre serão instaladas; as dependências específicas da plataforma são instaladas *além* das dependências no nível do aplicativo." - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Agora que informamos o Briefcase sobre nossos requisitos adicionais, podemos tentar empacotar nosso aplicativo novamente. Certifique-se de que salvou suas alterações no `pyproject.toml` e, em seguida, atualize seu aplicativo novamente - desta vez, passando o sinalizador `-r`. Isso diz ao Briefcase para atualizar os requisitos no aplicativo empacotado:" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Depois de atualizar, você pode executar `briefcase build` e `briefcase run` e verá o aplicativo empacotado com o novo comportamento de diálogo." - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "A opção `-r` para atualizar os requisitos também é aceita pelos comandos `build` e `run`, portanto, se quiser atualizar, compilar e executar em uma única etapa, você pode usar `briefcase run -u -r`." - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Em plataformas de desktop (macOS, Windows, Linux), qualquer `pip` instalável pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, [suas opções são ligeiramente limitadas]{1}." - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -#, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "O BeeWare pode fornecer binários para alguns módulos binários populares (incluindo `numpy`, `pandas` e `cryptography`). Normalmente, é possível compilar pacotes para plataformas móveis, mas isso não é fácil de configurar, o que está fora do escopo de um tutorial introdutório como este." - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "Acesso a uma API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Uma tarefa comum que um aplicativo precisará executar é fazer uma solicitação em uma API da Web para recuperar dados e exibir esses dados ao usuário. Como este é um aplicativo de brinquedo, não temos uma API *real* para trabalhar, portanto, usaremos a [{JSON} Placeholder API]{1} como fonte de dados." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "A API {JSON} Placeholder tem vários endpoints de API \"falsos\" que você pode usar como dados de teste. Uma dessas APIs é o ponto de extremidade `/posts/`, que retorna publicações de blog falsas. Se você abrir `https://jsonplaceholder.typicode.com/posts/42` em seu navegador, obterá uma carga JSON que descreve uma única publicação - algum conteúdo [Lorum ipsum]{1} para uma publicação de blog com ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "A biblioteca padrão do Python contém todas as ferramentas necessárias para acessar uma API. Entretanto, as APIs incorporadas são de nível muito baixo. Elas são boas implementações do protocolo HTTP, mas exigem que o usuário gerencie muitos detalhes de baixo nível, como redirecionamento de URL, sessões, autenticação e codificação de carga útil. Como um \"usuário normal de navegador\", você provavelmente está acostumado a considerar esses detalhes como garantidos, pois o navegador gerencia esses detalhes para você." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Como resultado, as pessoas desenvolveram bibliotecas de terceiros que envolvem as APIs incorporadas e fornecem uma API mais simples que se aproxima da experiência cotidiana do navegador. Vamos usar uma dessas bibliotecas para acessar a API {JSON} Placeholder - uma biblioteca chamada [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Isso alterará a chamada de retorno `say_hello()` para que, quando for chamada, ela o faça:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "faça uma solicitação GET na API do espaço reservado JSON para obter o post 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "decodificar a resposta como JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "extrair o corpo da postagem; e" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "incluir o corpo dessa postagem como o texto da caixa de diálogo." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Alguns pacotes binários podem não estar disponíveis" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "Resumindo: qualquer pacote Python *puro* (ou seja, pacotes que *não* contêm um módulo binário) pode ser usado sem dificuldade. No entanto, se sua dependência contiver um componente binário, ele deverá ser compilado; no momento, a maioria dos pacotes Python não oferece suporte à compilação para plataformas que não sejam de desktop." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o [Tutorial 8][tutorial-8] para descobrir..." - diff --git a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index 41139ff8..00000000 --- a/updated-locales/pt/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,374 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-02-13 12:07+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutorial 8 - Suavizando o Processo" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A menos que você tenha uma conexão de Internet *muito* rápida, poderá perceber que, ao pressionar o botão, a GUI do seu aplicativo trava um pouco. Isso ocorre porque a solicitação da Web que fizemos é *síncrona*. Quando nosso aplicativo faz a solicitação da Web, ele espera que a API retorne uma resposta antes de continuar. Enquanto espera, ele não permite que o aplicativo seja redesenhado e, como resultado, o aplicativo trava." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -#, fuzzy -msgid "GUI Event Loops" -msgstr "Loops de eventos da GUI" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -#, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Para entender por que isso acontece, precisamos nos aprofundar nos detalhes de como funciona um aplicativo de GUI. Os detalhes variam de acordo com a plataforma, mas os conceitos de alto nível são os mesmos, independentemente da plataforma ou do ambiente de GUI que você estiver usando." - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -#, fuzzy -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Um aplicativo de GUI é, basicamente, um único loop que se parece com:" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Esse loop é chamado de *Event Loop*. (Esses não são nomes de métodos reais - é uma ilustração do que está acontecendo no \"pseudocódigo\")." - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -#, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Quando você clica em um botão, arrasta uma barra de rolagem ou digita uma tecla, está gerando um \"evento\". Esse \"evento\" é colocado em uma fila, e o aplicativo processará a fila de eventos quando tiver a oportunidade de fazê-lo. O código do usuário que é acionado em resposta ao evento é chamado de *manipulador de eventos*. Esses manipuladores de eventos são invocados como parte da chamada `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -#, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Depois que um aplicativo tiver processado todos os eventos disponíveis, ele `redraw()` a GUI. Isso leva em conta todas as alterações que os eventos causaram na exibição do aplicativo, bem como qualquer outra coisa que esteja acontecendo no sistema operacional - por exemplo, as janelas de outro aplicativo podem obscurecer ou revelar parte da janela do nosso aplicativo, e o redesenho do nosso aplicativo precisará refletir a parte da janela que está visível no momento." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -#, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "O detalhe importante a ser observado: enquanto um aplicativo estiver processando um evento, *ele não pode redesenhar* e *não pode processar outros eventos*." - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -#, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Isso significa que qualquer lógica de usuário contida em um manipulador de eventos precisa ser concluída rapidamente. Qualquer atraso na conclusão do manipulador de eventos será observado pelo usuário como uma desaceleração (ou parada) nas atualizações da GUI. Se esse atraso for longo o suficiente, seu sistema operacional poderá informar isso como um problema - os ícones \"bola de praia\" do macOS e \"botão giratório\" do Windows são o sistema operacional informando que seu aplicativo está demorando demais em um manipulador de eventos." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -#, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Operações simples como \"atualizar um rótulo\" ou \"recomputar o total das entradas\" são fáceis de concluir rapidamente. Entretanto, há muitas operações que não podem ser concluídas rapidamente. Se estiver realizando um cálculo matemático complexo, ou indexando todos os arquivos em um sistema de arquivos, ou realizando uma grande solicitação de rede, não é possível \"simplesmente fazer isso rapidamente\" - as operações são inerentemente lentas." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -#, fuzzy -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Então, como realizamos operações de longa duração em um aplicativo de GUI?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -#, fuzzy -msgid "Asynchronous programming" -msgstr "Programação assíncrona" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -#, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "O que precisamos é de uma maneira de informar a um aplicativo no meio de um manipulador de eventos de longa duração que não há problema em liberar temporariamente o controle de volta para o loop de eventos, desde que possamos retomar de onde paramos. Cabe ao aplicativo determinar quando essa liberação pode ocorrer; mas se o aplicativo liberar o controle para o loop de eventos regularmente, poderemos ter um manipulador de eventos de longa duração *e* manter uma interface de usuário responsiva." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -#, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Podemos fazer isso usando a *programação assíncrona*. A programação assíncrona é uma maneira de descrever um programa que permite que o intérprete execute várias funções ao mesmo tempo, compartilhando recursos entre todas as funções executadas simultaneamente." - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "As funções assíncronas (conhecidas como *co-rotinas*) precisam ser explicitamente declaradas como assíncronas. Elas também precisam declarar internamente quando existe uma oportunidade de mudar o contexto para outra co-rotina." - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "Em Python, a programação assíncrona é implementada usando as palavras-chave `async` e `await` e o módulo [asyncio]{1} na biblioteca padrão. A palavra-chave `async` nos permite declarar que uma função é uma co-rotina assíncrona. A palavra-chave `await` fornece uma maneira de declarar quando existe uma oportunidade de mudar o contexto para outra co-rotina. O módulo [asyncio]{1} fornece algumas outras ferramentas e primitivas úteis para codificação assíncrona." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "Tornando o tutorial assíncrono" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -#, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "Há apenas 4 alterações nesse código em relação à versão anterior:" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -#, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "O cliente criado é um `AsyncClient()` assíncrono, em vez de um `Client()` síncrono. Isso informa ao `httpx` que ele deve operar no modo assíncrono, e não no modo síncrono." - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -#, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "O gerenciador de contexto usado para criar o cliente é marcado como `async`. Isso informa ao Python que há uma oportunidade de liberar o controle à medida que o gerenciador de contexto entra e sai." - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "A Toga permite que você use métodos regulares ou co-rotinas assíncronas como manipuladores; a Toga gerencia tudo nos bastidores para garantir que o manipulador seja chamado ou aguardado conforme necessário." - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Se você salvar essas alterações e executar novamente o aplicativo (com o `briefcase dev` no modo de desenvolvimento ou atualizando e executando novamente o aplicativo empacotado), não haverá nenhuma alteração óbvia no aplicativo. No entanto, ao clicar no botão para acionar a caixa de diálogo, você poderá notar uma série de melhorias sutis:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -#, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "O botão retorna a um estado \"não clicado\", em vez de ficar preso em um estado \"clicado\"." - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "O ícone \"bola de praia\"/\"botão giratório\" não é exibido" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -#, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Se você mover/redimensionar a janela do aplicativo enquanto aguarda a exibição da caixa de diálogo, a janela será redesenhada." - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -#, fuzzy -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Se você tentar abrir um menu de aplicativo, o menu será exibido imediatamente." - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "Próximos passos" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "" - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Agora temos um aplicativo que é elegante e responsivo, mesmo quando está esperando em uma API lenta. Mas como podemos ter certeza de que o aplicativo continuará funcionando à medida que continuarmos a desenvolvê-lo? Como testamos nosso aplicativo? Consulte o [Tutorial 9][tutorial-9] para descobrir..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "O método é definido como `async def`, em vez de apenas `def`. Isso informa ao Python que o método é uma co-rotina assíncrona." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "A chamada `get` é feita com uma palavra-chave `await`. Isso instrui o aplicativo que, enquanto aguardamos a resposta da rede, ele pode liberar o controle para o loop de eventos." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - diff --git a/updated-locales/zh_CN/LC_MESSAGES/how-to/index.po b/updated-locales/zh_CN/LC_MESSAGES/how-to/index.po deleted file mode 100644 index f812cde0..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: zh_CN\n" -"Language-Team: zh_CN \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/zh_CN/LC_MESSAGES/index.po b/updated-locales/zh_CN/LC_MESSAGES/index.po deleted file mode 100644 index 9bcc1eb6..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/index.po +++ /dev/null @@ -1,98 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2025-07-07 01:01+0000\n" -"Last-Translator: John \n" -"Language: zh_CN\n" -"Language-Team: Chinese (Simplified Han script) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "欢迎来到 BeeWare 教程!" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -msgid "**Write Python. Run Anywhere.**" -msgstr "**用 Python 编写。随处运行。**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "欢迎来到 BeeWare!在本教程中,我们将使用 Python 构建一个图形用户界面,并将其部署为桌面应用程序、移动应用程序和单页网页应用程序。我们还将探讨如何使用 BeeWare 工具执行应用程序开发者需要做的一些常见任务,例如测试你的应用。" - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "有翻译版本" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "如果您不熟悉中文,本教程提供了以下语言的翻译:[Deutsch]{1} (德语)、[Español]{1} (西班牙语)、[Français]{1} (法语)、[Italiano]{1} (意大利语)、[Português]{1} (葡萄牙语)、[中文(简体)]{1} (中文(简体))和 [中文(繁體)]{1} (中文(繁体))。" - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "这是一份机器翻译!" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "本教程版本由机器翻译生成。我们知道这并不理想,但我们认为糟糕的翻译总比没有翻译好。" - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "如果您想帮助改进翻译,请联系我们!我们在 [Discord]{1} 中有一个 `#translations` 频道;在那儿介绍自己,我们会邀请您加入翻译团队。" - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "这是一份翻译!" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "本文档是英文文档的翻译。翻译已由人工审核,但较新的部分可能是由机器翻译生成的,或者根本未翻译。" - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -msgid "What is BeeWare?" -msgstr "什么是 BeeWare?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare 并不是一个单独的产品、工具或库 (library),它是一系列工具和库的集合:每个工具和库都能协同工作,帮助您编写跨平台、具有本地图形用户界面的 Python 应用程序。它包括:" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1},一个跨平台控件工具包;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1},一个用于将 Python 项目打包为可分发给最终用户的的成品的工具;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "用于访问平台原生库的库(如 [Rubicon ObjC]{1});" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "预编译的 Python 版本,可在官方 Python 安装程序不可用的平台上使用。" - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "在这个教程中,我们将使用所有这些工具,但作为用户,你只需要与前两个(Toga 和 Briefcase)互动。然而,每个工具也可以单独使用 - 例如,你可以使用Briefcase部署应用程序,而不使用 Toga 作为 GUI 工具包。" - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "BeeWare 套件可用于 macOS、Windows、Linux(使用GTK)上;在移动平台如 Android 和 iOS 上;以及在 Web 上。" - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "让我们开始吧!" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "准备好亲身体验 BeeWare 了吗?[让我们用 Python 构建一个跨平台应用程序!][tutorial/tutorial-0]" - diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index 8498486f..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,140 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-08-09 01:02+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "使用相机" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "" -"几乎每一台现代计算机都配备某种类型的摄像头。在本教程中,我们将编写一个新程序" -",使该程序能够请求访问摄像头、拍摄照片,然后在这个新的应用程序当中显示所拍摄" -"的照片。" - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "本教程不适用于所有平台!" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "遗憾的是,目前本教程仅适用于 macOS 系统和 Android。" - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "" -"虽然所有 iPhone 都有摄像头,iOS *虚拟机*\\ 没有正常工作的摄像头。Windows 与 " -"Linux 设备也有摄像头,但 Toga 目前不提供在这些平台上访问摄像头的能力。" - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "这里展示的代码可以在 Windows 或 Linux 上运行,但是当您尝试照相时,它会报错。" - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "这段代码在 iOS 设备上会正常工作,但部署到 iOS 虚拟器时,它将无法正常拍照。" - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "添加设备权限" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "我们现在可以生成并运行应用程序:" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index f22e2392..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,155 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2025-08-09 01:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "自定义图标" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "我们在主教程中开发的应用在打包时使用了默认的 “灰色蜜蜂” 图标。让我们通过配置使用我们自己的图标来个性化此应用程序。" - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -msgid "Adding an icon" -msgstr "添加图标" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" -"每个平台都使用不同的应用程序图标格式 -- 有些还需要\\ *多个*\\ " -"不同大小和形状的。为此考虑,Briefcase " -"提供了一种简短的方法,可以配置一次图标,并让这种定义扩充到每个单个平台的所有" -"所需要的图标。" - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" -"编辑您的 `project.toml`,在 `[tool.briefcase.app.helloworld]` " -"配置部分中,在 `sources` 的正上方添加一个 `icon` 配置项:" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" -"图标配置时,无需指定任何扩展文件名。这里的值将会被作为前缀使用;每个平台将会" -"在此前缀基础上添加更多项目,以构建在那个平台上所需的文件。有些平台需要\\ " -"*多个*\\ " -"图标文件;在这种情况下,前缀将与文件大小和变种结合在一起,生成使用的图标列表" -"。" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" -"我们现在可以重新运行 `briefcase update` — 但这次,我们传入 `--update-" -"resources` 标志,以告诉 Briefcase 我们想要安装新的应用资源(图标):" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "在浅蓝背景上的绿蛇图标" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**即将推出**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 [Tutorial 11` 了解更多..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "教程 10 - 制作属于自己的应用程序" - -#~ msgid "Next steps" -#~ msgstr "下一步" - -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index bc95b01c..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,54 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: 2025-06-05 01:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "更进一步" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "想在一些主题更加深入吗?这里有一些探索应用程序开发的常见方面的教程。教程互相" -"独立,可以任意顺序完成,但它们都假设您已学习了主教程。" - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "自定义图标" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "替换“灰蜜蜂”图标以自定义您的应用程序的外观。" - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "应用测试" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "怎样确保您的应用程序始终正常工作?向您的项目加入一个测试组!" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "相机访问" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "使用在移动或桌面设备上的相机在您的应用程序中拍与查看图片。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index 64e47572..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,176 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2025-06-07 05:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12-dev\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -msgid "Testing times" -msgstr "测试的时候" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "" -"大多数软件开发并不涉及编写新代码,而是修改现有代码。确保现有代码以我们期望的" -"方式继续正常工作是软件开发过程的关键部分。" -"确保应用程序行为的方法之一是使用一个\\ *测试套件*。" - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -msgid "Running the test suite" -msgstr "运行测试套件" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "" -"原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:[" -"`src`\\ 和\\ `tests`。`src`\\ 文件夹包含应用程序的代码;`tests`\\ " -"文件夹包含测试套件。在\\ `tests`\\ 文件夹中,有一个名为\\ `test_app.py`\\" -" 的文件,内容如下:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a `Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "" -"这是一个 [Pytest]{1} *测试用例* - " -"用于验证应用程序的某些行为的可以执行的代码块。在本例中,该测试是一个占位符," -"并不测试我们应用程序的任何内容,但我们可以执行该测试。" - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "" -"我们可以使用 `briefcase dev` 的 `--test` " -"选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` " -"选项,以确保测试以来想也已安装:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "成功了!我们刚刚执行了一个测试,验证了 Python " -"数学以我们预期的方式运行(真是松了一口气!)。" - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "" -"让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` " -"方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "这将定义两个新测试,验证我们期望看到的两种行为:提供名称时的输出和名称为空时" -"的输出。" - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "" -"现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` " -"选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "非常好!我们的 `greeting()` 实用程序方法如期工作了。" - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -msgid "Test driven development" -msgstr "测试驱动开发" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "" -"现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位" -"用户添加特殊的问候语。首先,我们可以在 `test_app.py` " -"的底部为我们希望看到的新行为添加一个测试用例:" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -msgid "Then, run the test suite with this new test:" -msgstr "然后,用这个新测试运行测试套件:" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "" -"这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 " -"\"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 " -"\"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` " -"的实现,使其具有新的行为:" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "如果我们再次运行测试,就会发现测试通过了:" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -msgid "Runtime tests" -msgstr "运行时测试" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "" -"到目前为止,我们一直在开发模式下运行测试。这在开发新功能时尤其有用,因为您可" -"以快速迭代添加测试,并添加代码使测试通过。不过,在某些情况下,您会希望验证您" -"的代码在捆绑应用程序环境下是否也能正确运行。" - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "" -"`-test` 和 `-r` 选项也可以传递给 `run` 命令。如果使用 `briefcase run " -"--test " -"-r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发" -"环境中运行:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "" -"与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r`" -" 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "" -"你也可以在移动后端使用 `--test` 选项:`briefcase run iOS --test` 和 `" -"briefcase run android --test`` 都可以在你选择的移动设备上运行测试套件。" - -#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -#~ msgstr "这只是您利用 BeeWare 项目提供的工具所能做的一些尝试。接下来的工作就靠您自己了!" - -#~ msgid "Some places to go from here:" -#~ msgstr "从这里可以去一些地方:" - -#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" - -#~ msgid "Details on the `options available when configuring your Briefcase project]{1}." -#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" - -#~ msgid "Next steps" -#~ msgstr "下一步" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index 31961dff..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,237 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2025-08-09 01:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "教程 0 - 让我们开始吧!" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "在构建第一个使用 BeeWare 的应用程序之前,我们必须确保已具备运行 BeeWare 的所有先决条件。" - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -msgid "Install Python" -msgstr "安装 Python" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "首先,我们需要一个正常工作的 Python 解释器。" - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "" -"如果您使用 macOS,您可以从 [Python 网站]{1}" -"_\\ 获取官方安装程序。您可以使用 Python 3.10 以上时任何版本,但避免使用 " -"Alpha、Beta 和候选版本。我们强烈建议使用 Python 3.13 或更新版本。" - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "" -"安装 Python 也有很多其他不同的方法。您可以通过 [homebrew]{1} 安装 Python,或使用 [pyenv]{2}" -"来管理同一台机器上的多个 Python 安装,或使用 [Anaconda]{3} 或 [Miniconda]{4}。*怎么*\\ 安装 Python 并不重要," -"只要可以从终端运行 `python3` 并获取到支持的、正常工作的 Python 解释器即可。" - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "如果您使用的是 Linux,您将使用系统软件包管理器(Debian/Ubuntu/Mint 上的 `apt`,Fedora 上的 `dnf`,或 Arch 上的 `pacman`)安装 Python。" - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "您应该确保系统 Python 是 Python 3.9 或更高;如果不是(例如,Ubuntu 20.04 附带 Python 3.8),您需要将您的 Linux 发行版升级到更新版本。" - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "目前对 Raspberry Pi 的支持有限。" - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "如果您使用的是 Windows,您可以从 [Python 网站]{1}\\ 获取官方安装程序。您可以使用 Python 3.9 到 3.13 的任何稳定版本。我们还建议避免使用 Alpha、Beta 和候选版本,除非你\\ *真的*\\ 知道自己在做什么。" - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "目前对 Raspberry Pi 的支持有限。" - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "如果您使用的是 macOS 或 Windows 操作系统,如何安装 Python 并不重要,重要的是您能从操作系统的命令提示符/终端应用程序中运行 `python3`,并获得一个正常工作的 Python 解释器。" - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -msgid "Install dependencies" -msgstr "安装依赖项" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "接下来,安装您的操作系统所需的其他依赖项:" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -msgid "Building BeeWare apps on macOS requires:" -msgstr "在 macOS 上构建 BeeWare 应用程序需要:" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "**Git**,一个版本控制系统。上面已安装的 Xcode 或其命令行开发工具已经包含了Git。您可能需要第一次打开 Xcode 以后才能再命令行会话中使Git正常工作。如果仍然无法识别 Git,可能需要重启您的命令行会话。" - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "为支持本地开发,您将需要安装一些系统软件包。所需的软件包列表因发行版而异:" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu 或 Debian**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -msgid "**Arch / Manjaro**" -msgstr "**Arch 或 Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "**OpenSUSE Tumbleweed**" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -msgid "Building BeeWare apps on Windows requires:" -msgstr "在 Windows 上构建 BeeWare 应用程序需要:" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**,一个版本控制系统。您可以从 [git-scm.com]{1} 下载 Git。" - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "安装这些工具后,应确保重新启动任何终端会话。Windows 只在安装完成后开始的命令行,才会显示新安装的工具。" - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -msgid "Set up a virtual environment" -msgstr "建立虚拟环境" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "我们现在要创建一个虚拟环境--一个 \"沙箱\",用来将本教程的工作与我们的主 Python 安装隔离开来。如果我们将软件包安装到虚拟环境中,我们的主 Python 安装(以及计算机上的任何其他 Python 项目)将不会受到影响。如果我们把虚拟环境弄得一团糟,我们可以简单地删除它,然后重新开始,不会影响计算机上的任何其他 Python 项目,也不需要重新安装 Python。" - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "如果您不在使用 Python 3.12,将指示中的 `-3.12` 替换为您在使用的版本号。" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "运行 PowerShell 脚本时出现的错误" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error:" -msgstr "如果使用 PowerShell 时收到以下错误信息:" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "您的 Windows 账户没有运行脚本的权限。要解决这个问题:" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "[以管理员身份运行 PowerShell]{1}." - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "运行 `set-executionpolicy RemoteSigned`" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select `Y` to change the execution policy." -msgstr "选择 `Y` 更改执行策略。" - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "完成后,您就可以在原来的 PowerShell 会话(或同一目录下的新会话)中重新运行 `beeware-venv\\scripts\\activate.ps1`。" - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "如果这样做成功了,您的提示符现在应该有所改变--它会带有 `(beeware-venv)` 前缀。这样,您就可以知道您当前正处于 BeeWare 虚拟环境中。无论何时运行本教程,都应确保虚拟环境已激活。如果没有激活,请重新执行前一条命令(`activate`)以重新激活虚拟环境。" - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "替代虚拟环境" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "如果您使用的是 Anaconda 或 miniconda,那么您可能对使用 conda 环境更为熟悉。您可能还听说过 `virtualenv`,它是 Python 内置的 `venv` 模块的前身。就像 Python 安装一样,如您使用的是 macOS 或 Windows,那么如何创建虚拟环境并不重要,只要有就够了。如果在 Linux 上,则应坚持使用 `venv` 和系统 Python。" - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序][tutorial-1]\\ 了。" - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "以管理员身份运行 Windows PowerShell。" - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "*版本控制系统 *Git**。它包含在您安装的 Xcode 或命令行开发工具中。" - -#~ msgid "Alternative Python distributions" -#~ msgstr "其他 Python 发行版" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "如果您使用 Linux,则\\ **必须**\\ 使用操作系统提供的系统 Python。您可以使用非系统 Python 完成本教程的\\ *大部分*\\ 内容,但是您无法将应用程序打包发布给他人。" - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "如果您使用的是 macOS,Xcode 或命令行开发工具中会包含最新版本的 Python。要检查是否已安装,请运行以下命令:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "如果已安装 Python,则会看到其版本号。否则,系统会提示您安装命令行开发工具。" - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "您应该确保您使用的是 Python 3.9 或更高版本。如果不是,则需要升级 Python 安装。您可以从 [Python 官网]{1} 获取官方安装程序。从 3.9 开始,您可以使用任何稳定版本的 Python。我们建议避免使用 Alpha、Beta 和候选版本,除非你真的知道自己在做什么。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index 5d50fcf0..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,217 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-08-03 20:51+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "教程 1 - 您的第一个应用程序" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -msgid "We're ready to create our first application." -msgstr "我们准备好创建我们的第一个应用程序了。" - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -msgid "Install the BeeWare tools" -msgstr "安装 BeeWare 工具" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "" -"首先,我们需要安装 **Briefcase**。Briefcase 是一款 BeeWare " -"工具,可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" -"确保您在 [教程0][tutorial-0] 中创建的 `beeware-tutorial` 目录中," -"并已激活 `beeware-venv` 虚拟环境,然后运行:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "安装过程中可能出现的错误" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "" -"如果在安装过程中出现错误,几乎可以肯定是因为某些系统要求尚未安装。" -"请确保您已\\ [安装了所有您的平台的先决条件 ][install-dependencies]。" - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "请务必使用 `python -m pip`,而不是简单的 `pip`。Briefcase 需要确保它拥有最新版本的 `pip` 和 `setuptools` ,而裸调用的 `pip` 无法自我更新。如果您想了解更多,[Brett Cannon 有一篇关于这个问题的详细博文]{1}。" - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -msgid "Bootstrap a new project" -msgstr "引导新项目" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "让我们开始我们的第一个 BeeWare 项目! 我们将使用 Briefcase 的 `new` 命令创建一个名为 **Hello World** 的应用程序。在命令提示符下运行以下命令:" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase会要求我们提供新应用程序的一些详细信息。在本教程中,请使用以下内容:" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Formal Name** - 接受默认值:`Hello World`。" - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**App Name** - 接受默认值:`helloworld`。" - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "" -"**Bundle Identifier(捆绑标识符)** - " -"如果您拥有自己的域名,请按相反顺序输入该域名。(例如,如果您拥有域名 " -"\"cupcakes.com\",则输入 `com.cupcakes` " -"作为捆绑标识符)。如果您没有自己的域名,请接受默认值(`com.example`)。" - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Project Name** - 接受默认值:`Hello World`。" - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**描述** - 接受默认值(或者,如果您想发挥自己的创造力,也可以提出自己的描述!)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -msgid "**Author** - Enter your own name here." -msgstr "**Author** - 在此处输入您自己的名字。" - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "" -"**Author's Email** - " -"输入您自己的电子邮件地址。这将用于配置文件、帮助文本以及向应用程序商店提交应" -"用程序时需要电子邮件的任何地方。" - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "" -"**URL** - 应用程序登陆页面的 URL。同样,如果您拥有自己的域名,请输入该域名的 " -"URL(包括 `https://`)。否则,接受默认 URL (`https://example.com/" -"helloworld`) 即可。此 " -"URL(暂时)不需要实际存在;只有在您将应用程序发布到应用程序商店时才会使用。" - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "" -"**Project License** (项目许可证) - " -"接受默认许可证(BSD)。这不会影响本教程的任何操作,因此,如果您对许可证选择有" -"特别强烈的意见,请随意选择其他许可证。" - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI Framework** - 接受默认选项 Toga(BeeWare 自己的图形用户界面工具包)。" - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "接下来,Briefcase 会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受了所述的默认设置,那么你的文件系统应该是这样的:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "" -"该骨架实际上是一个功能完备的应用程序,无需添加任何其他内容。`src` " -"文件夹包含应用程序的所有代码,`tests` " -"文件夹包含初始测试套件,`pyproject.toml` 文件描述了如何打包发布应用程序。" -"如果您用编辑器打开 `pyproject.toml`,就会看到刚才提供给 Briefcase " -"的配置详细信息。" - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "现在我们有了一个包含占位代码的应用程序,可以使用 Briefcase 来运行它。" - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -msgid "Run the app in developer mode" -msgstr "在开发者模式下运行应用程序" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "移动到 `helloworld` 项目目录,告诉 Briefcase 以开发者(或 `dev`)模式启动项目:" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -msgid "This should open a GUI window:" -msgstr "这将打开一个图形用户界面 (GUI) 窗口:" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "macOS 上的 Hello World 教程 1 窗口" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "在 Linux 上的 Hello World 教程 1 窗口" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "在 Windows 上的 Hello World 教程 1 窗口" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "无效的要求或 pip 无法连接" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "如果您遇到错误:" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "确认您在运行\\ [此教程支持的 Python 版本 ][install-python]。" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "如果您的 Python 版本\\ *不*\\ 被支持,则需重新开始本教程。" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "" -"关闭应用程序 -- " -"可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" -"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** -- " -"就完成了!恭喜您,您刚刚使用 Python 编写了一个独立、原生的应用程序!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "" -"现在,我们有了一个在开发者模式下运行的应用程序。现在我们可以添加一些自己的逻" -"辑,让应用程序做更有趣一些的事情。在\\ :doc:`教程 2` " -"中,我们将为应用程序添加一个更有用的用户界面。" - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "BeeWare 工具之一是 **Briefcase**。Briefcase 可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po deleted file mode 100644 index d80b871a..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po +++ /dev/null @@ -1,147 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-30 17:27+0000\n" -"PO-Revision-Date: 2024-01-13 02:06+0000\n" -"Last-Translator: Sheep Cat \n" -"Language: zh_CN\n" -"Language-Team: Chinese (Simplified) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-10.rst:5 4490d66e8f014d7387572b3cf21051f3 -#, fuzzy -msgid "Tutorial 10 - Make this app your own" -msgstr "教程 10 - 制作属于自己的应用程序" - -#: ../../tutorial/tutorial-10.rst:7 9d669b8cfe15428fab16ad73fb72bc54 -#, fuzzy -msgid "So far, our app has used a default \"gray bee\" icon when it is packaged. Let's personalize our application by configuring it to use our own icon." -msgstr "到目前为止,我们的应用程序一直使用默认的 \"灰色蜜蜂 \"图标。如何更新应用程序,使用我们自己的图标?" - -#: ../../tutorial/tutorial-10.rst:11 16691757c29a4de6b233fa36cbbd717d -#, fuzzy -msgid "Adding an icon" -msgstr "添加图标" - -#: ../../tutorial/tutorial-10.rst:13 a14beed2dd68493bbde7e4573c8f747d -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:19 5dd01823f92a416ea9132296fe3c1329 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:25 42d72c24ab9c4c88a1a8cf338848acff -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:31 3575513b55fc4069beec0551875a11e4 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:37 ../../tutorial/tutorial-10.rst:204 -#: ../../tutorial/tutorial-10.rst:380 3a3f465bc82845bd9fcd232d769a7546 -#: b1453ed5d0ed49bc9af7711c56121557 cb98e9e207c94a08afadb1b0e1ae0878 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:54 ../../tutorial/tutorial-10.rst:228 -#: ../../tutorial/tutorial-10.rst:395 340d85d5053a4cc19269563b8cb7ddd3 -#: 5a5e29a3baf14083bdc4079d39e3bf35 707ec2a30c43486eb9c640f1b8a0ebce -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:76 ../../tutorial/tutorial-10.rst:258 -#: ../../tutorial/tutorial-10.rst:410 5b1ba783115c405fa41e3c1cb2646c63 -#: 8758570de34045859904b70ed8b4eaba e8246440df0b4577a0d919912786b18d -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:93 ../../tutorial/tutorial-10.rst:283 -#: ../../tutorial/tutorial-10.rst:425 718de2ca2d734ea29c3d201d10cb5537 -#: e1da4f86873a4d1497ec94e4bc59a553 f07ab418351445a7acccfccaa60d6902 -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:129 ../../tutorial/tutorial-10.rst:328 -#: ../../tutorial/tutorial-10.rst:439 7d8026d1813741aeaff54b01110296b6 -#: caba5994c07d42318fa397e5387cacb8 d83b549ec22447ac87fe4203c16af57d -msgid "iOS" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:161 710795c5e5e24f24b9f745692eea2611 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:165 407dfeadf4f64fa1883d0e6efda3ae13 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](./resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:184 b41c049eac4149db9d693a17c98ba25f -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:187 ba1e16882f46406fb206c986efba997d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:191 36190ded79ab4b8facb6c7d125e99910 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:195 de8977a03bb245649a0db4e72699537c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:323 59ddcf9d12d54bb7888af960947125f3 -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:362 770fc67b202e414898dad70af6015ac1 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:371 1fccdfb6089a4dd89df2134ab55b6161 -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:453 4f85656e9dd446159ca59aade076cd61 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:457 cbcd518108964d04a905c571f5d12046 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:468 ead01201ed7b44d2879d42b9f6dba403 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-10.rst:470 78ff8572b7a84c98884b85a112ab0c59 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:473 2b36141b3cfd4ec2b897857699239e31 -msgid "Some places to go from here:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:475 671dcb52f97541cdb0ee9138caf877bd -msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:477 f150cd3c96c0400a972ae968ee960212 -msgid "Details on the [options available when configuring your Briefcase project]{1}." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**即将推出**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." - diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index eabef812..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,276 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-07-07 01:02+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "教程 2 - 使之更有趣" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "在 [教程 1` 中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。让我们看看 Briefcase 为我们生成了什么。" - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -msgid "What was generated" -msgstr "生成的内容" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "在 `src/helloworld` 目录中,你应该看到 3 个文件:`__init__.py`、`__main__.py` 和 `app.py`。" - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` 将 `helloworld` 目录标记为可导入的 Python 模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld 目录定义了一个模块。" - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` 将 `helloworld` 模块标记为一种特殊的模块 - 可执行模块。如果你尝试使用 `python -m helloworld` 试图运行 `helloworld` 模块,Python 将从 `__main__.py` 文件开始执行。 `__main__.py` 的内容相对简单:" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "此文件做以下两件事:" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "它从 `helloworld` 应用程序导入了 `main` 方法。" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "然后,它会开始应用程序的主循环,以便侦听用户输入(例如鼠标点击或键盘按键)。" - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "更有趣的文件是 `app.py` - 它包含创建我们应用程序窗口的逻辑:" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -msgid "Let's go through this line by line:" -msgstr "让我们逐行查看:" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "首先,我们导入 `toga` " -"控件工具包,以及一些与样式相关的实用常量。目前我们的代码还没有使用这些——但我" -"们很快就会用到它们。" - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -msgid "Then, we define a class:" -msgstr "然后,我们定义了一个类 :" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "每个 Toga 应用程序都有一个 `toga.App` 实例,代表应用程序的运行实体。应用程序最终可能会管理多个窗口;但是对于简单的应用程序来说,可能只有一个主窗口。" - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -msgid "Next, we define a `startup()` method:" -msgstr "接下来,我们定义一个 `startup()` 方法 (startup意为启动):" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "" -"startup 方法的第一件事是定义一个主盒子 (main box)。Toga 的布局方案类似于 " -"HTML。你通过构造一系列盒子 (box) 来构建应用程序," -"每个盒子包含其他盒子或实际的控件 (widgets)。然后,你对这些盒子应用样式 " -"(styles),以定义它们将如何消耗可用的窗口空间 (window space)。" - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "在这个应用程序中,我们定义了一个单独的空盒子 (我们没有放任何东西进去)。" - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -msgid "Next, we define a window into which we can put this empty box:" -msgstr "接下来,我们定义一个可以将这个空盒子放入其中的窗口:" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "这将创建一个 `toga.MainWindow` 的实例,它的标题 (title) 将与应用程序的名称 (self.formal_name) 匹配。主窗口是 Toga 中的一种特殊窗口——它与应用程序的生命周期 (life cycle) 密切绑定。主窗口关闭,应用程序就退出了。主窗口也具有应用程序菜单(例如类似 Windows 这样的平台上,菜单栏是窗口的一部分)。" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "我的窗口怎么没有出现?" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "如果你写的代码中有错误,app的主窗口可能不会显示。要是真这样了,你可以找到先前启动app的终端窗口,并在其中按下\\ **Ctrl + C**,以终止app运行。之后,你就可以修改代码里的错误,再重启app。" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "然后,我们将空盒子作为主窗口的内容,并指示应用程序显示我们的窗口:" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "最后,我们定义一个 `main()` 方法。它将创建应用程序的实例:" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "这个 `main()` 方法由 `__main__.py` 导入并调用。它创建并返回我们的 `HelloWorld` 应用程序的实例。" - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "这是最简单可能的 Toga 应用程序。接下来,让我们在应用程序中加入一些我们自己的内容,使应用程序做一些有趣的事情。" - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -msgid "Adding some content of our own" -msgstr "添加一些我们自己的内容" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "对我们的 `HelloWorld` 应用程序,做些更有意思的事吧。" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "在做这些更改时,确保不要删除文件顶部的导入 (imports),也不要删除底部的 `main()`。您只需更新 `HelloWorld` 类。" - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "修改 `src/helloworld/app.py` 中的 `HelloWorld` 类,使其看起来像这样:" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -msgid "Let's look in detail at what has changed." -msgstr "让我们详细看看有哪些变化。" - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "我们仍然在创建一个主盒子;然而,现在我们正在应用一个样式:" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "" -"Toga 的内置布局系统称为 \"Pack\" (包)。它的行为很像 CSS (Cascading Style " -"Sheets 层叠样式表)。你可以在一个层次结构中定义对象--在 HTML 中,对象是 " -"`
` (division 块级容器)、`` (inline span 内联容器) 和其他 DOM (" -"Document Object Model 文档对象模型) 元素;在 Toga 中,对象是控件 (widgets ) " -"和盒子 (boxes)。然后,您可以为各个元素指定样式。在本例中,我们表示这是一个 " -"`COLUMN` (垂直) 框,也就是说,它是一个将占用所有可用宽度 (width) 的框," -"并会随着内容的添加而扩大高度 (height),但会尽量使高度更短。" - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "对于更高级的使用,Toga 也支持可以被这样使用的单独的样式对象:" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets:" -msgstr "接下来,我们定义了一些控件:" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "" -"在这里,我们定义了一个标签 (Label) 和一个文本输入框 " -"(TextInput)。这两个控件都有与其相关的样式;标签左右会各有 5px " -"的填充,上下没有填充。文本输入框是被标记为灵活的——也就是说,它将吸收其布局方" -"向上所有可用的空间。" - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "文本输入框 (TextInput) 被分配为类的实例变量。这使我们能够轻松访问控件 " -"(widget) 实例 - 这是我们马上就会使用的东西。" - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -msgid "Next, we define a box to hold these two widgets:" -msgstr "接下来,我们定义了一个盒子来容纳这两个控件:" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "`name_box` 就像主盒子一样;然而,这次它是一个 `ROW` (水平) 盒子。这意味着内容将会被水平添加,并且它会尽量使其宽度尽可能窄。盒子也有一些空白填充——四周各为 5px。" - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -msgid "Now we define a button:" -msgstr "现在,我们定义一个按钮:" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "按钮的四周也有 5px 的填充。我们还定义了一个\\ **处理程序** (handler)——当按钮被按下时要调用的方法。" - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -msgid "Then, we add the name box and the button to the main box:" -msgstr "然后,我们将 name box 和按钮添加到主盒子中:" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "这完成了我们的布局;其余的 startup 方法与以前一样 - 定义一个 `MainWindow` ,并将主盒子指定为窗口的内容:" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "" -"我们需要做的最后一件事,就是定义按钮的处理器(handler)——它可以是任何方法、生成" -"器或异步协程,且接受生成事件的控件 (widget) " -"作为参数。只要按下按钮,就会调用这些处理器:" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "方法的主体是一个简单的打印语句——然而,它会使用名称输入的当前值,并使用该内容作为打印的文本。" - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "现在我们已经做了这些更改,我们可以通过再次启动应用程序来看看它们的样子。和以前一样,我们将使用开发者模式:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "" -"你会注意到,这次\\ *没有*\\ 安装依赖项。Briefcase " -"可以检测到已经被运行过的应用程序 -- " -"为了节省时间,它只会运行应用程序,而不会安装依赖项。如果你在应用程序中添加了" -"新的依赖项,你可以在运行 `briefcase dev` 时通过 `-r` " -"选项来确保它们被安装。" - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -msgid "This should open a GUI window:" -msgstr "这将打开一个图形用户界面 (GUI) 窗口:" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "在 MacOS 上的 Hello World 教程 2 窗口" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "在 Linux 上的 Hello World 教程 2 窗口" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "在 Windows 上的 Hello World 教程 2 窗口" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "如果在文本框中输入名称,并按下图形用户界面中的按钮,就会在启动程序的控制台中看到输出结果。" - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" -"在继续之前,关闭应用程序。和教程 1 " -"一样,您可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" -"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "我们现在有了一个做一些更有趣的事情的应用程序,但它只能在我们自己的电脑上运行。让我们将这个应用程序打包,以供分发。在 :doc:`教程3` 中,我们将把应用程序打包成一个独立的安装程序,以供发送给朋友、客户,或上传到应用商店。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index 8d09f934..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,264 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2025-07-21 22:03+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -msgid "Tutorial 3 - Packaging for distribution" -msgstr "教程 3 - 打包与分发" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "到目前为止,我们一直在“开发者模式”下运行应用程序。这可以让我们轻松地在本地运行应用程序,但我们真正想要的是能将我们的应用程序提供给其他人。" - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "但是,我们不想教用户怎样安装 Python、创建虚拟环境、克隆 git 仓库和在开发者模式下运行 Briefcase。我们宁可只给他们一个安装程序,让应用程序能够正常运行。" - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase 可用于打包应用程序,以便以这种方式发布。" - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -msgid "Creating your application scaffold" -msgstr "创建应用程序脚手架" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "由于这是我们第一次打包应用程序,我们需要创建一些配置文件和其他脚手架来支持打包过程。在 `helloworld` 目录中,运行:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "有关Python版本的错误" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "如果您收到类似如下的错误信息:" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "用于运行 Briefcase 的 Python 版本 (3.12) 不是系统 python3 (3.10)。" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "您将需要使用系统的 `python3` 重新创建您的虚拟环境。打包您的应用程序要求使用系统 Python。" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "您可能刚刚在终端上看到了几页内容滑过......刚刚发生了什么?Briefcase 做了以下工作:" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "它生成了一个应用程序模板。除了实际应用程序的代码之外,构建本机安装程序还需要许多文件和配置。这些额外的脚手架对于同一平台上的每个应用程序几乎都是一样的,除了正在构建的实际应用程序的名称--因此,Briefcase 为其支持的每个平台提供了一个应用程序模板。这一步将推出模板,替换应用程序名称、捆绑 ID 和配置文件中的其他属性,以支持正在构建的平台。" - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "如果您对 Briefcase 提供的模板不满意,可以提供自己的模板。不过,在使用 Briefcase 的默认模板获得更多经验之前,您可能不想这样做。" - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "它下载并安装了一个支持包。Briefcase 所采用的打包方法被描述为“最简单可行的方法”--它将一个完整、独立的 Python 解释器作为其构建的每个应用程序的一部分(除了了、 Linux 上的原生系统包构建)。这种打包方式在空间利用上略显不足--如果有 5 个应用程序使用 Briefcase 打包,那么就会有 5 份 Python 解释器副本。但是,这种方法保证了每个应用程序都是完全独立的,使已知的能与应用程序一起工作的特定 Python版本。" - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "同样,Briefcase 为每个平台提供了默认的支持包;如果需要,您可以提供自己的支持包,并将其作为构建过程的一部分。如果您需要启用 Python 解释器中的特定选项,或者如果您想从标准库中剥离运行时不需要的模块,您可能需要这样做。" - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase 维护支持包的本地缓存,因此一旦您下载了特定的支持包,该缓存副本将用于未来的构建。" - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "如上所述,当 Briefcase 将一个应用程序打包成 Linux 上的原生系统包(Linux 上的默认包格式),应用程序中将不会包含任何的支持包;应用程序将会使用将要被分发到的 Linux 发行版提供的 Python。" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "它\\ **安装应用程序的依赖项**。您的应用程序可以指定运行时所需的任何第三方模块。这些模块将会被用 `pip` 安装到应用程序的安装程序中。" - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "它\\ **安装您的应用程序代码**。您的应用程序将有自己的代码和资源(如运行时需要的图像);这些文件会被复制到安装程序中。" - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "最后,它还会\\ **添加安装程序本身所需的其他资源**。这包括需要附加到最终应用程序的图标和启动画面等。" - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "完成上述操作后,如果查看项目目录,就会发现一个与平台(`macOS`, `linux`,或\\ `windows`)相对应的目录,其中包含附加文件。这就是应用程序的平台具体的打包配置。" - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -msgid "Building your application" -msgstr "构建您的应用程序" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "现在可以编译应用程序了。此步骤将执行任何使应用程序在目标平台上可执行所必须的二进制编译。" - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "在 macOS 上,` build`\\ 命令不需要\\ *编译*\\ 任何内容,但需要对二进制文件的内容进行(数字)签名,以便执行。这种签名是一种\\ *临时 (ad hoc)*\\ 签名--它只能在\\ *你的*\\ 机器上工作;如果你想将应用程序发布给其他人,就需要提供完整的签名。" - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "此步骤完成后,[build`\\ 文件夹将包含一个\\ `helloworld-0.0.1`\\ 文件夹,其中包含一个 Linux `/usr` 文件系统的镜像。这个文件系统镜像将包含一个\\ `bin`\\ 文件夹,里面有一个\\ `helloworld`\\ 二进制文件,以及支持二进制文件所需的\\ `lib`\\ 和\\ `share`\\ 文件夹。" - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "在 Windows 上,`build` 命令不需要\\ *编译*\\ 任何东西,但它确实需要写入一些元数据,以便应用程序知道它的名称、版本等。" - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -msgid "Triggering antivirus" -msgstr "触发杀毒软件" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "由于这些元数据是在 `create` 命令中直接写入从模板推出的预编译二进制文件的,因此可能会触发机器上运行的杀毒软件,从而阻止元数据的写入。在这种情况下,请指示杀毒软件允许工具(名为 `rcedit-x64.exe`)运行,并重新运行上述命令。" - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -msgid "Running your app" -msgstr "运行应用程序" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -msgid "You can now use Briefcase to run your application:" -msgstr "现在您可以使用 Briefcase 运行应用程序了:" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "这将使用 `build` 命令的输出开始运行原生应用程序。" - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "你可能会注意到应用程序运行时的外观有一些细微差别。例如,操作系统显示的图标和名称可能与在开发者模式下运行时略有不同。这也是因为您使用的是打包的应用程序,而不仅仅是运行 Python 代码。从操作系统的角度来看,您现在运行的是“一个应用程序”,而不是“一个 Python 程序\"”,这也反映在应用程序的显示方式上。" - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" -"在继续之前,关闭应用程序。和之前的教程步骤一样,您可以使用应用程序窗口上的关" -"闭按钮、从应用程序的菜单栏选择关闭/退出、或在您运行 `briefcase dev` " -"的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -msgid "Building your installer" -msgstr "创建安装程序" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "现在,您可以使用 `package` 命令打包应用程序,以便发布。打包命令会执行将脚手架项目转换为最终可发布产品所需的编译工作。根据平台的不同,这可能涉及编译安装程序、执行代码签名或执行其他发布前任务。" - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "`dist` 文件夹将包含一个名为 `Hello World-0.0.1.dmg` 的文件。如果在 Finder 中找到该文件,并双击其图标,就会加载 DMG,从而获得 Hello World 应用程序的副本,并链接到 `Applications` 文件夹以方便安装。将应用程序文件拖入 Applications,就安装好了应用程序。将 DMG 文件发送给朋友,他们应该也能完成同样的操作。" - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "在本例中,我们使用了 `--adhoc-sign` 选项--也就是说,我们使用 *ad hoc* 凭据(仅在你的机器上有效的临时凭据)来签署我们的应用程序。我们这样做是为了让教程简单明了。设置代码签名身份有点麻烦,而且只有当你打算将应用程序发布给他人时\\ *才*\\ 需要。如果我们要发布一个真正的应用程序供他人使用,我们就需要指定真实的凭据。" - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity]{1}." -msgstr "当您准备发布真正的应用程序时,请查看关于 [设置 macOS 代码签名身份]{1} 的 Briefcase 操作指南。" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "软件包步骤的输出会因 Linux 发行版的不同而略有不同。如果你使用的是 Debian 衍生发行版,你会看到:" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "`dist` 文件夹将包含生成的 `.deb` 文件。" - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "如果你使用的是基于 RHEL 的发行版,你就会看到:" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "`dist` 文件夹将包含生成的 `.rpm` 文件。" - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "如果你使用的是基于 Arch 的发行版,你就会看到:" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "`dist` 文件夹将包含生成的 `.pkg.tar.zst` 文件。" - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "目前不支持其他 Linux 发行版的打包。" - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "如果你想为你正在使用的 Linux 发行版之外的其他发行版构建软件包,Briefcase 也能提供帮助,但你需要安装 Docker。" - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "[Docker Engine]{1} 的官方安装程序适用于一系列 Unix 发行版。请按照您所在平台的说明进行操作;不过,请确保不要在 rootless 模式下安装 Docker。" - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "安装好 Docker 后,你就可以启动 Linux 容器了,例如:" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "将显示 Ubuntu 22.04 Docker 容器中的 Unix 提示符(类似于 `root@84444e31cff9:/#`)。键入 Ctrl-D 退出 Docker 并返回本地 shell。" - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "一旦安装了 Docker,只要将 Docker 镜像作为参数传递,就可以使用 Briefcase 为 Briefcase 支持的任何 Linux 发行版构建软件包。例如,要为 Ubuntu 22.04 (Jammy) 构建一个 DEB 包,无论你使用的是哪种操作系统,你都可以运行:" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "这将下载所选操作系统的 Docker 镜像,创建一个能够运行 Briefcase 构建的容器,并在镜像中构建应用程序软件包。完成后,[dist` 文件夹将包含目标 Linux 发行版的软件包。" - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "在本例中,我们没有签署我们的应用程序。因此,当您使用安装程序时,您将收到系统警告,该应用程序来自未知开发人员。我们这样做是为了保持教程的简单性。设置代码签名身份比较复杂,只有当您打算将您的应用程序分发给其他人时,它们才*需要*。如果我们发布一个真实的应用程序供其他人使用,我们需要指定一个真实的签名身份;当该签名的应用程序安装时,系统将通知用户该应用程序来自与证书关联的已知身份。" - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity]{1}." -msgstr "当您准备好发布真正的应用程序时,请查看 Briefcase 操作指南中关于\\ [设置 Windows 代码签名身份]{1}\\ 的内容。" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "此步骤完成后,`dist` 文件夹中将包含一个名为 `Hello_World-0.0.1.msi`` 的文件。如果双击运行该安装程序,就会进入熟悉的 Windows 安装过程。安装完成后,开始菜单中将出现 \"Hello World \"条目。" - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "现在,我们已将应用程序打包发布到桌面平台上。但是,当我们需要更新应用程序中的代码时该怎么办?如何将这些更新添加到打包好的应用程序中?请访问 [教程4][./tutorial-4] 了解详情..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index 068f42c7..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,186 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2025-06-05 01:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12-dev\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -msgid "Tutorial 4 - Updating your application" -msgstr "教程 4 - 更新应用程序" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "" -"在上一教程中,我们将应用程序打包为本地应用程序。如果您面对的是一个真实世界的" -"应用程序,这并不是故事的结束--" -"您可能会进行一些测试,发现一些问题,并需要进行一些修改。即使您的应用程序是完" -"美的,您最终还是希望发布改进后的第二版应用程序。" - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -msgid "So - how do you update your installed app when you make code changes?" -msgstr "那么,在更改代码时如何更新已安装的应用程序?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -msgid "Updating application code" -msgstr "更新应用程序代码" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "目前,我们的应用程序会在您按下按钮时打印到控制台。但是,图形用户界面应用程序" -"实际上不应该使用控制台进行输出。它们需要使用对话框与用户交流。" - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "让我们添加一个对话框来说 \"你好\",而不是写入控制台。修改 `say_hello` " -"回调,使它看起来像这样::" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" -"我们需要将方法设置为`async`,以便在显示对话框时,应用程序的其余部分继续运行" -"。现在不要太担心这个细节——我们将在 [Tutorial 8][tutorial-8] " -"中给出更详细的解释。" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "这将指示 Toga 在按下按钮时打开一个模态对话框。" - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "如果运行 `briefcase dev`,输入名称并按下按钮,就会看到新的对话框:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hello World 教程 4 对话框,在 macOS 上" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Hello World 教程 4 对话框,在 Linux 上" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Hello World 教程 4 对话框,在 Windows 上" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "但是,如果运行\\ `briefcase run`,对话框就不会出现。" - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "" -"为什么会这样?`briefcase dev`\\ 通过就地运行您的代码来运行--" -"它试图为您的代码提供尽可能逼真的运行环境,但并不提供或使用任何平台基础架构来" -"将您的代码包装成应用程序。打包应用程序的部分过程包括将代码复制到应用程序捆绑" -"包中,目前,您的应用程序中仍有旧代码。" - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "" -"因此,我们需要告诉 Briefcase 让它更新应用程序,复制新版本的代码。我们\\ " -"*可以*\\ 删除旧的平台目录,然后从头开始。不过,Briefcase " -"提供了一种更简单的方法--您可以更新现有捆绑的应用程序的代码:" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "如果 Briefcase 找不到脚手架模板,它会自动调用 `create` 生成一个新的脚手架。" - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "" -"更新了安装程序代码后,我们就可以运行 `briefcase build` 来重新编译应用程序," -"运行 `briefcase run` 来运行更新后的应用程序,并运行 `briefcase package` " -"来重新打包应用程序以便分发。" - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "" -"(macOS 用户请记住,正如 [Tutorial 3` 中所述,我们建议在运行 " -"`briefcase package` 时使用 `--adhoc-sign` " -"标志,以避免设置代码签名身份的复杂性,并使教程尽可能简单)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -msgid "Update and run in one step" -msgstr "更新和运行一步到位" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "" -"如果要快速迭代代码更改,很可能需要更改代码、更新应用程序并立即重新运行应用程" -"序。对于大多数情况来说,开发人员模式 (`briefcase dev`) " -"是进行这种快速迭代的最简单方法;但是,如果您要测试应用程序作为原生二进制文件" -"的运行,或查找一个只有在应用程序打包时才会出现的错误,您可能需要反复调用 `" -"briefcase run`。为了简化更新和运行打包应用程序的过程,Briefcase " -"提供了支持这种使用模式的快捷方式 - `run` 命令上的 `-u`(或 " -"`--update`)选项。" - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "" -"让我们尝试做另一个改动。您可能已经注意到,如果您不在文本输入框中输入姓名," -"对话框就会显示 \"Hello, \"。 让我们再次修改 `say_hello` " -"函数,以处理这种边缘情况。" - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "在文件顶部,在导入和 `class HelloWorld` " -"定义之间,添加一个实用程序方法,以根据所提供的名称值生成适当的问候语:" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "然后,修改 `say_hello` 回调,以使用这个新的实用程序方法:" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "在开发模式下运行应用程序(使用 `briefcase " -"dev`),以确认新逻辑是否有效;然后使用一条命令更新、构建和运行应用程序:" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "" -"package 命令也接受 `-u` " -"参数,因此如果你修改了应用程序代码并希望立即重新打包,可以运行 `briefcase " -"package -u`。" - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "现在,我们的应用程序已经打包,可以在桌面平台上发布,我们也可以更新应用程序中" -"的代码。" - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "" -"但是在移动设备上呢?在 [教程 5][tutorial-5/index] " -"中,我们将把应用程序转换为移动应用程序,并将其部署到设备模拟器和手机上。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index 273ba62d..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,243 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-07-08 19:04+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "教程 5 - 在移动设备上:安卓" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "现在,我们要将应用程序部署为 Android 应用程序。" - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "将应用程序部署到 Android 的过程与部署为桌面应用程序的过程非常相似。Briefcase 会处理 Android 上的依赖项的安装,包括 Android SDK、Android 模拟器,和一个 Java 编译器。" - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -msgid "Create an Android app and compile it" -msgstr "创建并编译 Android 应用程序" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "首先,运行 `create` 命令。这会下载一个 Android 应用程序模板,并在其中添加您的 Python 代码。" - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "" -"首次运行 `briefcase create android` 时,Briefcase 会下载 Java JDK 和 " -"Android SDK。文件大小较大,且下载时间可能会较长(10 " -"分钟或更长,取决于您的互联网连接速度)。下载完成后,您将会被提示接受 Google " -"的 Android SDK 许可证。还有一些需要同意的许可证 -- 在提示符不停的按 `y` " -"以查看与接受所有所需的许可证协议。" - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "完成后,我们的项目中就会有一个\\ `build/helloworld/android/gradle`\\ 目录,其中包含一个带有 Gradle 构建配置的 Android 项目。这个项目将包含您的应用代码,以及一个包含 Python 解释器的支持包。" - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "然后我们可以使用 Briefcase 的 `build` 命令将其编译为 Android APK 应用程序文件。" - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -msgid "Gradle may look stuck" -msgstr "Gradle 看起来卡住了" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "在 `briefcase build android` 步骤中,Gradle(Android 平台构建工具)会打印 \\ `CONFIGURING: 100%`,似乎什么也没做。别担心,这不是卡住了,而是在下载更多的 Android SDK 组件。根据您的网络连接速度,这可能还需要 10 分钟(或更长时间)。只有在第一次运行 `build` 时才会出现这种滞后现象;这些工具将会被缓存,下次构建时将使用缓存版本。" - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -msgid "Run the app on a virtual device" -msgstr "在虚拟设备上运行应用程序" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "" -"现在我们可以运行应用程序了。您可以使用 Briefcase 的 `run` 命令在 Android " -"设备上运行应用程序。让我们从在 Android 模拟器上运行开始。" - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "" -"要运行应用程序,请运行 `briefcase run " -"android`。运行时,系统会提示你可以在哪些设备上运行应用程序。最后一项总会是创" -"建新安卓模拟器的选项。" - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "" -"现在我们可以选择想要的设备。选择 \"Create a new Android emulator\" " -"选项,并接受默认的设备名称(`beePhone`)。" - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` 将自动启动虚拟设备。设备启动时,您将看到 Android 徽标:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -msgid "Android virtual device booting" -msgstr "启动安卓虚拟设备" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "设备启动完成后,Briefcase " -"将在设备上安装您的应用程序。您将短暂看到一个启动页面:" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "安卓虚拟设备已完全启动,显示在启动界面上" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "然后,应用程序就会启动。程序启动时,你会看到一个闪屏:" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -msgid "App splash screen" -msgstr "应用程序启动页" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -msgid "The emulator didn't start!" -msgstr "模拟器没有启动!" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "" -"安卓模拟器是一个复杂的软件,依赖于许多硬件和操作系统功能,这些功能在旧机器上" -"可能无法使用或启用。如果在启动 Android 模拟器时遇到任何困难,请查阅 Android " -"开发人员文档中的\\ [要求和建议]{1} 部分。" - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "首次启动应用程序时,它需要将自己解压缩到设备上。这可能需要几秒钟。解压完成后" -",您将看到桌面应用程序的 Android 版本:" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -msgid "App from Tutorial 2, fully launched" -msgstr "完全启动后的教程 2 应用程序" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -msgid "Demo app fully launched" -msgstr "完全启动后的演示应用程序" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -#, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "如果看不到应用程序启动,可能需要检查运行 `briefcase run` 的终端,查看是否有错误信息。" - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -#, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "今后,如果想在该设备上运行而不使用菜单,可以向 Briefcase 提供模拟器名称,使用 `briefcase run android -d @beePhone` 直接在虚拟设备上运行。" - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -#, fuzzy -msgid "Run the app on a physical device" -msgstr "在实体设备上运行应用程序" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -#, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "如果您有实体安卓手机或平板电脑,可以用 USB 线缆将其连接到电脑,然后使用公文包来定位您的实体设备。" - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -#, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android 要求您在设备用于开发前做好准备。您需要对设备上的选项进行两项更改:" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -#, fuzzy -msgid "Enable developer options" -msgstr "启用开发人员选项" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -#, fuzzy -msgid "Enable USB debugging" -msgstr "启用 USB 调试" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation]{1}." -msgstr "有关如何进行这些更改的详细信息,[请参阅 Android 开发人员文档]{1}。" - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "完成这些步骤后,在运行 `briefcase run android` 时,您的设备应出现在可用设备列表中。" - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -#, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "在这里,我们可以在部署列表中看到一个带有序列号的新物理设备--在本例中是 Pixel 3a。将来,如果你想不使用菜单而在该设备上运行,可以向 Briefcase 提供手机序列号(本例中为 `briefcase run android -d 94ZZY0LNE8`)。这将直接在设备上运行,无需提示。" - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "我的设备没有出现!" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -#, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "如果你的设备根本没有出现在这个列表中,要么是你没有启用 USB 调试(要么是设备没有插上电源!)。" - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -#, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "如果你的设备出现了,但却被列为 \"未知设备(未授权开发)\",那么开发者模式尚未正确启用。重新运行 [启用开发者选项的步骤]{1},并重新运行 \"briefcase run android\"。" - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index c2f06c7a..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,87 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-06-21 02:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "教程 5 - 在移动设备上:iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "" -"编译 iOS 应用程序需要 Xcode,可从 [macOS App Store]{1} 免费下载。当 Xcode " -"完成安装时,从“应用程序”打开它并接受 Xcode 许可协议。接下来,Xcode " -"会展示哪些模拟器运行时已内置,哪些可以下载。选择 iOS " -"模拟器运行时旁边的复选框,并点击“继续”来下载和安装它。" - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "安装好 Xcode 与 iOS 模拟器后,我们就可以将应用程序作为 iOS 应用程序进行部署。" - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "将应用程序部署到 iOS 的过程与部署桌面应用程序的过程非常相似。首先,运行 `create` 命令,但这次我们指定要创建一个 iOS 应用程序:" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "完成此操作后,我们将拥有一个包含 Xcode 项目、支持库和应用程序所需应用程序代码的 `build/helloworld/ios/xcode` 目录。" - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "然后,您可以使用 `briefcase build iOS` 来编译应用程序:" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "现在我们可以使用 `briefcase run iOS` 运行应用程序了。Briefcase 会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器,可能还会询问你要针对哪个 iOS 版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们而言,选择哪个模拟器并不重要。" - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "这将启动 iOS 模拟器,安装你的应用程序并启动它。你应该能看到模拟器启动,并最终打开你的 iOS 应用程序:" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World 教程 5 窗口,在 iOS 上" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" -"当应用程序运行时,您会在控制台中看到一系列模拟器输出信息。向命令行中按 Ctrl +" -" C " -"会停止控制台中的信息,但不会关闭模拟器。这样,您无需重启模拟器,也能可以继续" -"测试新更改。" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "如果事先知道要使用哪个 iOS 模拟器,可以通过提供 `-d`(或 `--device`)选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "如果你有多个 iOS 版本,Briefcase 会选择最高的 iOS 版本;如果你想选择某个 iOS 版本,你可以告诉它使用该特定版本:" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -msgid "Or, you can name a specific device UDID:" -msgstr "或者,您也可以命名一个特定的设备 UDID:" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store]{1}." -#~ msgstr "要编译 iOS 应用程序,我们需要使用 Xcode,它可从 MacOS 应用商店 `__ 免费获取。" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index ecd8a83d..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,47 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2025-06-20 02:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12.1\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "教程 5 - 在移动设备上" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "到目前为止,我们一直在电脑上运行和测试应用程序。不过,BeeWare " -"同样支持移动平台,我们编写的应用程序也可以部署到您的移动设备上!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "iOS 应用程序只能在 macOS 上编译。" - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "安卓应用程序可在 macOS、Windows 或 Linux 上编译。" - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Let's build our app for iOS!`" - -#~ msgid ":doc:`Let's build our app for Android!][android]" -#~ msgstr ":doc:`Let's build our app for Android!`" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index 83818b8b..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,113 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" -"PO-Revision-Date: 2025-07-05 15:27+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -msgid "Tutorial 6 - Put it on the web!" -msgstr "教程 6 - 把它放上网!" - -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "除了支持移动平台,Toga " -"控件工具包还支持网络!使用与部署桌面和移动应用程序相同的应用程序接口,您可以" -"将应用程序部署为单页网页应用程序。" - -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -msgid "Proof of Concept" -msgstr "概念验证" - -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "" -"Toga Web 后端是所有 Toga " -"后端中最不成熟的一个。它已经足够成熟,可以展示一些功能,但很可能会有问题,而" -"且会缺少许多其他平台上可用的控件。目前,Web " -"部署应被视为“概念验证”--足以展示可以做什么,但还不足以作为严肃开发的依据。" - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "如果您在教程的这一步遇到问题,可以跳到下一页。" - -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be -msgid "Deploying as a web app" -msgstr "作为网页应用程序部署" - -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "" -"作为单页面 Web 应用程序部署的过程遵循相同的熟悉模式--" -"创建应用程序,然后构建应用程序,然后运行它。不过,Briefcase " -"也有一点小聪明;如果您尝试运行应用程序,而 Briefcase " -"确定该应用程序尚未针对目标平台创建或构建,那么它会为您执行创建和构建步骤。由" -"于这是我们第一次为网络运行应用程序,我们可以用一条命令执行所有三个步骤:" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "这将打开一个网页浏览器,指向 [http://127.0.0.1:8080 " -"`__:" - -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "浏览器中的 Hello World 教程 6 对话框" - -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "如果输入您的姓名并点击按钮,就会出现一个对话框。" - -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf -msgid "How does this work?" -msgstr "这是怎么工作的?" - -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "" -"此网络应用程序是一个静态网站 -- 一个 HTML 源页面,包含一些 CSS 和其他资源。" -"Briefcase " -"启动了一个本地网络服务器来提供该页面,以便您的浏览器可以查看该页面。如果您想" -"将此网页进入生产,可以将 `www` " -"文件夹中的内容复制到任何可以提供静态内容的网络服务器上。" - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "" -"但当你按下按钮时,你运行的是 Python 代码......这是怎么做到的呢?Toga 使用 [" -"PyScript]{1} 在浏览器中提供 Python 解释器。Briefcase " -"将应用程序的代码打包成 PyScript 可以在浏览器中加载的 " -"wheels。加载页面时,应用代码会在浏览器中运行,并使用浏览器 DOM " -"构建用户界面。当您点击按钮时,该按钮会在浏览器中运行事件处理代码。" - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "" -"虽然我们现在已经在桌面、手机和网络上部署了这个应用程序,但该应用程序相当简单" -",不涉及任何第三方库。我们可以在应用程序中包含 Python 包索引 (PyPI) " -"中的库吗?请访问 [教程7][tutorial-7] 了解详情..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index 88f8375c..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,369 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2025-08-09 01:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "教程 7 - 使用第三方库" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "到目前为止,我们构建的应用程序只使用了我们自己的代码和 BeeWare 提供的代码。不过,在实际应用中,您很可能需要使用从 Python 软件包索引(PyPI)下载的第三方库。" - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -msgid "Let's modify our app to include a third-party library." -msgstr "让我们修改应用程序,加入第三方库。" - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "添加软件包" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "让我们修改我们的应用程序,使其能够显示比“你好!”更丰富的内容。" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" -"为了为我们的对话框生成一些更有趣的内容,我们将使用一款名为 [Faker]{1} 的库。Faker 是一个用于生成假内容的 " -"Python 软件包,包括生成名字与文本块。Faker " -"通过它提供的词语列表以生成这些内容。我们将用 Faker " -"构建一条假信息,就像有人在向用户回应一样。" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "我们开始吧 `faker` 添加到我们的应用程序中。在 `app.py` 的最上方加入一个导入,用于导入 `faker`:" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "让我们在 Briefcase 开发者模式下运行更新后的应用程序,检查我们的更改是否有效。" - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "" -"发生了什么?我们已经将 `faker` 添加到我们的\\ *代码*\\ " -"中,但我们还没有将它添加到我们的开发虚拟环境中。要解决这个问题,我们可以用 " -"`pip` 安装 `faker`,然后重新运行 `briefcase dev`:" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "输入名称并按下按钮后,您会看到一个类似如下的对话框:" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hello World 教程 7 对话框,在 macOS 上" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "在 Linux 上的 Hello World 教程 7 对话框" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "在 Windows 上的 Hello World 教程 7 对话框" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "现在,我们已经有了一个可正常运行的应用程序,它使用第三方库,并以开发模式运行" -"!" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -msgid "Running the updated app" -msgstr "运行更新后的应用程序" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "让我们将更新后的应用程序代码打包为独立应用程序。由于我们对代码进行了修改,因此需要遵循 [Tutorial 4` 中的相同步骤:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "更新打包应用程序中的代码:" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "重建应用程序:" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -#, fuzzy -msgid "And finally, run the app:" -msgstr "最后,运行应用程序:" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "但是,当程序运行时,你会在控制台中看到一个错误,还有一个崩溃对话框:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "MacOS 上的 Hello World Tutorial 7 应用程序崩溃" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Hello World 教程 7》应用程序崩溃,在 Windows 系统上" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "应用程序再次启动失败,因为已经安装了 `httpx` - 但为什么呢?我们不是已经安装了 `httpx` 吗?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "我们有,但仅限于开发环境。你的开发环境完全在你的机器本地,只有当你明确激活它时才会启用。虽然公文包有开发模式,但使用公文包的主要原因是打包你的代码,这样你就可以把它交给别人。" - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "要保证别人的 Python 环境包含它所需要的一切,唯一的办法就是构建一个完全隔离的 Python 环境。这意味着有一个完全独立的 Python 安装,和一套完全独立的依赖关系。这就是当你运行 `briefcase build` 时,Briefcase 正在构建的 - 一个隔离的 Python 环境。这也解释了为什么没有安装 `httpx` - 它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "因此,我们需要告诉 Briefcase,我们的应用程序有一个外部依赖关系。" - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "更新依赖项" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "在应用程序的根目录中,有一个名为 `pyproject.toml` 的文件。该文件包含您最初运行 `briefcase new` 时提供的所有应用程序配置详细信息。" - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "pyproject.toml \"分为多个部分,其中一部分描述了应用程序的设置::" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "requires \"选项描述了应用程序的依赖关系。它是一个字符串列表,其中指定了您希望应用程序包含的库(以及可选的版本)。" - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "修改 `requires` 设置为::" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "通过添加此设置,我们告诉 Briefcase \"当你构建我的应用程序时,运行 `pip install httpx` 到应用程序捆绑包中\"。任何可以合法输入到 `pip install` 的内容都可以在这里使用--因此,你可以指定:" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "特定的库版本(例如, `\"httpx===0.19.0\"` );" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "一系列库版本(例如, `\"httpx>=0.19\"` );" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "指向 git 仓库的路径(例如,`\"git+https://github.com/encode/httpx\"`);或" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "本地文件路径(不过需要注意的是:如果你把代码交给别人,这个路径很可能不存在于他们的机器上!)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "在 `pyproject.toml` 中的更下面部分,你会注意到与操作系统相关的其他部分,如 `[tool.briefcase.app.helloworld.macOS]` 和 `[tool.briefcase.app.helloworld.windows]`。这些部分**也有一个 `requires` 设置。这些设置允许你定义额外的特定平台依赖关系,例如,如果你需要一个特定平台的库来处理应用程序的某些方面,你可以在特定平台的 `requires` 部分中指定该库,而该设置将仅用于该平台。你会注意到,所有的 `toga` 库都是在特定平台的 `requires` 部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "在我们的例子中,我们希望 `httpx` 安装在所有平台上,因此使用了应用程序级的 `requires` 设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项之外*安装。" - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "既然我们已经告诉了 Briefcase 我们的额外需求,那么我们就可以再次尝试打包应用程序了。确保已将更改保存到 `pyproject.toml`,然后再次更新应用程序--这一次,传递 `-r` 标志。这将告诉 Briefcase 更新打包应用程序中的需求:" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "更新完成后,您可以运行 `briefcase build` 和 `briefcase run` - 您应该会看到打包后的应用程序,并带有新的对话框行为。" - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "用于更新需求的 `-r` 选项也会被 `build` 和 `run` 命令接受,因此如果你想一步完成更新、编译和运行,可以使用 `briefcase run -u -r`。" - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)][https://pypi.org]__, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, `your options are slightly limited]{1}." -msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"都可以添加到您的需求中。在移动和网络平台上,[您的选择略显有限]{1}。" - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "*通常*\\ " -"可以为移动平台编译二进制软件包,但是不容易设置,且远超出了本教程这样的入门教" -"程涵盖的范围。" - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "访问应用程序接口" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "应用程序需要执行的一项常见任务是向网络应用程序接口发出请求以获取数据,并将数据显示给用户。这是一个玩具应用程序,因此我们没有\\ *真正*\\ 的 API 可供使用,所以我们将使用 [{JSON} 占位符 API]{1} 作为数据源。" - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "{JSON} 占位符 API 有许多 \"伪造 \"的 API 端点,您可以将其用作测试数据。其中一个 API 是 `/posts/` 端点,它会返回虚假的博客文章。如果在浏览器中打开 `https://jsonplaceholder.typicode.com/posts/42` ,就会得到一个描述单篇博文的 JSON 有效载荷--ID 为 42 的博文的一些 [Lorum ipsum]{1} 内容。" - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Python 标准库包含访问 API 所需的所有工具。然而,内置的 API 是非常低级的。它们很好地实现了 HTTP 协议,但需要用户管理大量低级细节,如 URL 重定向、会话、身份验证和有效负载编码。作为一名 \"普通浏览器用户\",你可能已经习惯了将这些细节视为理所当然,因为浏览器会为你管理这些细节。" - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "因此,人们开发了第三方库来封装内置的 API,并提供更简单的 API,使其更符合日常的浏览器体验。我们将使用其中一个库来访问 {JSON} 占位符 API - 一个名为 [httpx]{1} 的库。" - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "这将更改 `say_hello()` 回调,使它在被调用时,会:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "在 JSON 占位符 API 上发出 GET 请求,以获取post42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "将响应解码为 JSON 格式;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "提取帖子正文;以及" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "将该帖子的正文作为对话框的文本。" - -#~ msgid "Some binary packages may not be available" -#~ msgstr "某些二进制软件包可能不可用" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "简而言之,任何*纯 Python* 包(即*不包含二进制模块的包)都可以毫无困难地使用。但是,如果您的依赖包包含二进制组件,则必须对其进行编译;目前,大多数 Python 包都不支持非桌面平台的编译。" - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "我们现在有了一个使用第三方库的应用程序!不过,您可能已经注意到,当您按下按钮时,应用程序会变得有点反应迟钝。我们能解决这个问题吗?请访问 :doc:`Tutorial 8` 了解详情..." diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index ca1c1567..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,386 +0,0 @@ -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2025-08-09 01:01+0000\n" -"Last-Translator: John \n" -"Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -msgid "Tutorial 8 - Making it Smooooth" -msgstr "教程 8 - 使其光滑" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" -"到目前为止,我们的应用程序相对简单——显示图形用户界面控件、调用一个简单的第三" -"方库,以及在对话框中显示输出。所有这些操作都非常迅速,我们的应用程序始终保持" -"响应。" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" -"但是,在实际的应用中,我们将需要进行会需要一会儿才能完成的复杂任务。当这些任" -"务进行时,我们想让我们的应用保持响应。让我们更改我们的应用程序,添加一个需要" -"一些时间才能完成的任务,并看看需要怎样更改应用程序,适应这个新的行为。" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "访问 API" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" -"应用程序需要进行的一个常见的耗时任务时在一个网络 API " -"上请求取回数据,并将数据显示给用户。网络 API 有时需要一两秒才能回应," -"所以如果我们将要访问这种 API,我们需要确保我们的应用在等待网络 API " -"返回答案时保持响应。" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" -"这只是个入门级的应用,我们没有*真正*的API可供调用,所以我们将使用[{JSON}占位" -"符API]{1} 作为数据来源。{JSON}占位符API有" -"一系列“虚假”的API端点可以供您作为测试数据调用。其中之一就是`/posts/" -"`端点,它会返回一些虚假的博客推文。如果您在浏览器中访问`https://" -"jsonplaceholder.typicode.com/posts/" -"42`,您将会得到一串看起来像是在发推文的JSON数据——不过内容是ID为42的一些`乱数" -"假文(Lorum ipsum)]{1}。" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" -"Python 标准库包含了需要访问一个 API 的所有工具,但这些内置 API 非常低级别。" -"它们良好的实现了 HTTP 协议,但它们要求用户管理 URL " -"重定向、会话、身份验证、数据编码等许多低级别细节。作为一个 " -"“普通浏览器用户”,您可能会把这些细节的管理是为理所当然的,因为浏览器帮您管理" -"它们。" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "输入名称并按下按钮后,您会看到一个类似如下的对话框:" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "除非您的网络连接速度\\ *非常*\\ 快,否则您可能会注意到,当您按下按钮时,应用程序的图形用户界面会锁定一会儿。这是因为我们发出的网络请求是\\ *同步*\\ 的。当我们的应用程序发出网络请求时,它会等待应用程序接口返回响应,然后再继续。在等待的过程中,应用程序\\ *不*\\ 允许重新绘制,结果导致应用程序锁定。" - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -msgid "GUI Event Loops" -msgstr "图形用户界面事件循环" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "要理解为什么会出现这种情况,我们需要深入了解图形用户界面应用程序的工作原理。具体细节因平台而异,但无论使用何种平台或图形用户界面环境,高层概念都是相同的。" - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "从根本上说,图形用户界面应用程序就是一个单一的循环,看起来就像:" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "这个循环被称为 *事件循环*。(这些并不是实际的方法名称,而是 \"伪代码 \"的说明)。" - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -#, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "当你点击一个按钮、拖动一个滚动条或输入一个键时,你就产生了一个 \"事件\"。该 \"事件 \"被放入一个队列,应用程序将在下一次有机会时处理队列中的事件。为响应事件而触发的用户代码称为*事件处理程序*。这些事件处理程序作为`process_events()`调用的一部分被调用。" - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "应用程序处理完所有可用事件后,就会 重绘 (`redraw()`)图形用户界面。这将考虑到事件对应用程序显示所造成的任何变化,以及操作系统中发生的任何其他情况,例如,其他应用程序的窗口可能会遮挡或显示我们应用程序的部分窗口,而我们应用程序的重绘将需要反映当前可见的窗口部分。" - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -#, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "需要注意的重要细节是:当应用程序在处理事件时,*不能重绘*,*也不能处理其他事件*。" - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -#, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "这意味着事件处理程序中包含的任何用户逻辑都需要快速完成。完成事件处理程序的任何延迟都会被用户观察到,表现为图形用户界面更新的减慢(或停止)。如果延迟时间足够长,操作系统可能会将此报告为问题--macOS 的 \"沙滩球 \"和 Windows 的 \"旋转器 \"图标就是操作系统在告诉你,你的应用程序在事件处理程序中耗时过长。" - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -#, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "像 \"更新标签 \"或 \"重新计算输入总和 \"这样的简单操作很容易快速完成。然而,有很多操作是无法快速完成的。如果要执行复杂的数学计算,或为文件系统中的所有文件编制索引,或执行大型网络请求,就不能 \"快速完成\"--这些操作本身就很慢。" - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -#, fuzzy -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "那么,我们如何在图形用户界面应用程序中执行长期操作呢?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -#, fuzzy -msgid "Asynchronous programming" -msgstr "异步编程" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -#, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "我们需要的是一种方法,让处于长期事件处理程序中间的应用程序知道,只要我们能从上次中断的地方继续运行,就可以暂时将控制权释放回事件循环。应用程序可以自行决定何时释放控制权;但如果应用程序定期向事件循环释放控制权,我们就可以拥有一个长期运行的事件处理程序,并**保持响应式用户界面。" - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -#, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "我们可以通过使用*异步编程*来实现这一点。异步编程是一种描述程序的方法,它允许解释器同时运行多个函数,在所有并发运行的函数之间共享资源。" - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "异步函数(称为 * 协同例程*)需要明确声明为异步函数。它们还需要在内部声明何时有机会将上下文切换到另一个共同例程。" - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "在 Python 中,异步编程是通过 `async` 和 `await` 关键字以及标准库中的 [asyncio]{1} 模块来实现的。[async` 关键字允许我们声明一个函数是异步协程。关键字 `await` 提供了一种方法来声明何时有机会将上下文切换到另一个协程。`asyncio]{1} 模块为异步编码提供了一些其他有用的工具和原语。" - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "使教程异步化" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -#, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "为了使我们的教程成为异步教程,请修改事件处理程序 \"say_hello()\",使其看起来像这样::" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "与上一版本相比,该代码只有 4 处改动:" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -#, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "创建的客户端是异步的 `AsyncClient()` 而不是同步的 `Client()[。这就告诉 `httpx` 应在异步模式而非同步模式下运行。" - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -#, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "用于创建客户端的上下文管理器被标记为 `async`。这就告诉 Python,当上下文管理器进入和退出时,有机会释放控制。" - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga 允许你使用常规方法或异步协程作为处理程序;Toga 在幕后管理一切,确保处理程序按要求被调用或等待。" - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "如果保存这些更改并重新运行应用程序(在开发模式下使用 `briefcase dev` 或更新并重新运行打包的应用程序),应用程序不会有任何明显的变化。不过,当您点击按钮触发对话框时,您可能会注意到一些细微的改进:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -#, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "按钮会返回到 \"未点击 \"状态,而不是停留在 \"已点击 \"状态。" - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "沙滩球\"/\"旋转器 \"图标不会出现" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "如果在等待对话框出现时移动或调整应用程序窗口的大小,窗口将重新绘制。" - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -#, fuzzy -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "如果尝试打开应用程序菜单,菜单会立即出现。" - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "" - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "现在,我们已经有了一个既流畅又反应灵敏的应用程序,即使在等待速度较慢的应用程序接口时也是如此。但是,我们如何确保在继续进一步开发的过程中,应用程序仍能正常运行?如何测试应用程序?请访问 [Tutorial 9[ 了解详情..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "方法定义为 `asyncdef`,而不只是 `def`。这告诉 Python 该方法是一个异步协程。" - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "get \"调用带有 \"await \"关键字。这指示应用程序在等待网络响应时,可以将控制权释放给事件循环。" - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" diff --git a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po deleted file mode 100644 index 18dd8f40..00000000 --- a/updated-locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po +++ /dev/null @@ -1,165 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-30 17:27+0000\n" -"PO-Revision-Date: 2024-01-13 02:06+0000\n" -"Last-Translator: Sheep Cat \n" -"Language: zh_CN\n" -"Language-Team: Chinese (Simplified) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-9.rst:3 aeef8be59f2c4d4eb5bff4d71d02d58c -#, fuzzy -msgid "Tutorial 9 - Testing times" -msgstr "教程 9 - 测试时间" - -#: ../../tutorial/tutorial-9.rst:5 035cf073ccad4319b3846341a3f9576e -#, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "大多数软件开发并不涉及编写新代码,而是修改现有代码。确保现有代码以我们期望的方式继续工作是软件开发过程的关键部分。确保应用程序行为的方法之一就是*测试套件*。" - -#: ../../tutorial/tutorial-9.rst:11 273ac408f7f146c0ade1bd079200f5e3 -#, fuzzy -msgid "Running the test suite" -msgstr "运行测试套件" - -#: ../../tutorial/tutorial-9.rst:13 09c92fbb8b164f6fa46458fba4009628 -#, fuzzy -msgid "It turns out our project already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:src \"和 \"tests\"。src \"文件夹包含应用程序的代码;\"tests \"文件夹包含测试套件。在 `tests` 文件夹中,有一个名为 `test_app.py` 的文件,内容如下::" - -#: ../../tutorial/tutorial-9.rst:23 a59b93a912854067b72e4dc131f63887 -#, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "这是一个 [Pytest]{1} *测试用例* - 可以执行的代码块,用于验证应用程序的某些行为。在本例中,该测试是一个占位符,并不测试我们应用程序的任何内容,但我们可以执行该测试。" - -#: ../../tutorial/tutorial-9.rst:28 4d9dbd44684b46638128fdf048729189 -#, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "我们可以使用 `briefcase dev` 的 `--test` 选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` 选项,以确保测试需求也已安装:" - -#: ../../tutorial/tutorial-9.rst:34 ../../tutorial/tutorial-9.rst:139 -#: ../../tutorial/tutorial-9.rst:209 ../../tutorial/tutorial-9.rst:326 -#: ../../tutorial/tutorial-9.rst:396 6b371ee840fa423f89e70cbe3f16f5ab -#: 7d737be606774089a4a5979fa2ec76f7 c3446d0bc83c41b393818dc56646f3df -#: efa9001848c34815955fc7a63d07848d fc88bd37865d42d1a448807d82c34a40 -msgid "macOS" -msgstr "MacOS" - -#: ../../tutorial/tutorial-9.rst:57 ../../tutorial/tutorial-9.rst:156 -#: ../../tutorial/tutorial-9.rst:241 ../../tutorial/tutorial-9.rst:344 -#: ../../tutorial/tutorial-9.rst:438 02861222759a45cf8338631549c785ca -#: 0a00047dbaf947168624a74453123ed2 4a0ff02cc68449f498b652bcff379b57 -#: f24e91b790ff40d199ab7de902b6ab31 f955d23018a54fee9b0fe607594980a0 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-9.rst:83 ../../tutorial/tutorial-9.rst:173 -#: ../../tutorial/tutorial-9.rst:275 ../../tutorial/tutorial-9.rst:362 -#: ../../tutorial/tutorial-9.rst:471 3e69d1ae50aa48edb84bc3726cef322c -#: 7376c756445847ddb5ec0d893debb866 dae0ad5506904e6790461682885a2559 -#: e4c815ae09434549959836fee63d2bfe e594b247167743c2ad4688a62c7b80cb -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-9.rst:109 4ee7e5a2ed604cdd88d7c0b0d7d5aab6 -#, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "成功了!我们刚刚执行了一个测试,验证了 Python 数学以我们预期的方式运行(真是松了一口气!)。" - -#: ../../tutorial/tutorial-9.rst:112 075cb21da3a54abdba43182366f6554a -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` 方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容::" - -#: ../../tutorial/tutorial-9.rst:130 3911037704b24843b30fc87144226ceb -#, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "这将定义两个新测试,验证我们期望看到的两种行为:提供名称时的输出和名称为空时的输出。" - -#: ../../tutorial/tutorial-9.rst:133 281cadf9d1bc477a9f8adbb213f53211 -#, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` 选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" - -#: ../../tutorial/tutorial-9.rst:190 f6793768beb04843b7089ebf90a0d712 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "非常好我们的 `greeting()` 实用程序方法如期工作了。" - -#: ../../tutorial/tutorial-9.rst:193 00ec17fba6fd48bc9443bcd3114a9f86 -#, fuzzy -msgid "Test driven development" -msgstr "测试驱动开发" - -#: ../../tutorial/tutorial-9.rst:195 af38e016b4494ded99ff84e4a854ab72 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位用户添加特殊的问候语。首先,我们可以在 `test_app.py`':的底部为我们希望看到的新行为添加一个测试用例:" - -#: ../../tutorial/tutorial-9.rst:205 3f5bcdb2f18c487bacc726b46150b1b3 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "然后,用这个新测试运行测试套件:" - -#: ../../tutorial/tutorial-9.rst:307 a18fd7b9f69c4e51bf13b2178368d84d -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 \"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 \"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` 的实现,使其具有新的行为::" - -#: ../../tutorial/tutorial-9.rst:322 f32631a5038e4c878e9dd3a9fe067386 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "如果我们再次运行测试,就会发现测试通过了:" - -#: ../../tutorial/tutorial-9.rst:381 6ff3035bb2294957a642d851702f4e22 -#, fuzzy -msgid "Runtime tests" -msgstr "运行时测试" - -#: ../../tutorial/tutorial-9.rst:383 3fcdbeec1ebf4cf28c48a634f6da8ced -#, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "到目前为止,我们一直在开发模式下运行测试。这在开发新功能时尤其有用,因为您可以快速迭代添加测试,并添加代码使测试通过。不过,在某些情况下,您会希望验证您的代码在捆绑应用程序环境下是否也能正确运行。" - -#: ../../tutorial/tutorial-9.rst:389 0ab123fec4fa421ebcd01f5498675ecb -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "[-test`和`-r`选项也可以传递给`run`命令。如果使用 `briefcase run --test -r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发环境中运行:" - -#: ../../tutorial/tutorial-9.rst:508 258cdcbd93bc4326989cb659e476a855 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r` 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" - -#: ../../tutorial/tutorial-9.rst:512 5bdcaccd83054bc0b5d91a40e9bf0f00 -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "你也可以在移动后端使用 `--test` 选项:因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以在你选择的移动设备上运行测试套件。" - -#: ../../tutorial/tutorial-9.rst:517 25dee6c2ad704e26ad008f713c0770b0 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-9.rst:519 de845c7c4bb440caab7634cdc872d9bb -msgid "We've now got a a test suite for our application. But it still looks like a tutorial app. Is there anything we can do about that? Turn to [Tutorial 10][tutorial-10] to find out..." -msgstr "" - -#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -#~ msgstr "这只是您利用 BeeWare 项目提供的工具所能做的一些尝试。接下来的工作就靠您自己了!" - -#~ msgid "Some places to go from here:" -#~ msgstr "从这里可以去一些地方:" - -#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" - -#~ msgid "Details on the [options available when configuring your Briefcase project]{1}." -#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/how-to/index.po b/updated-locales/zh_TW/LC_MESSAGES/how-to/index.po deleted file mode 100644 index e69fa168..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/how-to/index.po +++ /dev/null @@ -1,327 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.1\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: zh_TW\n" -"Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f -msgid "Contributing to this tutorial" -msgstr "" - -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." -msgstr "" - -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" -msgstr "" - -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a -msgid "Set up your development environment" -msgstr "" - -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 -msgid "Create a virtual environment" -msgstr "" - -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" -msgstr "" - -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c -msgid "Your prompt should now have a `(venv)` prefix in front of it." -msgstr "" - -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 -msgid "Clone the BeeWare repository" -msgstr "" - -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" -msgstr "" - -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 -msgid "(substituting your GitHub username)" -msgstr "" - -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" -msgstr "" - -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb -msgid "Install pre-commit" -msgstr "" - -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" -msgstr "" - -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" -msgstr "" - -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." -msgstr "" - -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 -msgid "Building BeeWare's documentation" -msgstr "" - -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 -msgid "Build documentation locally" -msgstr "" - -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b -msgid "Once your development environment is set up, run:" -msgstr "" - -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 -msgid "Live documentation preview" -msgstr "" - -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" -msgstr "" - -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." -msgstr "" - -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a -msgid "Documentation linting" -msgstr "" - -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 -msgid "dead hyperlinks" -msgstr "" - -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad -msgid "misspelled words" -msgstr "" - -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." -msgstr "" - -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." -msgstr "" - -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 -msgid "Rebuilding all documentation" -msgstr "" - -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" -msgstr "" - -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." -msgstr "" - -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 -msgid "What to work on?" -msgstr "" - -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." -msgstr "" - -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e -msgid "Submitting a pull request" -msgstr "" - -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." -msgstr "" - -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." -msgstr "" - -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 -msgid "To create a feature branch, run:" -msgstr "" - -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." -msgstr "" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/index.po b/updated-locales/zh_TW/LC_MESSAGES/index.po deleted file mode 100644 index 61f9e1d0..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/index.po +++ /dev/null @@ -1,105 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" -"PO-Revision-Date: 2024-04-11 10:01+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "歡迎來到 BeeWare 教學!" - -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec -msgid "**Write Python. Run Anywhere.**" -msgstr "**在任何地方執行你寫的Python。**" - -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "歡迎來到 BeeWare!在本教學中,我們將使用 Python 建立一個 GUI,並將其部署為桌面應用程式、行動應用程式和網頁。我們還將了解如何使用 BeeWare 工具來執行作為應用程式開發人員所需執行的一些常見任務,例如測試應用程式。" - -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "本頁中文翻譯基於英文文檔翻譯,已由人工審核" - -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [中文(简体)]{1}, and [中文(繁體)]{1}." -msgstr "如果您不熟悉中文,可以使用本教學的翻譯版本 [English]{1} [Deutsch]{1}, [Español]{1}, [Français]{1}, [Italiano]{1}, [Português]{1}, [简体中文]{1} 。" - -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "這是機器翻譯!" - -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "此版本的教學是透過機器翻譯產生的。我們知道這並不理想,但我們認為糟糕的翻譯總比沒有翻譯好。" - -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "如果您想要協助改進翻譯,請聯絡我們!我們在 [Discord]{1} 中有一個 `#translations` 頻道。在那裡進行自我介紹,我們會將您加入翻譯團隊。" - -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "這是翻譯!" - -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "本文檔是英文版本的翻譯。翻譯已經過人工審核,但較新的部分可能是由機器翻譯產生的,或者根本不翻譯。" - -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 -msgid "What is BeeWare?" -msgstr "什麼是 BeeWare?" - -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare 不是一個單一的產品、工具或函式庫 - 它是工具和函式庫的集合,每個工具和函式庫協同工作,幫助您編寫跨平台的原生 Python GUI 應用程式。這包括:" - -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1} ,跨平台小工具包;" - -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -#, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1} ,一種將 Python 專案打包為可分發形式(apk、exe等)並可傳送給最終使用者的工具;" - -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -#, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "用於存取各個平臺的原生庫的庫(例如 [Rubicon ObjC]{1} );" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "預編譯版本的 Python 可在無官方 Python 安裝程式的平台上使用。" - -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "在本教程中,我們將使用所有這些工具,但作為用戶,您只需要與前兩個工具(Toga 和 Briefcase)進行互動。每個工具也可以單獨使用 - 舉例來說,您可以使用 Briefcase 來部署應用程序,而不使用 Toga 作為 GUI 工具包。" - -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "BeeWare 套件可在 macOS、Windows、Linux(使用 GTK)上使用,也在Android和iOS等行動平台上,甚至是網頁。" - -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 -#, fuzzy -msgid "Let's go!" -msgstr "讓我們開始吧!" - -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "準備好親自嘗試 BeeWare 了嗎? [讓我們用 Python 建立一個跨平台應用程式!][tutorial/tutorial-0]" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po deleted file mode 100644 index 3c39e7bf..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po +++ /dev/null @@ -1,138 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: zh_TW\n" -"Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 -msgid "Start a new project" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f -msgid "Add code to take a photo" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 -msgid "Adding device permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe -msgid "We can now generate and run the app:" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 -msgid "Adding more permissions" -msgstr "" - -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po deleted file mode 100644 index 47dd6a1f..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ /dev/null @@ -1,147 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" -"PO-Revision-Date: 2024-04-10 21:02+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -#, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "到目前為止,我們的應用程式使用了預設的 `灰色蜜蜂` 圖示。我們如何更新應用程式以使用我們自己的圖標?" - -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 -msgid "Adding an icon" -msgstr "新增圖示" - -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**即將推出**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "我們現在在桌面和手機上有了一個帶有自訂圖示的應用程式!我們如何與其他人分享這個應用程式?到 [教程 11` 找找看..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "教程 10 - 打造您自己的應用程式" - -#~ msgid "Next steps" -#~ msgstr "下一步" - -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po deleted file mode 100644 index 59e4c6de..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po +++ /dev/null @@ -1,52 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language: zh_TW\n" -"Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "" - -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -msgstr "" - -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "" - -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." -msgstr "" - -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "" - -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "" diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po deleted file mode 100644 index 497262f5..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po +++ /dev/null @@ -1,148 +0,0 @@ -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" -"PO-Revision-Date: 2024-04-11 22:01+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -msgid "Testing times" -msgstr "" - -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "大多數軟體開發並不涉及編寫新程式碼,而是修改現有程式碼。確保現有程式碼繼續按照我們期望的方式運作是軟體開發過程的關鍵部分。確保我們的應用程式行為的一種方法是使用 *測試套件* 。" - -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 -msgid "Running the test suite" -msgstr "運行測試套件" - -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -#, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "事實上,我們的專案已經有測試套件了!當我們最初產生專案時,產生了兩個資料夾: `src` 和 `tests` 。 `src` 資料夾包含我們應用程式的程式碼; `tests` 資料夾包含我們的測試套件。在 `tests` 資料夾內有一個名為 `test_app.py` 的文件,其中包含以下內容:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "這是一個 [Pytest]{1} 的 *測試範例* - 可以執行以驗證應用程式的某些行為的程式碼區塊。在本例中,測試僅是一個範例,不會測試有關我們應用程式的任何內容 - 但它是我們可以執行的測試。" - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "我們可以使用 `briefcase dev` 的 `--test` 選項來執行這個測試套件。由於這是我們第一次執行測試,我們還需要傳入 `-r` 選項以確保測試要求也已安裝:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "成功了!我們剛剛執行了一個測試,證實了 Python 的數學按照我們期望的方式工作(真是鬆了一口氣!)。" - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "讓我們用一個測試來取代這個範例,以驗證我們的 `greeting()` 方法的行為是否符合我們的預期。將 `test_app.py` 的內容替換為以下內容:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "這定義了兩個新的測試,驗證我們期望看到的兩個行為:提供名稱時的輸出,以及名稱為空時的輸出。" - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "我們現在可以重新運行測試套件。這次,我們不需要提供 `-r` 選項,因為測試要求已經安裝了;我們只需要使用 `--test` 選項:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "非常好!我們的 `greeting()` 實用方法按預期工作。" - -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 -msgid "Test driven development" -msgstr "用測試來驅動開發" - -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "現在我們有了測試套件,我們可以用它來驅動新功能的開發。讓我們修改我們的應用程序,為某個特定用戶提供特殊的問候語。我們可以先為我們希望在 `test_app.py` 底部看到的新行為新增一個測試案例:" - -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 -msgid "Then, run the test suite with this new test:" -msgstr "然後,使用這個新測試來執行測試套件:" - -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "這次,我們看到測試失敗 - 輸出解釋了失敗的根源:測試期望輸出 `BeeWare the IDEs of Python!` ,但我們的 `greeting()` 實現返回 `Hello, Brutus` 。讓我們修改 src/helloworld/app.py 中的 greeting() 實作以獲得新的行為:" - -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "如果我們再次運行測試,我們現在將看到測試通過:" - -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b -msgid "Runtime tests" -msgstr "運行時測試" - -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "到目前為止,我們一直在開發模式下執行測試。當您開發新功能時,這特別有用,因為您可以快速迭代添加測試,並添加程式碼以使這些測試通過。但是,在某些時候,您需要驗證您的程式碼在部署的環境中是否也可以正確運行。" - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "`--test` 和 `-r` 選項也可以傳遞給 `run` 指令。如果您使用 `briefcase run --test -r` ,將運行相同的測試套件,但它將在部署的環境中運行,而不是在您的開發環境中運行:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "與 `briefcase dev --test` 一樣,僅在第一次執行測試套件時才需要 `-r` 選項,以確保測試依賴項存在。在後續運行中,您可以忽略此選項。" - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "您還可以在移動環境下使用 `--test` 選項: - 因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以工作,在您選擇的移動設備上運行測試套件。" - -#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -#~ msgstr "這是您對 BeeWare 專案提供的工具的嘗試。您可以決定要從哪做起!" - -#~ msgid "Some places to go from here:" -#~ msgstr "可以去的一些地方:" - -#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -#~ msgstr "示範 [Toga 小工具工具包的功能]{1} 的教學。" - -#~ "[有關配置 Briefcase 項目時可用的選項的詳細資訊]{1} 。Plural-Forms: nplurals=1; plural=0;\n" -#~ "MIME-Version: 1.0\n" -#~ "Content-Type: text/plain; charset=utf-8\n" -#~ "Content-Transfer-Encoding: 8bit\n" -#~ "Generated-By: Babel 2.15.0\n" - -#~ msgid "Tutorial 9 - Testing times" -#~ msgstr "教學 9 - 測試時間" - -#~ msgid "Next steps" -#~ msgstr "下一步" diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po deleted file mode 100644 index 89f86d15..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po +++ /dev/null @@ -1,239 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" -"PO-Revision-Date: 2024-04-12 07:01+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "教學 0 - 讓我們開始設定吧!" - -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "在建立第一個 BeeWare 應用程式之前,我們必須確保具備運行 BeeWare 的所有先決條件。" - -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 -msgid "Install Python" -msgstr "安裝Python" - -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "我們首先需要的是一個可用的 Python 直譯器。" - -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -#, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" - -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -#, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{1} to manage multiple Python installs, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "安裝 Python 有很多不同的方法。您可以透過 [homebrew]{1} 安裝 Python。您可以使用 [pyenv]{1} 來管理同一台電腦上的多個 Python 安裝。 Windows 使用者可以從 Windows App Store 安裝 Python。有數據科學背景的用戶可能希望使用 [Anaconda]{1} 或 [Miniconda]{1} 。" - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "如果您使用的是 Linux,則會使用系統套件管理器(Debian/Ubuntu/Mint 上的 `apt` 、Fedora 上的 `dnf` 或 Arch 上的 `pacman` )安裝 Python。" - -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 -#, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "您應該確保系統Python是Python 3.8或更高版本;如果不是(例如,Ubuntu 18.04 附帶 Python 3.6),則需要將 Linux 發行版升級到更新的版本。" - -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "目前對 Raspberry Pi 的支援有限。" - -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 -#, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" - -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 -#, fuzzy -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "目前對 Raspberry Pi 的支援有限。" - -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c -#, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "如果你在 macOS 或 Windows 上,你如何安裝 Python 並不重要 - 重要的是你可以從作業系統的命令提示字元/終端應用程式運行 `python3` ,並獲得一個可用的 Python 直譯器。" - -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 -msgid "Install dependencies" -msgstr "安裝依賴項" - -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "接下來,安裝作業系統所需的其他依賴項:" - -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 -msgid "Building BeeWare apps on macOS requires:" -msgstr "在 macOS 上建立 BeeWare 應用程式需要:" - -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "為了支援本地開發,您需要安裝一些系統軟體包。所需的軟體包清單因您的發行版而異:" - -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d -#, fuzzy -msgid "**Ubuntu / Debian**" -msgstr "**Ubuntu 20.04+ / Debian 10+**" - -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 -msgid "**Fedora**" -msgstr "**Fedora**" - -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d -#, fuzzy -msgid "**Arch / Manjaro**" -msgstr "**Arch, Manjaro**" - -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 -msgid "Building BeeWare apps on Windows requires:" -msgstr "在 Windows 上建立 BeeWare 應用程式需要:" - -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git** ,版本控制系統。您可以從 [git-scm.com]{1} 下載 Git。" - -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "安裝這些工具後,您應該確保重新啟動所有終端會話。 Windows 只會公開安裝完成 *之後* 啟動的新安裝的工具終端。" - -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 -msgid "Set up a virtual environment" -msgstr "設定虛擬環境" - -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "現在,我們將創建一個虛擬環境 - 一個 [沙箱` ,我們可以使用它來將本教程的工作與主 Python 安裝隔離。如果我們將套件安裝到虛擬環境中,我們的主要 Python 安裝(以及我們電腦上的任何其他 Python 專案)將不會受到影響。如果我們把虛擬環境弄得一團糟,我們只需刪除它並重新開始,就不會影響我們電腦上的任何其他 Python 項目,也不需要重新安裝 Python。" - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "執行 PowerShell 腳本時發生錯誤" - -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b -msgid "If you're using PowerShell, and you receive the error:" -msgstr "如果您使用 PowerShell,並且收到錯誤:" - -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "您的 Windows 帳戶沒有執行腳本的權限。要解決此問題:" - -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator]{1}." -msgstr "" - -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "運行 `set-executionpolicy RemoteSigned`" - -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e -msgid "Select `Y` to change the execution policy." -msgstr "選擇 `Y` 更改執行策略。" - -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "完成此操作後,您可以在原始 PowerShell 會話(或同一目錄中的新會話)中重新執行 `beeware-venv\\Scripts\\activate.ps1` 。" - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "如果這有效,你的提示現在應該改變 - 它應該有一個 `(beeware-venv)` 前綴。這可以讓您知道您目前處於 BeeWare 虛擬環境。每當您學習本教學時,您都應該確保您的虛擬環境已啟動。如果不是,請重新執行最後一個命令( `activate` 命令)以啟動您的虛擬環境。" - -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "替代的虛擬環境" - -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "如果您使用 Anaconda 或 miniconda,您可能會更熟悉使用 conda 環境。您可能也聽說過 `virtualenv` ,它是 Python 內建的 `venv` 模組的前身。與 Python 安裝一樣 - 如果您使用的是 macOS 或 Windows,只要您有一個虛擬環境, *如何* 建立虛擬環境並不重要。如果您使用的是 Linux,則應該堅持使用 `venv` 和系統 Python。" - -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "我們現在已經設定好了我們的環境。我們準備好 [創建我們的第一個 BeeWare 應用程式[。" - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "以管理員身分執行 Windows PowerShell。" - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git** ,版本控制系統。它包含在您上面安裝的 Xcode 或命令列開發人員工具中。" - -#~ msgid "Alternative Python distributions" -#~ msgstr "替代的 Python 發行版" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "如果您使用的是 Linux,則應該使用作業系統提供的系統 Python。您將能夠使用非系統 Python 完成本教程的 *大部分* ,但您將無法打包您的應用程式以分發給其他人。" - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "如果您使用的是 macOS,則 Xcode 或命令列開發人員工具中包含最新版本的 Python。要檢查您是否已經擁有它,請執行以下命令:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "如果安裝了 Python,您將看到其版本號。否則,系統將提示您安裝命令列開發人員工具。" - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website][https://www.python.org/downloads]_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po deleted file mode 100644 index de182aa2..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ /dev/null @@ -1,194 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-04-11 22:01+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "教學 1 - 您的第一個應用程式" - -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 -msgid "We're ready to create our first application." -msgstr "我們已準備好創建我們的第一個應用程式。" - -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d -msgid "Install the BeeWare tools" -msgstr "安裝 BeeWare 工具" - -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具,可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 [教學 0][tutorial-0] 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` 虛擬環境,然後執行:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "安裝過程中可能出現的錯誤" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "如果您在安裝過程中看到錯誤,幾乎可以肯定是因為某些系統需求尚未安裝。確保您 [已安裝所有平台先決條件 ][install-dependencies]。" - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "使用 `python -m pip` ,而不是只有 `pip` ,這一點很重要。 Briefcase需要確保它有最新版本的 `pip` 和 `setuptools` ,並且單純調用 `pip` 無法自我更新。如果您想了解更多信息,[Brett Cannon 有一篇關於該問題的詳細博客文章]{1} 。" - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd -msgid "Bootstrap a new project" -msgstr "開始一個新項目" - -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "讓我們開始我們的第一個 BeeWare 專案吧!我們將使用 Briefcase 的 `new` 命令建立一個名為 **Hello World** 的應用程式。從命令提示字元執行以下命令:" - -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase 將詢問我們新應用程式的一些詳細資訊。出於本教學的目的,請使用以下內容:" - -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**正式名稱** - 接受預設值: `Hello World` 。" - -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**應用程式名稱** - 接受預設值: `helloworld` 。" - -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -#, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**封裝名稱** - 如果您擁有自己的網域,請以相反的順序輸入該網域。 (例如,如果您擁有網域名稱 `cupcakes.com` ,請輸入 `com.cupcakes` 作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( `com.example` )。" - -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**項目名稱** - 接受預設值: `Hello World` 。" - -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**描述** - 接受預設值(或者,如果您想真正發揮創意,請提出您自己的描述!)" - -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e -msgid "**Author** - Enter your own name here." -msgstr "**作者** - 在此輸入您自己的姓名。" - -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -#, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**作者的電子郵件** - 輸入您自己的電子郵件地址。這將用在設定檔、說明文字以及將應用程式提交到應用程式商店時需要電子郵件的任何地方。" - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -#, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - 您的應用程式的登入頁面的 URL。同樣,如果您擁有自己的網域,請輸入該網域的 URL(包括 `https://` )。否則,只需接受預設 URL (`https://example.com/helloworld`)。該 URL 不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -#, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**許可證** - 接受預設許可證 (BSD)。不過,這不會影響本教學的操作 - 因此,如果您對許可證選擇有特別強烈的感覺,請隨意選擇其他許可證。" - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI 框架** - 接受預設選項 Toga(BeeWare 自己的 GUI 工具)。" - -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "然後,Briefcase 將產生一個專案框架供您使用。如果您到目前為止已經遵循了本教學,並接受了所描述的預設設置,您的資料夾應該類似於:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "這個框架實際上是一個功能齊全的應用程式,無需添加任何其他內容。 `src` 資料夾包含應用程式的所有程式碼, `tests` 資料夾包含初始測試套件, `pyproject.toml` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 `pyproject.toml` ,您將看到剛剛提供給 `Briefcase` 的設定詳細資訊。" - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "現在我們有了一個未打包的應用程式,我們可以使用 Briefcase 來運行該應用程式。" - -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 -msgid "Run the app in developer mode" -msgstr "在開發者模式下運行應用程式" - -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "進入 `helloworld` 專案目錄並告訴公事包以開發人員(或 `dev` )模式啟動專案:" - -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 -msgid "This should open a GUI window:" -msgstr "這應該打開一個 GUI 視窗:" - -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "在 macOS 上的教學 1 視窗" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "在 Linux 上的教學 1 視窗" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "在 Windows 上的教學 1 視窗" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c -msgid "If you encounter the error:" -msgstr "" - -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." -msgstr "" - -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "按下關閉按鈕(或從應用程式的選單中選擇退出),就完成了!恭喜 - 您剛剛用 Python 編寫了一個獨立的本機應用程式!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "我們現在有了一個可以運行的應用程序,在開發人員模式下運行。現在我們可以添加一些我們自己的邏輯,使我們的應用程式做一些更有趣的事情。在 :doc:`教程 2 中`,我們將在我們的應用程式中放置一個更有用的使用者介面。" - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "BeeWare 工具之一是 **Briefcase** 。它可用於打包您的應用程式以分發給最終用戶 - 但它也可用於初始化新專案。" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po deleted file mode 100644 index 1cd836a3..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po +++ /dev/null @@ -1,297 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2025-04-20 22:01+0000\n" -"Last-Translator: John \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional Han script) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -#, fuzzy -msgid "Tutorial 2 - Making it interesting" -msgstr "教學 2 - 讓它變得有趣" - -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -#, fuzzy -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "在 [教程 1 中`,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼。讓我們看看為我們產生了什麼。" - -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 -#, fuzzy -msgid "What was generated" -msgstr "生成了什麼" - -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -#, fuzzy -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "在 src/helloworld 目錄中,您應該會看到 3 個檔案:__init__.py、__main__.py 和 app.py。" - -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -#, fuzzy -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` 將`helloworld` 目錄標記為可匯入的Python 模組。這是一個空文件;它的存在告訴 Python 解釋器`helloworld`目錄定義了一個模組。" - -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -#, fuzzy -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` 將`helloworld` 模組標記為一種特殊類型的模組 - 可執行模組。如果您嘗試使用`python -m helloworld`來執行`helloworld`模組,則`__main__.py`檔案是Python將開始執行的位置。 `__main__.py` 的內容比較簡單:" - -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc -msgid "This file does two things:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -#, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "也就是說 - 它從`helloworld`應用程式導入`main`方法;如果它是作為入口點執行,則呼叫 main() 方法,並啟動應用程式的主循環。主循環是 GUI 應用程式偵聽使用者輸入(如滑鼠點擊和鍵盤按下)的方式。" - -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -#, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "更有趣的檔案是`app.py`——它包含創建我們的應用程式視窗的邏輯:" - -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 -#, fuzzy -msgid "Let's go through this line by line:" -msgstr "讓我們逐行瀏覽一下:" - -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -#, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "首先,我們匯入`toga`小工具工具包,以及一些與樣式相關的實用程式類別和常數。我們的程式碼尚未使用它們 - 但我們很快就會使用它們。" - -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 -#, fuzzy -msgid "Then, we define a class:" -msgstr "然後,我們定義一個類別::" - -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -#, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "每個 Toga 應用程式都有一個`toga.App`實例,代表應用程式的運作實體。該應用程式最終可能會管理多個視窗;但對於簡單的應用程序,將有一個主視窗。" - -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 -#, fuzzy -msgid "Next, we define a `startup()` method:" -msgstr "接下來,我們定義一個`startup()`方法:" - -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -#, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "啟動方法所做的第一件事是定義一個主框。 Toga 的佈局方案的行為與 HTML 類似。您可以透過建立一組框來建立應用程序,每個框都包含其他框或實際的小部件。然後,您可以將樣式套用到這些方塊來定義它們將如何使用可用的視窗空間。" - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -#, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "在此應用程式中,我們定義了一個框,但沒有在其中放入任何內容。" - -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 -#, fuzzy -msgid "Next, we define a window into which we can put this empty box:" -msgstr "接下來,我們定義一個窗口,可以將這個空框放入其中:" - -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -#, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "這將建立一個`toga.MainWindow`實例,它將具有與應用程式名稱相符的標題。主視窗是 Toga 中的一種特殊視窗 - 它是與應用程式的生命週期密切相關的視窗。當主視窗關閉時,應用程式退出。主視窗也是具有應用程式選單的視窗(如果您使用的是 Windows 等平台,其中功能表列是視窗的一部分)" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -#, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "然後,我們添加空框作為主視窗的內容,並指示應用程式顯示我們的視窗:" - -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "最後,我們定義一個`main()`方法。這就是創建我們的應用程式實例的原因:" - -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -#, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "這個`main()`方法是由`__main__.py`導入和呼叫的方法。它創建並傳回我們的`HelloWorld`應用程式的實例。" - -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -#, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "這是最簡單的 Toga 應用程式。讓我們將一些我們自己的內容放入應用程式中,並使應用程式做一些有趣的事情。" - -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa -#, fuzzy -msgid "Adding some content of our own" -msgstr "添加一些我們自己的內容" - -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -#, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "不要刪除文件頂部的導入或底部的`main()`。您只需要更新`HelloWorld`類別。" - -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -#, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "修改`src/helloworld/app.py`中的`HelloWorld`類,使其看起來像這樣:" - -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 -#, fuzzy -msgid "Let's look in detail at what has changed." -msgstr "讓我們詳細看看發生了什麼變化。" - -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 -#, fuzzy -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "我們仍在創建一個主盒子;然而,我們現在正在應用一種風格:" - -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -#, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Toga 的內建佈局系統稱為`Pack`。它的行為很像 CSS。您可以在層次結構中定義物件 - 在 HTML 中,物件是`
`、`][span]` 和其他 DOM 元素;在 Toga 中,它們是小部件和盒子。然後,您可以為各個元素指定樣式。在這種情況下,我們表明這是一個`COLUMN`框 - 也就是說,它是一個將消耗所有可用寬度的框,並且會在添加內容時擴展其高度,但它會嘗試盡可能短。" - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" -msgstr "" - -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 -msgid "Next, we define a couple of widgets:" -msgstr "接下來,我們定義幾個小工具:" - -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -#, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "在這裡,我們定義了一個 Label 和一個 TextInput。這兩個小部件都有與之相關的樣式;標籤的左側和右側將有 5 個像素的內邊距,頂部和底部將沒有內邊距。 TextInput 被標記為靈活的 - 也就是說,它將吸收其佈局軸中的所有可用空間。" - -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -#, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "TextInput 被指定為該類別的實例變數。這使我們可以輕鬆存取小部件實例 - 我們稍後將使用它。" - -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c -#, fuzzy -msgid "Next, we define a box to hold these two widgets:" -msgstr "接下來,我們定義一個盒子來容納這兩個小工具:" - -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -#, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "`name_box` 是一個像主盒子一樣的盒子;然而,這一次,它是一個`ROW`盒子。這意味著內容將水平添加,並且它將嘗試使其寬度盡可能窄。盒子還有一些內邊距 - 所有邊都是 5px。" - -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 -#, fuzzy -msgid "Now we define a button:" -msgstr "現在我們定義一個按鈕:" - -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "此按鈕的所有邊都有 5 像素的內邊距。我們也定義了一個*處理程序* - 按下按鈕時呼叫的方法。" - -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 -#, fuzzy -msgid "Then, we add the name box and the button to the main box:" -msgstr "然後,我們將名稱框和按鈕新增到主框:" - -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -#, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "這樣就完成了我們的佈局;啟動方法的其餘部分與之前一樣 - 定義一個 MainWindow,並將主框指定為視窗的內容:" - -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -#, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "我們需要做的最後一件事是定義按鈕的處理程序。處理程序可以是任何方法、生成器或非同步協程;它接受生成事件的小部件作為參數,並且每當按下按鈕時就會調用:" - -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -#, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "該方法的主體是一個簡單的列印語句 - 但是,它將詢問名稱輸入的當前值,並使用該內容作為列印的文字。" - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -#, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "現在我們已經進行了這些更改,我們可以透過再次啟動應用程式來查看它們的外觀。和以前一樣,我們將使用開發者模式:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -#, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "您會注意到,這一次,它`不`安裝依賴項。公文包可以檢測到該應用程式之前已經運行過,為了節省時間,只會運行該應用程式。如果您為應用程式新增的依賴項,則可以在執行`briefcase dev`時傳入`-r`選項來確保它們已安裝。" - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de -msgid "This should open a GUI window:" -msgstr "這應該打開一個 GUI 視窗:" - -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Hello World 教學 2 窗口,在 macOS 上" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Linux 上的 Hello World 教學 2 窗口" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Hello World 教學 2 窗口,在 Windows 上" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -#, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "如果您在文字方塊中輸入名稱,然後按 GUI 按鈕,您應該會看到啟動應用程式的控制台中出現輸出。" - -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -msgstr "" - -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -#, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "我們現在有了一個可以做一些更有趣的事情的應用程式。但它只能在我們自己的計算機上運行。讓我們打包這個應用程式以進行分發。在 :doc:`教程 3 中`,我們將把我們的應用程式打包為一個獨立的安裝程序,我們可以將其發送給朋友、客戶,或上傳到應用程式商店。" - -#~ msgid "Lets do something more interesting with our `HelloWorld`` app." -#~ msgstr "" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po deleted file mode 100644 index a064d1a1..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po +++ /dev/null @@ -1,317 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" -"PO-Revision-Date: 2024-04-10 21:02+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "教學 3 - 分發包裝" - -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -#, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "到目前為止,我們一直在`開發人員模式`下運行我們的應用程式。這使我們可以輕鬆地在本地運行我們的應用程式 - 但我們真正想要的是能夠將我們的應用程式提供給其他人。" - -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -#, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "但是,我們不想教導使用者如何安裝 Python、建立虛擬環境、複製 git 儲存庫以及在開發人員模式下執行 Briefcase。我們寧願只給他們一個安裝程序,然後讓應用程式正常工作。" - -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -#, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "公文包可用於打包您的應用程式以透過這種方式進行分發。" - -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 -#, fuzzy -msgid "Creating your application scaffold" -msgstr "創建您的應用程式支架" - -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -#, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "由於這是我們第一次打包應用程序,因此我們需要創建一些配置文件和其他腳手架來支援打包過程。從`helloworld`目錄中,運行:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -#, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "您可能剛剛在終端機中看到了內容頁面……那麼剛剛發生了什麼?公事包做了以下事情:" - -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -#, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "它**生成了一個應用程式模板**。建立本機安裝程式需要大量檔案和配置,超出了實際應用程式的程式碼。對於同一平台上的每個應用程式來說,這個額外的腳手架幾乎都是相同的,除了正在構建的實際應用程式的名稱之外- 因此,Briefcase 為其支援的每個平台提供了一個應用程式模板。此步驟將推出模板,根據需要替換應用程式的名稱、捆綁 ID 和設定檔的其他屬性,以支援您正在建置的平台。" - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -#, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "如果您對公文包提供的範本不滿意,您可以提供自己的範本。但是,在使用公文包的預設範本有更多經驗之前,您可能不想這樣做。" - -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -#, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "它**下載並安裝了支援包**。公事包採用的打包方法最好被描述為`可能有效的最簡單的方法`——它提供了一個完整的、獨立的 Python 解釋器,作為它構建的每個應用程式的一部分。這在空間效率方面稍顯低下 - 如果您有 5 個使用 Briefcase 打包的應用程序,那麼您將擁有 5 個 Python 解釋器副本。然而,這種方法保證每個應用程式都是完全獨立的,使用已知可與該應用程式配合使用的特定 Python 版本。" - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -#, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "同樣,Briefcase 為每個平台提供了預設的支援包;如果需要,您可以提供自己的支援包,並將該包包含在建置過程中。如果您需要啟用 Python 解釋器中的特定選項,或者想要從標準庫中刪除執行時間不需要的模組,您可能需要執行此操作。" - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -#, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "公文包維護支援包的本機緩存,因此一旦您下載了特定的支援包,該快取的副本將在未來的版本中使用。" - -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -#, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "它**安裝了應用程式要求**。您的應用程式可以指定運行時所需的任何第三方模組。這些將使用`pip`安裝到應用程式的安裝程式中。" - -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -#, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "它**安裝了您的應用程式代碼**。您的應用程式將擁有自己的程式碼和資源(例如,運行時所需的映像);這些檔案被複製到安裝程式中。" - -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -#, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "它 **安裝了應用程式所需的資源。** 最後,它添加了安裝程式本身所需的任何其他資源。這包括需要附加到最終應用程式的圖示和啟動螢幕圖像等內容。" - -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -#, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "完成後,如果您查看專案目錄,您現在應該會看到與您的平台(`macOS`、`linux`或`windows`)相對應的目錄,其中包含其他檔案。這是您的應用程式的特定於平台的打包配置。" - -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece -#, fuzzy -msgid "Building your application" -msgstr "建立您的應用程式" - -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -#, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "現在您可以編譯您的應用程式。此步驟執行應用程式在目標平台上可執行所需的任何二進位編譯。" - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -#, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "在 macOS 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要對二進位內容進行簽名,以便可以執行。此簽名是 *臨時* 簽名 - 它僅適用於 *您的* 機器;如果您想將應用程式分發給其他人,則需要提供完整的簽名。" - -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -#, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "此步驟完成後,`build`資料夾將包含一個`helloworld-0.0.1`資料夾,其中包含 Linux`/usr`檔案系統的鏡像。該檔案系統鏡像將包含一個包含`helloworld`二進位檔案的`bin`資料夾,以及支援該二進位檔案所需的`lib`和`share`資料夾。" - -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -#, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "在 Windows 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要編寫一些元數據,以便應用程式知道其名稱、版本等。" - -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "觸發防毒" - -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -#, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "由於此元資料在`create`命令期間直接寫入從範本推出的預編譯二進位檔案中,因此這可能會觸發電腦上執行的防毒軟體並阻止寫入元資料。在這種情況下,指示防毒軟體允許該工具(名為`rcedit-x64.exe`)運行並重新執行上述命令。" - -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 -#, fuzzy -msgid "Running your app" -msgstr "運行您的應用程式" - -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 -#, fuzzy -msgid "You can now use Briefcase to run your application:" -msgstr "現在您可以使用 Briefcase 來運行您的應用程式:" - -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -#, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "這將開始使用`build`命令的輸出來執行您的本機應用程式。" - -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -#, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "您可能會注意到應用程式運行時的外觀存在一些細微的差異。例如,作業系統顯示的圖示和名稱可能與您在開發人員模式下運行時看到的圖示略有不同。這也是因為您正在使用打包的應用程序,而不僅僅是運行 Python 程式碼。從作業系統的角度來看,您現在運行的是`應用程式`,而不是`Python 程式`,這反映在應用程式的顯示方式上。" - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." -msgstr "" - -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 -#, fuzzy -msgid "Building your installer" -msgstr "建立您的安裝程式" - -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -#, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "現在,您可以使用`package`命令打包您的應用程式以進行分發。 package 命令執行將鷹架專案轉換為最終的可分發產品所需的任何編譯。根據平台的不同,這可能涉及編譯安裝程式、執行程式碼簽署或執行其他預分發任務。" - -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -#, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "`dist` 資料夾將包含一個名為`Hello World-0.0.1.dmg` 的檔案。如果您在 Finder 中找到此文件,然後雙擊其圖標,您將安裝 DMG,為您提供 Hello World 應用程式的副本以及指向您的應用程式資料夾的鏈接,以便於安裝。將應用程式檔案拖曳到應用程式中,您就已經安裝了應用程式。將 DMG 檔案發送給朋友,他們應該能夠執行相同的操作。" - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -#, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" - -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -#, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "根據您的 Linux 發行版,打包步驟的輸出將略有不同。如果您使用的是 Debian 派生的發行版,您將看到:" - -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c -#, fuzzy -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "`dist` 資料夾將包含產生的`.deb` 檔案。" - -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee -#, fuzzy -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "如果您使用的是基於 RHEL 的發行版,您將看到:" - -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 -#, fuzzy -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "`dist` 資料夾將包含產生的`.rpm` 檔案。" - -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 -#, fuzzy -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "如果您使用的是基於 Arch 的發行版,您將看到:" - -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -#, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "`dist` 資料夾將包含產生的`.pkg.tar.zst` 檔案。" - -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae -#, fuzzy -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "目前不支援打包其他 Linux 發行版。" - -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -#, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "如果您想為您正在使用的 Linux 發行版以外的發行版建立軟體包,Briefcase 也可以提供協助 - 但您需要安裝 Docker。" - -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -#, fuzzy -msgid "Official installers for `Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "[Docker Engine]{1} 的官方安裝程式可用於一系列 Unix 發行版。請遵循適合您平台的說明;但是,請確保不要以`無根`模式安裝 Docker。" - -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -#, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "安裝 Docker 後,您應該能夠啟動 Linux 容器 - 例如:" - -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -#, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "將在 Ubuntu 22.04 Docker 容器內向您顯示 Unix 提示字元(類似`root@844444e31cff9:/#`)。鍵入 Ctrl-D 退出 Docker 並返回本機 shell。" - -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -#, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "安裝 Docker 後,您可以透過傳入 Docker 映像作為參數,使用 Briefcase 為 Briefcase 支援的任何 Linux 發行版建置套件。例如,要為 Ubuntu 22.04 (Jammy) 建立 DEB 包,無論您使用什麼作業系統,都可以運行:" - -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -#, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "這將為您選擇的作業系統下載 Docker 映像,建立一個能夠運行 Briefcase 建置的容器,並在映像內建置應用程式包。完成後,`dist` 資料夾將包含目標 Linux 發行版的軟體包。" - -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -#, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -#, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" - -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -#, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "此步驟完成後,`dist`資料夾將包含一個名為 `Hello_World-0.0.1.msi` 的檔案。如果您雙擊此安裝程式來運行它,您應該經歷熟悉的 Windows 安裝過程。安裝完成後,開始功能表中將出現一個 \"Hello World\" 項目。" - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。但是當我們需要更新應用程式中的程式碼時會發生什麼?我們如何將這些更新添加到打包的應用程式中?請參閱 [教程 4][./tutorial-4] 以了解..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po deleted file mode 100644 index 26f95848..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po +++ /dev/null @@ -1,176 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" -"PO-Revision-Date: 2024-04-10 21:02+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" - -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "教程 4 - 更新您的應用程式" - -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -#, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "在上一個教程中,我們將應用程式打包為本機應用程式。如果您正在處理現實世界的應用程序,這不會是故事的結局 - 您可能會進行一些測試,發現問題,並需要進行一些更改。即使您的應用程式非常完美,您最終也會希望發布經過改進的應用程式的第 2 版。" - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 -#, fuzzy -msgid "So - how do you update your installed app when you make code changes?" -msgstr "那麼 - 當您更改程式碼時如何更新已安裝的應用程式?" - -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d -#, fuzzy -msgid "Updating application code" -msgstr "更新應用程式程式碼" - -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -#, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "目前,當您按下按鈕時,我們的應用程式會列印到控制台。然而,GUI 應用程式不應該真正使用控制台進行輸出。他們需要使用對話框與使用者進行交流。" - -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -#, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "讓我們新增一個對話框來打招呼,而不是寫入控制台。修改`say_hello`回調,使其看起來像這樣:" - -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." -msgstr "" - -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -#, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "這會指示 Toga 在按下按鈕時開啟模式對話方塊。" - -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -#, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "如果執行`briefcase dev`,輸入名稱,然後按按鈕,您將看到新的對話方塊:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hello World 教學 4 對話框,在 macOS 上" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Linux 上的 Hello World 教學 4 對話框" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Hello World 教學 4 對話框,在 Windows 上" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 -#, fuzzy -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "但是,如果執行`briefcase run`,則不會出現該對話方塊。" - -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "為什麼是這樣?好吧,`briefcase dev` 通過就地運行您的代碼來運行- 它嘗試為您的代碼生成盡可能真實的運行時環境,但它不提供或使用任何平台基礎設施來將您的代碼包裝為應用程式.打包應用程式的過程的一部分涉及將程式碼複製到應用程式包中 - 目前,您的應用程式中仍然包含舊程式碼。" - -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -#, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "因此 - 我們需要告訴公文包更新您的應用程序,複製新版本的代碼。我們*可以*透過刪除舊平台目錄並從頭開始來做到這一點。但是,Briefcase 提供了一種更簡單的方法 - 您可以更新現有捆綁應用程式的程式碼:" - -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -#, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "如果Briefcase找不到鷹架模板,它會自動呼叫`create`來產生一個新的鷹架。" - -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -#, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "現在我們已經更新了安裝程式碼,然後我們可以運行`briefcase build`來重新編譯應用程序,運行`briefcase run`來運行更新後的應用程序,以及運行`briefcase package`來重新打包應用程式用於分發。" - -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -#, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(macOS 用戶,請記住,如 [教學 3 所述`,對於本教程,我們建議使用`--adhoc-sign`標誌運行`briefcase package`,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" - -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 -#, fuzzy -msgid "Update and run in one step" -msgstr "一步更新並運行" - -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -#, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "如果您快速迭代程式碼更改,您可能需要更改程式碼、更新應用程序,然後立即重新執行您的應用程式。對於大多數目的,開發人員模式(`briefcase dev`)將是進行這種快速迭代的最簡單方法;但是,如果您正在測試應用程式如何作為本機二進位檔案運行,或者尋找僅在應用程式處於打包形式時才會出現的錯誤,則可能需要重複調用`briefcase run`。為了簡化更新和執行捆綁應用程式的過程,Briefcase 有一個快捷方式來支援這種使用模式 - `run` 命令上的`-u`(或`--update`)選項。" - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -#, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "讓我們嘗試進行另一個更改。您可能已經注意到,如果您不在文字輸入方塊中鍵入姓名,則對話方塊將顯示 \"Hello,\"。讓我們再次修改 `say_hello` 函數來處理這種邊緣情況。" - -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -#, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "在檔案頂部的匯入和`class HelloWorld`定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" - -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e -#, fuzzy -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "然後,修改`say_hello`回調以使用這個新的實用方法:" - -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -#, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "在開發模式下運行您的應用程式(使用`briefcase dev`)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" - -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -#, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "package 命令也接受`-u`參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包,則可以運行`briefcase package -u`。" - -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發,並且我們已經能夠更新應用程式中的程式碼。" - -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "但行動裝置呢?在 [教程 5][tutorial-5/index] 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po deleted file mode 100644 index 6664eaee..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po +++ /dev/null @@ -1,256 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-04-10 21:02+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "教學 5 - 行動裝置:Android" - -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -#, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "現在,我們將獲取我們的應用程序,並將其部署為 Android 應用程式。" - -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -#, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "將應用程式部署到 Android 的過程與部署為桌面應用程式的過程非常相似。 Briefcase 負責安裝 Android 依賴項,包括 Android SDK、Android 模擬器和 Java 編譯器。" - -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 -#, fuzzy -msgid "Create an Android app and compile it" -msgstr "創建一個 Android 應用程式並編譯它" - -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -#, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "首先,執行`create`命令。這將下載 Android 應用程式模板並向其中添加您的 Python 程式碼。" - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "當您第一次執行`briefcase create android`時,Briefcase 會下載 Java JDK 和 Android SDK。文件大小和下載時間可能相當大;這可能需要一段時間(10 分鐘或更長時間,具體取決於您的 Internet 連線速度)。下載完成後,系統會提示您接受 Google 的 Android SDK 授權。" - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -#, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "完成後,我們的專案中將有一個 `build\\helloworld\\android\\gradle` 目錄,其中包含具有 Gradle 建置配置的 Android 專案。該專案將包含您的應用程式程式碼以及包含 Python 解釋器的支援套件。" - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -#, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "然後我們可以使用 Briefcase 的 `build` 命令將其編譯成 Android APK 應用程式檔案。" - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "Gradle 可能看起來卡住了" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -#, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "在`briefcase build android`步驟中,Gradle(Android 平台建置工具)將列印`CONFIGURING: 100%`,似乎什麼也沒做。別擔心,它並沒有卡住 - 它正在下載更多 Android SDK 組件。根據您的網路連線速度,這可能還需要 10 分鐘(或更長)。這種滯後應該只在你第一次執行`build`時發生;這些工具會被緩存,並且在您的下一個建置中,將使用快取的版本。" - -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -#, fuzzy -msgid "Run the app on a virtual device" -msgstr "在虛擬設備上運行應用程式" - -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -#, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "現在我們已經準備好運行我們的應用程式了。您可以使用 Briefcase 的`run`命令在 Android 裝置上執行該應用程式。讓我們從在 Android 模擬器上運行開始。" - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -#, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "要運行您的應用程序,請運行`briefcase run android`。當您執行此操作時,系統會提示您提供可以執行該應用程式的裝置清單。最後一項始終是建立新 Android 模擬器的選項。" - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "我們現在可以選擇我們想要的設備。選擇`建立新的 Android 模擬器`選項,並接受裝置名稱的預設選擇 (`beePhone`)。" - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -#, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "公事包`run`將自動啟動虛擬設備。當裝置啟動時,您將看到 Android 標誌:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -#, fuzzy -msgid "Android virtual device booting" -msgstr "Android虛擬裝置啟動" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -#, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "裝置完成啟動後,Briefcase 將在裝置上安裝您的應用程式。您將短暫地看到一個啟動器畫面:" - -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -#, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Android 虛擬裝置已完全啟動,位於啟動器螢幕上" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -#, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "然後該應用程式將啟動。應用程式啟動時您將看到啟動畫面:" - -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -#, fuzzy -msgid "App splash screen" -msgstr "應用程式啟動畫面" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -#, fuzzy -msgid "The emulator didn't start!" -msgstr "模擬器沒有啟動!" - -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -#, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "Android 模擬器是一款複雜的軟體,依賴許多硬體和作業系統功能 - 這些功能在舊機器上可能無法使用或啟用。如果您在啟動 Android 模擬器時遇到任何困難,請參閱 Android 開發人員文件的 [要求與建議]{1} 部分。" - -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "應用程式第一次啟動時,需要將自身解壓縮到裝置上。這可能需要幾秒鐘。解壓縮後,您將看到我們桌面應用程式的 Android 版本:" - -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -#, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "教程 2 中的應用程式已全面啟動" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -#, fuzzy -msgid "Demo app fully launched" -msgstr "演示應用程式全面啟動" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -#, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "如果您無法看到應用程式啟動,您可能需要檢查執行`briefcase run`的終端並查找任何錯誤訊息。" - -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." -msgstr "" - -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -#, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "將來,如果您想在該裝置上運行而不使用選單,您可以將模擬器的名稱提供給Briefcase,使用`briefcase run android -d @beePhone`直接在虛擬裝置上執行。" - -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 -#, fuzzy -msgid "Run the app on a physical device" -msgstr "在物理設備上運行應用程式" - -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -#, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "如果您有實體 Android 手機或平板電腦,則可以使用 USB 電纜將其連接到計算機,然後使用公文包定位您的實體設備。" - -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -#, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android 要求您先準備好設備,然後才能用於開發。您需要對裝置上的選項進行 2 項變更:" - -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c -#, fuzzy -msgid "Enable developer options" -msgstr "啟用開發者選項" - -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e -#, fuzzy -msgid "Enable USB debugging" -msgstr "啟用USB調試" - -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation]{1}." -msgstr "有關如何進行這些更改的詳細信息,請參閱 [Android 開發人員文件]{1}。" - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "完成這些步驟後,當您執行`briefcase run android`時,您的裝置應該會出現在可用裝置清單中。" - -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -#, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "在這裡,我們可以在部署清單中看到一個新的實體設備及其序號 - 在本例中為 Pixel 3a。將來,如果您想在該裝置上運行而不使用選單,您可以向Briefcase提供手機的序號(在本例中為`briefcase run android -d 94ZZY0LNE8`)。這將直接在設備上運行,無需提示。" - -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "我的設備沒有出現!" - -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -#, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "如果您的裝置完全沒有出現在此清單中,則可能是您尚未啟用 USB 偵錯(或裝置未插入!)。" - -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -#, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "如果您的裝置出現,但被列為`未知裝置(未授權開發)`,則表示開發者模式尚未正確啟用。重新執行 [啟用開發人員選項的步驟]{1},並重新執行`briefcase run android``。" - -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po deleted file mode 100644 index 1f9eeda7..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ /dev/null @@ -1,99 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" -"PO-Revision-Date: 2024-04-08 11:58+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: zh_TW\n" -"Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "教學 5 - 行動裝置:iOS" - -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -#, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "一旦我們安裝了 Xcode,我們就可以將我們的應用程式部署為 iOS 應用程式。" - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "將應用程式部署到 iOS 的過程與部署為桌面應用程式的過程非常相似。首先,執行`create`命令 - 但這一次,我們指定要建立一個 iOS 應用程式:" - -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -#, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "完成後,我們將擁有一個`build/helloworld/ios/xcode`目錄,其中包含 Xcode 專案以及應用程式所需的支援庫和應用程式程式碼。" - -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -#, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "然後,您可以使用`briefcase build iOS`來使用 Briefcase 來編譯您的應用程式:" - -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -#, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "現在我們已經準備好使用`briefcase run iOS`來運行我們的應用程式。系統會提示您選擇要編譯的設備;如果您安裝了多個 iOS SDK 版本的模擬器,系統也可能會詢問您要定位哪個 iOS 版本。您顯示的選項可能與此輸出中顯示的選項不同 - 至少,設備清單可能會有所不同。就我們的目的而言,您選擇哪個模擬器並不重要。" - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -#, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "這將啟動 iOS 模擬器、安裝您的應用程式並啟動它。您應該會看到模擬器啟動,並最終打開您的 iOS 應用程式:" - -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World 教學 5 窗口,iOS 上" - -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." -msgstr "" - -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -#, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "如果您事先知道要定位哪個 iOS 模擬器,則可以透過提供`-d`(或`--device`)選項來告訴 Briefcase 使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" - -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -#, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "如果您有多個可用的 iOS 版本,公事包將選擇最高的 iOS 版本;如果你想選擇一個特定的 iOS 版本,你可以告訴它使用該特定版本:" - -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d -#, fuzzy -msgid "Or, you can name a specific device UDID:" -msgstr "或者,您可以命名特定設備 UDID:" - -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "要編譯 iOS 應用程序,我們需要 Xcode,它可以從`macOS App Store `免費獲得。" - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po deleted file mode 100644 index dcba2f1b..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ /dev/null @@ -1,55 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" -"PO-Revision-Date: 2024-04-08 11:58+0800\n" -"Last-Translator: Russell Keith-Magee \n" -"Language: zh_TW\n" -"Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -#, fuzzy -msgid "Tutorial 5 - Taking it Mobile" -msgstr "教程 5 - 移動使用" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -#, fuzzy -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "到目前為止,我們已經在桌面上運行和測試我們的應用程式。但是,BeeWare 還支援行動平台 - 我們編寫的應用程式也可以部署到您的行動裝置!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -#, fuzzy -msgid "iOS applications can only be compiled on macOS." -msgstr "iOS 應用程式只能在 macOS 上編譯。" - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 -#, fuzzy -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[讓我們為 iOS 建立我們的應用程式!`" - -#~ msgid ":doc:`Let's build our app for Android!][android]" -#~ msgstr ":doc:`讓我們為 Android 建立應用程式!`" - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po deleted file mode 100644 index f4465f76..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po +++ /dev/null @@ -1,116 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-08 10:13+0800\n" -"PO-Revision-Date: 2024-04-11 22:01+0000\n" -"Last-Translator: sus \n" -"Language-Team: Chinese (Traditional) \n" -"Language: zh_TW\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.5-dev\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -msgid "Tutorial 6 - Put it on the web!" -msgstr "教程 6 - 將其放在網路上!" - -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "除了支援行動平台外,Toga 還支援網頁!使用與部署桌面和行動應用程式相同的 API," -"您可以將應用程式部署為單頁 Web 應用程式。" - -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -msgid "Proof of Concept" -msgstr "概念驗證" - -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "" -"Toga Web 後端是所有 Toga 後端中最不成熟的。它已經足夠成熟,可以展示一些功能," -"但它可能有缺陷,並且會缺少其他平台上可用的許多小部件。此時,Web 部署應被視為 " -"`概念驗證` - 足以演示可以做什麼,但不足以依賴認真的開發。" - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "如果您對本教學的這一步有疑問,可以跳到下一頁。" - -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be -msgid "Deploying as a web app" -msgstr "部署為 Web 應用程式" - -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "" -"部署為單頁 Web 應用程式的過程遵循相同的熟悉模式 - " -"建立應用程序,然後建立應用程序,然後運行它。然而,Briefcase " -"有點聰明,如果您嘗試運行應用程序,並且 Briefcase 確定該應用程式尚未針對目標平" -"台創建或構建,它將為您執行創建和構建步驟。由於這是我們第一次運行該應用程式的" -"網絡,我們可以使用一個命令執行所有三個步驟:" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "這將開啟一個網頁瀏覽器,指向 [http://127.0.0.1:8080 `" -"__ :" - -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Hello World 教學 6 對話框,在瀏覽器中" - -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "如果您輸入您的姓名並按一下該按鈕,將會出現一個對話方塊。" - -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf -msgid "How does this work?" -msgstr "這個怎麼用?" - -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "" -"此 Web 應用程式是一個靜態網站 - 單一 HTML 來源頁面,帶有一些 CSS 和其他資源。" -" Briefcase 已啟動本機 Web " -"伺服器來提供此頁面,以便您的瀏覽器可以查看該頁面。如果您想將此網頁投入生產," -"您可以將 `www` 資料夾的內容複製到任何可以提供靜態內容的 Web 伺服器上。" - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "" -"但是當你按下按鈕時,你正在運行 Python 程式碼......這是如何運作的? Toga 使用 " -"[PyScript]{1} 在瀏覽器中提供 Python 解譯器。 Briefcase " -"將應用程式的程式碼打包為 PyScript " -"可以在瀏覽器中載入的輪子。載入頁面後,應用程式程式碼在瀏覽器中運行," -"使用瀏覽器 DOM 建立 " -"UI。當您按一下某個按鈕時,該按鈕會在瀏覽器中執行事件處理程式碼。" - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "" -"雖然我們現在已經在桌面、行動和網路上部署了這個應用程序,但該應用程式相當簡單" -",並且不涉及任何第三方程式庫。我們可以在我們的應用程式中包含 Python 套件索引 " -"(PyPI) 中的函式庫嗎?前往 :doc:`教學 7` 找出..." diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po deleted file mode 100644 index d6c20b34..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ /dev/null @@ -1,379 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-04-10 21:02+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "教學 7 - 啟動此(第三方)" - -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -#, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "到目前為止,我們建立的應用程式只使用了我們自己的程式碼,加上 BeeWare 提供的程式碼。但是,在現實應用程式中,您可能需要使用從 Python Package Index (PyPI) 下載的第三方程式庫。" - -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 -#, fuzzy -msgid "Let's modify our app to include a third-party library." -msgstr "讓我們修改我們的應用程式以包含第三方程式庫。" - -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 -msgid "Adding a package" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -#, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "讓我們為我們的應用程式新增一個`httpx` API 呼叫。將導入新增至`app.py`頂部以導入`httpx`:" - -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "然後修改`say_hello()`回調,使其看起來像這樣:" - -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -#, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "讓我們在公文包開發者模式下運行更新後的應用程序,以檢查我們的更改是否有效。" - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "發生了什麼事?我們已將`httpx`新增至我們的*程式碼*中,但我們尚未將其新增至我們的開發虛擬環境。我們可以透過用`pip`安裝`httpx`來解決這個問題,然後重新執行`briefcase dev`:" - -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "當您輸入名稱並按下按鈕時,您應該會看到一個類似以下內容的對話框:" - -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hello World 教學 7 對話框,在 macOS 上" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Linux 上的 Hello World 教學 7 對話框" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Hello World 教學 7 對話框,在 Windows 上" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -#, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "我們現在有了一個可以使用的應用程序,使用第三方庫,在開發模式下運行!" - -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe -#, fuzzy -msgid "Running the updated app" -msgstr "運行更新的應用程式" - -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 -#, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼,因此我們需要遵循 [教程 4][tutorial-4] 中的相同步驟:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c -#, fuzzy -msgid "Update the code in the packaged app:" -msgstr "更新打包應用程式中的程式碼:" - -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd -#, fuzzy -msgid "Rebuild the app:" -msgstr "重建應用程式:" - -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc -#, fuzzy -msgid "And finally, run the app:" -msgstr "最後,運行應用程式:" - -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤,以及崩潰對話框:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Hello World 教學 7 應用程式崩潰,在 macOS 上" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Hello World 教學 7 應用程式崩潰,在 Windows 上" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console" -msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤:" - -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "再一次,應用程式無法啟動,因為`httpx`已安裝 - 但為什麼呢?我們不是已經安裝了`httpx`了嗎?" - -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 -#, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "我們有 - 但僅限於開發環境。您的開發環境完全位於您的電腦本機 - 並且僅在您明確啟動它時才啟用。儘管Briefcase 有開發模式,但您使用Briefcase 的主要原因是打包您的程式碼,以便提供給其他人。" - -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 -#, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "確保其他人擁有一個包含其所需一切的Python環境的唯一方法是建立一個完全隔離的Python環境。這意味著有一個完全隔離的 Python 安裝和一組完全隔離的依賴項。這就是當您執行`briefcase build`時,Briefcase 正在建置的內容—一個獨立的 Python 環境。這也解釋了為什麼未安裝`httpx` - 它已安裝在您的*開發*環境中,但未安裝在打包的應用程式中。" - -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 -#, fuzzy -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "因此 - 我們需要告訴 Briefcase 我們的應用程式具有外部相依性。" - -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f -#, fuzzy -msgid "Updating dependencies" -msgstr "更新依賴項" - -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 -#, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "在應用程式的根目錄中,有一個名為`pyproject.toml`的檔案。該檔案包含您最初執行`briefcase new`時提供的所有應用程式設定詳細資訊。" - -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d -#, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` 被分成幾個部分;其中一節描述了您的應用程式的設定::" - -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 -#, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "`requires` 選項描述了我們應用程式的依賴關係。它是一個字串列表,指定您想要包含在應用程式中的庫(以及可選的版本)。" - -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f -#, fuzzy -msgid "Modify the `requires` setting so that it reads:" -msgstr "修改`requires`設置,使其顯示為:" - -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb -#, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "透過添加此設置,我們告訴 Briefcase`當您建立我的應用程式時,在應用程式包中執行`pip install httpx``。任何可以作為`pip install`合法輸入的內容都可以在這裡使用 - 因此,您可以指定:" - -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 -#, fuzzy -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "特定的庫版本(例如`httpx==0.19.0`);" - -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba -#, fuzzy -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "一系列庫版本(例如`httpx>=0.19`);" - -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 -#, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "git 儲存庫的路徑(例如,`\"git+https://github.com/encode/httpx\"`);或者" - -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -#, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "本機檔案路徑(但是 - 請注意:如果您將程式碼提供給其他人,則該路徑可能不會存在於他們的電腦上!)" - -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 -#, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "在`pyproject.toml`中,您會注意到與作業系統相關的其他部分,例如`[tool.briefcase.app.helloworld.macOS]`和`[tool.briefcase.app.helloworld`.windows]` 。這些部分*也*有一個`requires`設定。這些設定允許您定義其他特定於平台的依賴項 - 因此,例如,如果您需要特定於平台的庫來處理應用程式的某些方面,您可以在特定於平台的`requires`部分中指定該庫,並且該設定將僅用於該平台。您會注意到`toga`庫都是在特定於平台的`requires`部分中指定的 - 這是因為顯示使用者介面所需的庫是特定於平台的。" - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 -#, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "在我們的例子中,我們希望在所有平台上安裝`httpx`,因此我們使用應用程式層級`requires`設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會安裝特定於平台的依賴項。" - -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 -#, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "現在我們已經告訴 Briefcase 我們的附加要求,我們可以嘗試再次打包我們的應用程式。確保您已將變更儲存到`pyproject.toml`,然後再次更新您的應用程式 - 這次傳入`-r`標誌。這告訴 Briefcase 更新打包應用程式中的要求:" - -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e -#, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "更新後,您可以運行`briefcase build`和`briefcase run` - 您應該會看到打包的應用程序,具有新的對話框行為。" - -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 -#, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "用於更新需求的`-r`選項也受到`build`和`run`命令的支持,因此如果您想一步更新、構建和運行,您可以使用`briefcase`運行-u -r`。" - -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e -#, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安裝的`pip`都可以加入您的需求。在行動和網路平台上,[您的選擇略有限制]{1}。" - -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -#, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare 可以為一些流行的二進位模組(包括`numpy`、`pandas`和`cryptography`)提供二進位檔案。 *通常* 可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹性教程的範圍。" - -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." -msgstr "" - -#~ msgid "Accessing an API" -#~ msgstr "存取 API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "應用程式需要執行的常見任務是在 Web API 上發出請求以檢索數據,並向使用者顯示該數據。這是一個玩具應用程序,因此我們沒有*真正的* API 可供使用,因此我們將使用 [{JSON} Placeholder API]{1} 作為來源資料。" - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "{JSON} Placeholder API 有許多`假`API 端點,您可以將其用作測試資料。這些 API 之一是`/posts/`端點,它會傳回虛假的部落格文章。如果您在瀏覽器中開啟 `https://jsonplaceholder.typicode.com/posts/42`,您將獲得一個描述單一貼文的 JSON 有效負載 - 一些 [Lorum ipsum]{1} ID 為42 的部落格文章的內容。" - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Python 標準函式庫包含存取 API 所需的所有工具。然而,內建的 API 等級非常低。它們是 HTTP 協定的良好實作 - 但它們要求使用者管理大量低階細節,例如 URL 重新導向、會話、驗證和有效負載編碼。作為`普通瀏覽器用戶`,您可能習慣於將這些詳細資訊視為理所當然,因為瀏覽器會為您管理這些詳細資訊。" - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "因此,人們開發了第三方函式庫來包裝內建 API,並提供更簡單的 API,更適合日常瀏覽器體驗。我們將使用其中一個函式庫來存取 {JSON} Placeholder API - 一個名為 [httpx]{1} 的函式庫。" - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "這將更改`say_hello()`回調,以便在調用它時,它將:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "對 JSON 佔位符 API 發出 GET 請求以取得 post 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "將回應解碼為 JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "擷取貼文內文;和" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "包括該帖子的正文作為對話框的文字。" - -#~ msgid "Some binary packages may not be available" -#~ msgstr "某些二進位套件可能不可用" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "簡而言之;任何 *純Python* 套件(即,*不* 包含二進位模組的套件)都可以毫無困難地使用。但是,如果您的依賴項包含二進位元件,則必須對其進行編譯;目前,大多數Python套件不提供非桌面平台的編譯支援。" - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 [教學 8][tutorial-8] 找出..." - diff --git a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po deleted file mode 100644 index 1e655b37..00000000 --- a/updated-locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po +++ /dev/null @@ -1,355 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" -"PO-Revision-Date: 2024-04-11 22:01+0000\n" -"Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" - -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -msgid "Tutorial 8 - Making it Smooooth" -msgstr "教學 8 - 使其順~暢" - -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 -msgid "Accessing an API" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 -#, fuzzy -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" - -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 -msgid "decode the response as JSON;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 -msgid "extract the body of the post; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d -#, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "除非您擁有 **真正** 快速的網路連接,否則您可能會注意到,當您按下按鈕時,應用程式的 GUI 會鎖定一點。這是因為我們發出的 Web 請求是 **同步** 的。當我們的應用程式發出 Web 請求時,它會等待 API 回傳回應,然後再繼續。在等待時,它 **不允許** 應用程式重繪 - 結果,應用程式停止回應。" - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe -msgid "GUI Event Loops" -msgstr "GUI 事件循環(Event loop)" - -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "為了理解為什麼會發生這種情況,我們需要深入研究 GUI 應用程式如何運作的細節。具體情況因平台而異;但無論您使用什麼平台或 GUI 環境,概念都是相同的。" - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "從根本上來說,GUI 應用程式是一個看起來像這樣的循環:" - -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 -#, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "此循環稱為 *事件循環* 。 (這些不是實際的方法名稱 - 它是 `偽代碼` 中發生的情況的說明)。" - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "當您按一下按鈕、拖曳捲軸或按下按鍵時,代表你產生一個 `事件` 。該 `事件` 被放入佇列中,應用程式將在下次有機會處理事件佇列時處理該事件。響應事件而觸發的程式碼稱為 `event handler` 。這些事件處理程序作為 `process_events()` 呼叫的一部分被呼叫。" - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "一旦應用程式處理完所有可用事件,它將 `redraw()` GUI。這考慮了事件對應用程式顯示造成的任何變化,以及作業系統中發生的任何其他變化 - 例如,另一個應用程式的視窗可能會遮蓋或顯示我們應用程式視窗的一部分,我們的應用程式的重繪需要反映目前可見的視窗部分。" - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "需要注意的重要細節:當應用程式正在處理事件時, *它無法重繪* ,並且 *它無法處理其他事件* 。" - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "這意味著事件處理程序中包含的任何使用者邏輯都需要快速完成。使用者將觀察到完成事件處理程序的任何延遲,因為 GUI 更新速度會減慢(或停止)。如果延遲足夠長,您的作業系統可能會將此報告為問題 - macOS `beachball` 和 Windows `spinner` 圖示是作業系統告訴您您的應用程式在事件處理程序中花費的時間太長。" - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "`更新標籤` 或 `重新計算輸入總數` 等簡單操作很容易快速完成。然而,有許多操作無法快速完成。如果您正在執行複雜的數學計算,或對檔案系統上的所有檔案進行索引,或執行網路請求,則您無法 `快速完成` - 那些操作本質上很慢。" - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "那麼,我們如何在 GUI 應用程式中執行耗時的操作呢?" - -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d -msgid "Asynchronous programming" -msgstr "非同步程式設計" - -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "我們需要的是一種方法讓耗時的event handler執行時告訴應用程序,只要可以從中斷的地方恢復,就可以暫時將控制權釋放回事件循環。由應用程式決定何時釋放它;但如果應用程式定期釋放對事件循環的控制,我們就可以擁有一個長時間運行的事件處理程序 *並* 維護一個響應式 UI。" - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "我們可以透過使用 `非同步程式設計` 來做到這一點。非同步程式設計是一種描述程式的方式,允許解釋器同時運行多個函數,在所有並發運行的函數之間共用資源。" - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d -#, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "非同步函數(稱為 *協程* )需要明確宣告為非同步。他們還需要在內部聲明何時存在將上下文更改為另一個協程的機會。" - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 -#, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{1} module provides some other useful tools and primitives for asynchronous coding." -msgstr "在Python中,非同步程式設計是使用 `async` 和 `await` 關鍵字以及 [asyncio]{1} 中的模組來實現的。標準庫。 `async` 關鍵字允許我們宣告函數是非同步協同例程。 `await` 關鍵字提供了一種聲明何時存在將上下文更改為另一個協同例程的機會的方法。 [asyncio]{1} 模組為非同步程式設計提供了一些其他有用的工具和語法。" - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d -#, fuzzy -msgid "Making the tutorial asynchronous" -msgstr "使教學異步" - -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" - -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 -#, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "與先前的版本相比,此程式碼僅發生了 4 處變更:" - -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "建立的客戶端是異步 `AsyncClient()` ,而不是同步 `Client()` 。這告訴 `httpx` 它應該以非同步模式運行,而不是同步模式。" - -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "用於建立客戶端的上下文管理器被標記為 `async` 。這告訴Python,當進入和退出上下文管理器時,有機會釋放控制權。" - -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 -#, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga 允許您使用常規方法或非同步協同例程作為處理程序; Toga 管理幕後的一切,以確保根據需要呼叫或等待處理程序。" - -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 -#, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "如果您儲存這些變更並重新執行應用程式(在開發模式下使用 `briefcase dev` ,或透過更新並重新執行打包的應用程式),應用程式不會有任何明顯的變更。但是,當您單擊按鈕觸發對話框時,您可能會注意到一些細微的改進:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "該按鈕返回到 `未單擊` 狀態,而不是停留在 `單擊` 狀態。" - -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "\"沙灘球\"/\"漏斗\" 圖示不會再出現" - -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "如果您在等待對話方塊出現時移動/調整應用程式視窗的大小,則該視窗將會重新繪製。" - -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "如果您嘗試開啟應用程式選單,該選單將立即出現。" - -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 -msgid "Created a new GUI app project;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 -msgid "Run that app in development mode;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 -msgid "Run the app as a web app;" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 -msgid "So - where to from here?" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "" - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "我們現在擁有一個流暢且響應迅速的應用程序,即使它正在等待緩慢的 API。但是,當我們繼續進一步開發應用程式時,如何確保該應用程式繼續運行?我們如何測試我們的應用程式?前往 [教學 9[ 找找看..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "該方法被定義為 `async def` ,而不僅僅是 `def` 。這告訴 Python 該方法是一個非同步協同例程。" - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "`get` 呼叫是使用 `await` 關鍵字進行的。這指示應用程式在等待網路回應時,應用程式可以釋放對事件循環的控制。" - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - From f7249e3c96c9ed81145891871c79e8107c637b5a Mon Sep 17 00:00:00 2001 From: Kattni Date: Fri, 15 Aug 2025 22:14:07 -0400 Subject: [PATCH 07/24] Tooling, translation files/templates, content. --- .gitignore | 8 +- .pre-commit-config.yaml | 23 - .readthedocs.yaml | 21 +- README.md | 8 +- docs/config.yml | 23 +- docs/en/how-to/index.md | 20 +- docs/en/index.md | 11 +- docs/en/tutorial/topics/camera-access.md | 2 +- docs/en/tutorial/topics/custom-icons.md | 2 +- docs/en/tutorial/topics/index.md | 12 +- docs/en/tutorial/tutorial-0.md | 2 +- docs/en/tutorial/tutorial-2.md | 2 +- docs/en/tutorial/tutorial-3.md | 2 +- docs/en/tutorial/tutorial-4.md | 2 +- docs/en/tutorial/tutorial-6.md | 2 +- docs/mkdocs.de.yml | 10 + docs/mkdocs.en.yml | 2 +- docs/mkdocs.es.yml | 10 + docs/mkdocs.fr.yml | 3 +- docs/mkdocs.it.yml | 10 + docs/mkdocs.pt.yml | 10 + docs/mkdocs.zh_CN.yml | 10 + docs/mkdocs.zh_TW.yml | 10 + docs/overrides/assets/images/brutus-256.png | Bin 20837 -> 0 bytes .../assets/stylesheets/beeware_theme.css | 325 -------- docs/overrides/main.html | 33 - docs/overrides/partials/header copy.html | 122 --- docs/overrides/partials/header.html | 66 -- locales/de/LC_MESSAGES/SUMMARY.po | 84 +++ locales/de/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/de/LC_MESSAGES/index.po | 217 ++++-- .../tutorial/topics/camera-access.po | 306 ++++++-- .../tutorial/topics/custom-icons.po | 267 ++++--- .../de/LC_MESSAGES/tutorial/topics/index.po | 75 +- .../de/LC_MESSAGES/tutorial/topics/testing.po | 291 +++++--- locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 402 ++++++---- locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 372 ++++++---- locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 517 +++++++++---- locales/de/LC_MESSAGES/tutorial/tutorial-3.po | 689 ++++++++++++----- locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 333 ++++++--- .../tutorial/tutorial-5/android.po | 469 ++++++++---- .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 163 ++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 51 +- locales/de/LC_MESSAGES/tutorial/tutorial-6.po | 198 +++-- locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 656 +++++++++++------ locales/de/LC_MESSAGES/tutorial/tutorial-8.po | 635 +++++++++++----- locales/es/LC_MESSAGES/SUMMARY.po | 84 +++ locales/es/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/es/LC_MESSAGES/index.po | 221 ++++-- .../tutorial/topics/camera-access.po | 304 +++++--- .../tutorial/topics/custom-icons.po | 255 ++++--- .../es/LC_MESSAGES/tutorial/topics/index.po | 75 +- .../es/LC_MESSAGES/tutorial/topics/testing.po | 308 +++++--- locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 393 ++++++---- locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 377 ++++++---- locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 513 +++++++++---- locales/es/LC_MESSAGES/tutorial/tutorial-3.po | 667 ++++++++++++----- locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 332 ++++++--- .../tutorial/tutorial-5/android.po | 469 ++++++++---- .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 169 +++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 59 +- locales/es/LC_MESSAGES/tutorial/tutorial-6.po | 199 +++-- locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 649 ++++++++++------ locales/es/LC_MESSAGES/tutorial/tutorial-8.po | 622 +++++++++++----- locales/fr/LC_MESSAGES/SUMMARY.po | 84 +++ locales/fr/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/fr/LC_MESSAGES/index.po | 219 ++++-- .../tutorial/topics/camera-access.po | 194 +++-- .../tutorial/topics/custom-icons.po | 238 +++--- .../fr/LC_MESSAGES/tutorial/topics/index.po | 56 +- .../fr/LC_MESSAGES/tutorial/topics/testing.po | 296 +++++--- locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 398 ++++++---- locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 382 ++++++---- locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 522 +++++++++---- locales/fr/LC_MESSAGES/tutorial/tutorial-3.po | 693 +++++++++++++----- locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 333 ++++++--- .../tutorial/tutorial-5/android.po | 465 +++++++----- .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 167 +++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 60 +- locales/fr/LC_MESSAGES/tutorial/tutorial-6.po | 202 +++-- locales/fr/LC_MESSAGES/tutorial/tutorial-7.po | 654 +++++++++++------ locales/fr/LC_MESSAGES/tutorial/tutorial-8.po | 633 +++++++++++----- locales/it/LC_MESSAGES/SUMMARY.po | 84 +++ locales/it/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/it/LC_MESSAGES/index.po | 226 ++++-- .../tutorial/topics/camera-access.po | 194 +++-- .../tutorial/topics/custom-icons.po | 242 +++--- .../it/LC_MESSAGES/tutorial/topics/index.po | 75 +- .../it/LC_MESSAGES/tutorial/topics/testing.po | 290 +++++--- locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 398 ++++++---- locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 361 +++++---- locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 519 +++++++++---- locales/it/LC_MESSAGES/tutorial/tutorial-3.po | 682 ++++++++++++----- locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 334 ++++++--- .../tutorial/tutorial-5/android.po | 476 +++++++----- .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 172 +++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 65 +- locales/it/LC_MESSAGES/tutorial/tutorial-6.po | 205 ++++-- locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 659 +++++++++++------ locales/it/LC_MESSAGES/tutorial/tutorial-8.po | 627 ++++++++++------ locales/pt/LC_MESSAGES/SUMMARY.po | 84 +++ locales/pt/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/pt/LC_MESSAGES/index.po | 222 ++++-- .../tutorial/topics/camera-access.po | 194 +++-- .../tutorial/topics/custom-icons.po | 243 +++--- .../pt/LC_MESSAGES/tutorial/topics/index.po | 72 +- .../pt/LC_MESSAGES/tutorial/topics/testing.po | 298 +++++--- locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 397 ++++++---- locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 372 ++++++---- locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 519 +++++++++---- locales/pt/LC_MESSAGES/tutorial/tutorial-3.po | 685 ++++++++++++----- locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 337 ++++++--- .../tutorial/tutorial-5/android.po | 468 +++++++----- .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 167 +++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 62 +- locales/pt/LC_MESSAGES/tutorial/tutorial-6.po | 205 ++++-- locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 651 ++++++++++------ locales/pt/LC_MESSAGES/tutorial/tutorial-8.po | 622 +++++++++++----- locales/templates/SUMMARY.pot | 85 +++ locales/templates/how-to/index.pot | 375 ++++++++++ locales/templates/index.pot | 152 ++++ .../tutorial/topics/camera-access.pot | 193 +++++ .../tutorial/topics/custom-icons.pot | 209 ++++++ locales/templates/tutorial/topics/index.pot | 55 ++ locales/templates/tutorial/topics/testing.pot | 189 +++++ locales/templates/tutorial/tutorial-0.pot | 288 ++++++++ locales/templates/tutorial/tutorial-1.pot | 249 +++++++ locales/templates/tutorial/tutorial-2.pot | 350 +++++++++ locales/templates/tutorial/tutorial-3.pot | 436 +++++++++++ locales/templates/tutorial/tutorial-4.pot | 208 ++++++ .../templates/tutorial/tutorial-5/android.pot | 278 +++++++ locales/templates/tutorial/tutorial-5/iOS.pot | 110 +++ .../templates/tutorial/tutorial-5/index.pot | 40 + locales/templates/tutorial/tutorial-6.pot | 126 ++++ locales/templates/tutorial/tutorial-7.pot | 420 +++++++++++ locales/templates/tutorial/tutorial-8.pot | 470 ++++++++++++ locales/zh_CN/LC_MESSAGES/SUMMARY.po | 84 +++ locales/zh_CN/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/zh_CN/LC_MESSAGES/index.po | 196 +++-- .../tutorial/topics/camera-access.po | 202 +++-- .../tutorial/topics/custom-icons.po | 255 ++++--- .../LC_MESSAGES/tutorial/topics/index.po | 71 +- .../LC_MESSAGES/tutorial/topics/testing.po | 236 +++--- .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 354 +++++---- .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 312 +++++--- .../zh_CN/LC_MESSAGES/tutorial/tutorial-10.po | 147 ---- .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 415 +++++++---- .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 615 +++++++++++----- .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 243 +++--- .../tutorial/tutorial-5/android.po | 390 ++++++---- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 135 ++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 51 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 137 ++-- .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 591 +++++++++------ .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 583 ++++++++++----- .../zh_CN/LC_MESSAGES/tutorial/tutorial-9.po | 165 ----- locales/zh_TW/LC_MESSAGES/SUMMARY.po | 84 +++ locales/zh_TW/LC_MESSAGES/how-to/index.po | 439 ++++++----- locales/zh_TW/LC_MESSAGES/index.po | 201 +++-- .../tutorial/topics/camera-access.po | 194 +++-- .../tutorial/topics/custom-icons.po | 242 +++--- .../LC_MESSAGES/tutorial/topics/index.po | 56 +- .../LC_MESSAGES/tutorial/topics/testing.po | 302 +++++--- .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 361 +++++---- .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 343 +++++---- .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 456 ++++++++---- .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 594 ++++++++++----- .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 292 +++++--- .../tutorial/tutorial-5/android.po | 430 ++++++----- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 150 ++-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 62 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 158 ++-- .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 590 +++++++++------ .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 569 +++++++++----- pyproject.toml | 97 --- requirements.dev.txt | 1 + requirements.docs.txt | 10 +- tox.ini | 28 +- 178 files changed, 31684 insertions(+), 14999 deletions(-) create mode 100644 docs/mkdocs.de.yml create mode 100644 docs/mkdocs.es.yml create mode 100644 docs/mkdocs.it.yml create mode 100644 docs/mkdocs.pt.yml create mode 100644 docs/mkdocs.zh_CN.yml create mode 100644 docs/mkdocs.zh_TW.yml delete mode 100644 docs/overrides/assets/images/brutus-256.png delete mode 100644 docs/overrides/assets/stylesheets/beeware_theme.css delete mode 100644 docs/overrides/main.html delete mode 100644 docs/overrides/partials/header copy.html delete mode 100644 docs/overrides/partials/header.html create mode 100644 locales/de/LC_MESSAGES/SUMMARY.po create mode 100644 locales/es/LC_MESSAGES/SUMMARY.po create mode 100644 locales/fr/LC_MESSAGES/SUMMARY.po create mode 100644 locales/it/LC_MESSAGES/SUMMARY.po create mode 100644 locales/pt/LC_MESSAGES/SUMMARY.po create mode 100644 locales/templates/SUMMARY.pot create mode 100644 locales/templates/how-to/index.pot create mode 100644 locales/templates/index.pot create mode 100644 locales/templates/tutorial/topics/camera-access.pot create mode 100644 locales/templates/tutorial/topics/custom-icons.pot create mode 100644 locales/templates/tutorial/topics/index.pot create mode 100644 locales/templates/tutorial/topics/testing.pot create mode 100644 locales/templates/tutorial/tutorial-0.pot create mode 100644 locales/templates/tutorial/tutorial-1.pot create mode 100644 locales/templates/tutorial/tutorial-2.pot create mode 100644 locales/templates/tutorial/tutorial-3.pot create mode 100644 locales/templates/tutorial/tutorial-4.pot create mode 100644 locales/templates/tutorial/tutorial-5/android.pot create mode 100644 locales/templates/tutorial/tutorial-5/iOS.pot create mode 100644 locales/templates/tutorial/tutorial-5/index.pot create mode 100644 locales/templates/tutorial/tutorial-6.pot create mode 100644 locales/templates/tutorial/tutorial-7.pot create mode 100644 locales/templates/tutorial/tutorial-8.pot create mode 100644 locales/zh_CN/LC_MESSAGES/SUMMARY.po delete mode 100644 locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po delete mode 100644 locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po create mode 100644 locales/zh_TW/LC_MESSAGES/SUMMARY.po delete mode 100644 pyproject.toml diff --git a/.gitignore b/.gitignore index b8fbddd2..be2298e5 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,10 @@ _build comment.md +# Translations +*.mo +*.pot + # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] @@ -49,10 +53,6 @@ coverage.xml *,cover .hypothesis/ -# Translations -*.mo -*.pot - # Django stuff: *.log local_settings.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8fc10de8..4543c468 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -5,30 +5,7 @@ repos: - id: check-toml - id: check-yaml - id: check-case-conflict - - id: check-docstring-first - id: end-of-file-fixer # PO files may not have a trailing EOL, as they are tool generated exclude: "locales" - id: trailing-whitespace - - repo: https://github.com/asottile/pyupgrade - rev: v3.20.0 - hooks: - - id: pyupgrade - args: [--py38-plus] - - repo: https://github.com/astral-sh/ruff-pre-commit - # Ruff version. - rev: v0.12.8 - hooks: - # Run the linter. - - id: ruff-check - args: [ --fix ] - # Run the formatter. - - id: ruff-format - - repo: https://github.com/codespell-project/codespell - rev: v2.4.1 - hooks: - - id: codespell - # remove toml extra once Python 3.10 is no longer supported - additional_dependencies: ['.[toml]'] - # Can't spell check a file that isn't in english... - exclude: "locales" diff --git a/.readthedocs.yaml b/.readthedocs.yaml index e3d6a13a..1eff018b 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -12,21 +12,10 @@ build: # Docs are always built on Python 3.12. See also the tox config. python: "3.12" jobs: + pre_install: + - python -m pip install -r requirements.dev.txt pre_build: - - pip install -r requirements.dev.txt - tox -e docs-lint - -# Build documentation in the docs/ directory with Sphinx -sphinx: - builder: html - configuration: docs/conf.py - fail_on_warning: true - -# Build docs as PDF (other options are epub and htmlzip) -formats: - - pdf - -# Optionally declare the Python requirements required to build your docs -python: - install: - - requirements: requirements.docs.txt + build: + html: + - python -m tox -e docs-$READTHEDOCS_LANGUAGE -- --output=$READTHEDOCS_OUTPUT/html/ diff --git a/README.md b/README.md index 3e03c76b..3a993c73 100644 --- a/README.md +++ b/README.md @@ -28,10 +28,10 @@ Community Code of Conduct](http://beeware.org/community/behavior/). ## Contributing -If you experience problems with BeeWare, [log them on -GitHub](https://github.com/beeware/beeware/issues). If you want to contribute -code, please [fork the code](https://github.com/beeware/beeware) and [submit a -pull request](https://github.com/beeware/beeware/pulls). +If you experience problems with the BeeWare Tutorial, [log them on +GitHub](https://github.com/beeware/beeware-tutorial/issues). If you want to contribute +code, please [fork the code](https://github.com/beeware/beeware-tutorial) and [submit a +pull request](https://github.com/beeware/beeware-tutorial/pulls). ### Translations diff --git a/docs/config.yml b/docs/config.yml index a4089bcd..aa53e537 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -1,4 +1,5 @@ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json +copyright: © Russell Keith-Magee 2025 not_in_nav: | /index.md @@ -9,6 +10,19 @@ validation: anchors: warn unrecognized_links: warn +extra: + project_name: beeware-tutorial + social: + - icon: fontawesome/brands/github + link: https://github.com/beeware + name: BeeWare on GitHub + - icon: fontawesome/brands/mastodon + link: https://fosstodon.org/@beeware + name: BeeWare on Mastodon + - icon: fontawesome/brands/discord + link: https://beeware.org/bee/chat/ + name: BeeWare on Discord + theme: name: material language: en @@ -16,12 +30,11 @@ theme: features: - content.tabs.link - toc.follow - - content.code.copy - navigation.indexes -# - navigation.expand -# - search.suggest -# - search.highlight -# - search.share + - navigation.footer + - search.suggest + - search.highlight + - search.share custom_dir: overrides palette: # Palette toggle for automatic mode diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md index af8142f5..a46de001 100644 --- a/docs/en/how-to/index.md +++ b/docs/en/how-to/index.md @@ -1,4 +1,4 @@ -# Contributing to this tutorial +# Contributing to this tutorial { id=contributing } This tutorial is written using [MkDocs and Markdown](https://www.mkdocs.org/). This guide will help you contribute fixes or new content to this @@ -77,12 +77,12 @@ C:\...>venv\Scripts\activate Your prompt should now have a `(venv)` prefix in front of it. -### Clone the BeeWare repository +### Clone the BeeWare Tutorial repository For updates to BeeWare documentation: -Next, go to [the BeeWare page on -GitHub](https://github.com/beeware/beeware), fork the repository into +Next, go to [the BeeWare Tutorial page on +GitHub](https://github.com/beeware/beeware-tutorial), fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on "Clone or Download". If you have the GitHub desktop application installed on your computer, you can select "Open in @@ -91,10 +91,10 @@ the command line: /// tab | macOS -Fork the BeeWare repository, and then: +Fork the BeeWare Tutorial repository, and then: ```console -(venv) $ git clone https://github.com//beeware.git +(venv) $ git clone https://github.com//beeware-tutorial.git ``` (substituting your GitHub username) @@ -103,10 +103,10 @@ Fork the BeeWare repository, and then: /// tab | Linux -Fork the BeeWare repository, and then: +Fork the BeeWare Tutorial repository, and then: ```console -(venv) $ git clone https://github.com//beeware.git +(venv) $ git clone https://github.com//beeware-tutorial.git ``` (substituting your GitHub username) @@ -115,10 +115,10 @@ Fork the BeeWare repository, and then: /// tab | Windows -Fork the BeeWare repository, and then: +Fork the BeeWare Tutorial repository, and then: ```doscon -(venv) C:\...>git clone https://github.com//beeware.git +(venv) C:\...>git clone https://github.com//beeware-tutorial.git ``` (substituting your GitHub username) diff --git a/docs/en/index.md b/docs/en/index.md index 65a06600..1afe235b 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,4 +1,4 @@ -# Welcome to the BeeWare Tutorial! { id=tutorial-0 } +# Welcome to the BeeWare Tutorial! { id=tutorial } **Write Python. Run Anywhere.** @@ -8,7 +8,7 @@ a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app. -{% if config.extra.original_translation == true %} +{% if config.extra.translation_type == original %} /// admonition | Translations are available @@ -21,12 +21,11 @@ are available in [Deutsch](https://docs.beeware.org/de), [中文(简体)](https://docs.beeware.org/zh-cn), and [中文(繁體)](https://docs.beeware.org/zh-tw). - /// {% endif %} -{% if config.extra.machine_translation == true %} +{% if config.extra.translation_type == machine %} /// admonition | This is a machine translation! @@ -38,12 +37,11 @@ If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord](https://beeware.org/bee/chat/). Introduce yourself there and we will add you to the translation team. - /// {% endif %} -{% if config.extra.human_translation == true %} +{% if config.extra.translation_type == human %} /// admonition | This is a translation! @@ -55,7 +53,6 @@ If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord](https://beeware.org/bee/chat/). Introduce yourself there and we will add you to the translation team. - /// {% endif %} diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index 1702559f..9175f0dc 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -1,4 +1,4 @@ -# Using the camera { id="using-camera" } +# Using the camera { id="camera-access" } Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index ed40135a..6a10e7a8 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -1,4 +1,4 @@ -# Customizing icons { id="custom-icons" } +# Customizing icons { id="custom-icons" } The app we developed in the main tutorial uses a default "gray bee" icon when it is packaged. Let's personalize this application by configuring diff --git a/docs/en/tutorial/topics/index.md b/docs/en/tutorial/topics/index.md index 48fc16db..27ff9992 100644 --- a/docs/en/tutorial/topics/index.md +++ b/docs/en/tutorial/topics/index.md @@ -10,14 +10,12 @@ you've completed the core tutorial. Customize your application's appearance by replacing the default "gray bee" icon. +### [Using the camera][camera-access] -### [Application Testing][testing] +Use the camera on your mobile or desktop device to take and view a +picture from within your application. + +### [Testing times][testing] How do you ensure that your application works, and stays working? By adding a test suite to your project! - - -### [Camera access][using-camera] - -Use the camera on your mobile or desktop device to take and view a -picture from within your application. diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md index ea1eee02..ee4a15a5 100644 --- a/docs/en/tutorial/tutorial-0.md +++ b/docs/en/tutorial/tutorial-0.md @@ -1,4 +1,4 @@ -# Tutorial 0 - Let's get set up! +# Tutorial 0 - Let's get set up! { id="tutorial-0" } Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare. diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index b34bbd29..b5efa3f6 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -1,4 +1,4 @@ -# Tutorial 2 - Making it interesting { id="tutorial-2" } +# Tutorial 2 - Making it interesting { id="tutorial-2" } In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index 1847c5c3..8a1eae44 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -1,4 +1,4 @@ -# Tutorial 3 - Packaging for distribution { id="tutorial-3" } +# Tutorial 3 - Packaging for distribution { id="tutorial-3" } So far, we've been running our application in "Developer mode". This makes it easy for us to run our application locally - but what we really diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index 57ccacd9..ff025313 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -1,4 +1,4 @@ -# Tutorial 4 - Updating your application { id="tutorial-4" } +# Tutorial 4 - Updating your application { id="tutorial-4" } In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md index e1acae81..4c437a81 100644 --- a/docs/en/tutorial/tutorial-6.md +++ b/docs/en/tutorial/tutorial-6.md @@ -1,4 +1,4 @@ -# Tutorial 6 - Put it on the web! { id="tutorial-6" } +# Tutorial 6 - Put it on the web! { id="tutorial-6" } In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your diff --git a/docs/mkdocs.de.yml b/docs/mkdocs.de.yml new file mode 100644 index 00000000..f3a027ce --- /dev/null +++ b/docs/mkdocs.de.yml @@ -0,0 +1,10 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/de +docs_dir: de + +theme: + language: de + +extra: + translation_type: human diff --git a/docs/mkdocs.en.yml b/docs/mkdocs.en.yml index 046780be..bd168462 100644 --- a/docs/mkdocs.en.yml +++ b/docs/mkdocs.en.yml @@ -4,7 +4,7 @@ site_url: https://tutorial.beeware.org/ docs_dir: en extra: - original_translation: true + translation_type: original plugins: spellcheck: diff --git a/docs/mkdocs.es.yml b/docs/mkdocs.es.yml new file mode 100644 index 00000000..d9db6e22 --- /dev/null +++ b/docs/mkdocs.es.yml @@ -0,0 +1,10 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/es +docs_dir: es + +theme: + language: es + +extra: + translation_type: human diff --git a/docs/mkdocs.fr.yml b/docs/mkdocs.fr.yml index 83ba9739..4945ef68 100644 --- a/docs/mkdocs.fr.yml +++ b/docs/mkdocs.fr.yml @@ -7,5 +7,4 @@ theme: language: fr extra: - human_translation: true - machine_translation: false + translation_type: human diff --git a/docs/mkdocs.it.yml b/docs/mkdocs.it.yml new file mode 100644 index 00000000..4e7db76a --- /dev/null +++ b/docs/mkdocs.it.yml @@ -0,0 +1,10 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/it +docs_dir: it + +theme: + language: it + +extra: + translation_type: human diff --git a/docs/mkdocs.pt.yml b/docs/mkdocs.pt.yml new file mode 100644 index 00000000..580f8074 --- /dev/null +++ b/docs/mkdocs.pt.yml @@ -0,0 +1,10 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/pt +docs_dir: pt + +theme: + language: pt + +extra: + translation_type: human diff --git a/docs/mkdocs.zh_CN.yml b/docs/mkdocs.zh_CN.yml new file mode 100644 index 00000000..72dd7116 --- /dev/null +++ b/docs/mkdocs.zh_CN.yml @@ -0,0 +1,10 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/zh_CN +docs_dir: zh_CN + +theme: + language: zh-Hant + +extra: + translation_type: human diff --git a/docs/mkdocs.zh_TW.yml b/docs/mkdocs.zh_TW.yml new file mode 100644 index 00000000..0e6734e2 --- /dev/null +++ b/docs/mkdocs.zh_TW.yml @@ -0,0 +1,10 @@ +INHERIT: config.yml +site_name: BeeWare Tutorial +site_url: https://tutorial.beeware.org/zh_TW +docs_dir: zh_TW + +theme: + language: zh-TW + +extra: + translation_type: human diff --git a/docs/overrides/assets/images/brutus-256.png b/docs/overrides/assets/images/brutus-256.png deleted file mode 100644 index 39184054eb47edaf5eee5584c5a7fa1e034550a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20837 zcmXV&1z1#F`}Jptp}V^Tq#L9=1f;t`1f)y4L%JSBK)O*%x?4h!mQE1_q>;}5p7;Bn z=kfxF;mnzH_P+16e(N4%G}IKa(8+^)g?!2;g+MfHU&=}A_$(df_y*|A-aM_>+pK#l zE%bLC(`H47HL-49I$cyWT^buZ7#mj{UR7vS={Yr4JvPL)H>E9Yc7@Q!$pl;zZH+%e`0xx;mR(%q0ecdO33e_ zvLU@q`t-Os-=LNuQh-uJi{j`6R&sRerGD#i1d?Bh9yxi!d*u~J4;ZW+Zo%vS~Dk)J{;uqokNRd5s z8%Wbq{7_<=D}g^9U23i6HF(3JYx7-R^jNZSRW-~`fd@wppJ{HtY=(q7L;8}{+ducn zEjv&q$5Wn&NH+F|@uQ~o@NA&Ek`7CgM__YZ2q0zzX_{*j{&gU7{W&);wgH)@^(m@h z<>bZ13ZWKm%t2&_{-MhYND0x~8(jQ~FeZhUjOB=UNmn*|B*t+u%o5;jzJtJk__fA1 zg)hu;gUzA_B~bS?B-9#Gn4;cE)Z=auf9Mh#goWh(DS&VR;#l|K9Tz?!XZmx#R(fHc z%Q0}wV_Kgm&1?$tvPYn2JsF#Y;7kEyFdeNmF^H%If3N;U9@2*W2FHe{Qzk7 zf0jINB)&#!B@_vXm(@58d9;A=4_9>@Lz|Z#+b15T?fAhVt*oq+UcF)z5J@Qc|m-1_tbofL0T%%qPf8*c75 zFBrlWA()6kuoVRwv2T8zxm#P-rLVFE3+3Z7#Qg<}6qA_f=%7VYyQdIWB03~fQ`4V6 zf4bgZyLlb2z0%Voj>4uYEG-?Zn6b-IQ&d()*Dg~NpP%P>J@|ZXUfloEWKut_M1A>@ zsE49wba*i&76YjWI*Aw;V$Kk59G{#0jFmMOoNax;jr&Iqmu*(1B{G~?>yJy<1w9Ew~4De&XfleC`dE{#k~$lDTJJ@|NR-G z6!og)3Os~#Aw5Q8vT7m5+>&YbJVAy|d*Ujm?Bukx{xfKGFS%Y`e`Jb{i;MhjjUTG4 zub=*$l@-6H^YYX6Wpg*j=I`H;3Pq>G;S!#^8mEI4F432lUM20@Uu$Z*AN|bl?B(B+ ztiS(ZtFg!Y3^9pLyvG^m{^w5}x8Dguu{e_V8b9ae&?{!YoQogx>Q(511rX!C9;jbw z(yH~0ky7#TDFz=p@NU1C!u~3wl=8k;70tA|l41^CFs< z%}uM4_TLRP;C^qWs!QMrt+<9q$Hbg|L(P^KL5X4sM6B=`=ilI4!E_KHPq6yc7rB|^ zy@s~SoLdGzSpkQ+=*4B%eVC~dx_jP}i2hQ^tbOa*2%GPpOxp}0m$lXdej>6nQTw0I2a{;j zrKO=IB_(Q-3=#R|<*0N>^|ljC{QNq5&OSfq>*{zTaK|M|Znf4SF$@{By;J=l1qs+lrx-Z09`%d7oE|6#)i)&(6q zdpsGRjRiO9hokqS#bsrDPD}itPWFFKWj6g@FiBT3EfV@L>|{fPJju}SZyI}ofq_9F zdH)MX{^iS<>H3NMg0EjSR@_H9=$}3NwjJHu=r9jv`L28a!_|U;Q{>*c>&E8d`#K6bI{LR*A~qBEk8k!g&-%+D67;aL$8 zNT3iYf^uA@p6BHk;O54osj2xRN0g+~tj6=-D!qh6E+}#yo8Qnt(aE8zhQ6owcy*co zk@Fu0TgpCH8L{6~p*%e^v*KQqa<}Ex(W=#4r6K35q$n&3rmpKvjFPMa9{;POcebJp zq@S6EEi~+5-1x2AJ3k}yGBdx=s7sD@`2Hibw|{zlve8>yQc~+M&-v-oCravN(7$A5 z5#xwC=tV?~_Db8w@}+&cS^4AVv1T76g0`fiYyaTx_vR*i z3mY`rr?pKS%kz_C^+(~LSj<LwD zpAGHymN!En;sZG&W{=f|W%lm%-i6;$$3L~8%lbS#>T2|MpR6OuC$PNF&dw-d6B%PR zBO@d5PP4bSr!3T|9w_d<6nxMG9^w8`2{ql>2sb^Ye&bt-s^T$lN~bsx&YMoAmql?{18|ywrQ7D~Xtdf1AO9 zOyaU1ql885hLh>UPQMZSZCl5A#>`AWL7}3j_feKdjSh*3hzKnB7fawDP@O)2^LiTGb06ciTr{i+2OT{TNE0laY*aCY3JnAX+5{)^FZSP5t7=<3?zuTu_!ABR!wb9cO&ub`Q1( zyx;0o8Wdm$A@8cyO%-A%}%KF@VJgh@+& zbDp=qo8QpDuUBJMReHs$q@zP9gW7fbmn}+t5L_F2dis`wy3sJ!H`f8+dr+4hSKDS6 z*=g|&gIzHmxZf<$@P&LI)-uE1tJWBo z(8sDN{m8i0_AYM`%qbw^u0-4mQ_^4=1YEVRGjejO?d|hyynOX)`=hZlouJ^{FE_AV zZGI0Xm~oi>bw$zIFE!+Fy#%p_jAjQ;Fs7UIF{YRAErj;{$EcDa z>`~hP8fZkIIkterQxcGZT%r9#(2TLc91O z+OAq@0*s82DqNj}Io0bodSSWA$+$q3DFD^f{~J^;7FJfRw${KtJAU`YH|fHMY+3^4 z=Ck-GY0ycAdDWCe>`#JDHHg5s zr`Qhd;)S^NAX$@^n8qtGz{`__gxQ`${xk--T|csgXDqF4^z}*B1O8!+jrDTmr+)bG z4P5CQ4#apRMBIRBrOpjD#N^P_o)}PjZN@$kd7|?nqIH^0Y<*A7Q4XaNcK`MkUo*dG zem|42Nvz&Vb{u!tERrs7c#|sd1c>Y zx_KF(*Hs#H_mIG(k}#j%wLH=QQ7Q6(g8;*!KKQ9V^Yf>ivvW0@zzxDD>2O%oF1-EyA#;r*qNNFgS2@e7xsFC2K4$5zzoREvloR2JFP3;n=yj=(n|+?Nt!a zk#n3q9+AkTb#X&ZUo5i5BqY39X>qe(a>31?wI>sDrUY#SJ4w{{%z9E3q0xu~NG0z9 z9BzDJ0#v^MOUQpI`^9F!!dPw%rzl^U4#+DcQ6KW_v{zQf14B@fwPXw2gejT|4dye} zRXvvt4EQCx2sSeM)b@x&k554G@}-;I%v)z?FL@`Sjh9MFu1osX!goP=QdMe<2>vJGj)AK~xes()o^P@X_^!*|JjO^?` z(uy(CAPg)l-}fr3y1FEGu|g^W<^Ld)ra3#9pGHEX-+4+YDWUT4JXoQ;k;0>(h@0BI z4sx-#2NuAlhk$?psN`~352r%*GiB0*!F+Z;@yVFPL@$x&pR%&<1~7Z%5pfgRkak0{ znPXXC;nJ&6R2fjEvOn7I@9y?k)jnVSDM3I@eWYyIhI_BC-*4;Fj%bu^AfKZ~(qMFk zNEY6^!S6BSD2Ng$0Y9;|oiET9R4iVy@+(Asa$V?i)T#XoHE-u1HXf50;Vn!0TY=Q) zupW|a@9-zQ{7pRagg;@SuWJpy8nEx!ARAQ?SLspU;y{289Xdtul3kpI@OPP#}jCTM2 z?XzzzoZm;o!UAJ zcd*)?-u-asBJs2enuD$`-1^nJtV_&Qn~q+e{x1#hBiY6G^z=+lPapa- zmbKX7%O@->{BwT(ZWK=#+lOia8en;Mg()q_b`lA-^YoNbR76QgNZ`y-l_!h9%@+1} z@3h=>`kguNYv7%iy}kYY(JvQgXB!|J50;ygfY(efQAu|P-I&kgk19F_#?4l$`a;87 z0wCIz+1ap^oO)7v8hgw(JS-SABC@ei#MT5MIZ~ZPh$12)xAJoa!6jW?xmXl}Cs*B1 zIjim7{`WtRFU!4at|DTz$p-2c6z#RpCSVLP|*4Q{pwx2fQg?D8|L_|b#MurlgJV06kp~MYtZ((5}Dh>`aJ3D5l znL4+=ba!_*`IG>Zzd{1}Ky%jx z$DfJ3iSxagm!Ni+95j#4fBF15CM*mA0HU#K)AogSZ!U0u#xc{-7SP1v&T){uS>BLj zz_JyLMB8g>Uk}BCosB`XZ3m3|)Af+#H}KjK3PpPt%>dicGcwA$5J+pi`7Dz|S+961_ztT-HrYbnon?`|5L0DA%IBf7GZ{q$en zlL;n`gb82;wufxcAX!N~f_HMTucK1~pbU`E1e}CUxX=^b!Jp5Z>myTKT#RblJyX@Z z#tOGzQR6oRUihV=?yEnb%d0%%AtDr&sq zf81#WY72G(iz~6gYYK*kkIy%#6ea)bwZQFudN__;bky4_B_D><78Giqo?lXMHw#n{ zzQcUAuH(jXQCpi4{HUNf$?jgS6axu%)_p@5OmfoQ2> zJZZ0b@U1qr-!2_7hmo9tLB{l$grb}r5}<9bd&7`P6BJ@&V-IdQmX?+lx`QP_0R?{E ze+*{>709e;JO+aXJ3PQ#N;^6_nh%}Dxv9xyT`9@Lejc|Fm-qLwTbyluFU-%E+KUktS0X9}D@nUXM)_%*rTwaK9cv8?>a5X<6fUx4DxfN_Uo)sn zKJeFc-F{iU4OA#ffisMEcq4JtzvH~g~&sM$H$HH+Wl#Gl{h}&MOs#^d3`T6JU ztfq#>q^wI}V`CaXsGz}aD$ml?;1d&rM#Kk1>J|`rm+@bzZ}J^w$wPw}KDtq<-9vz^ zv;y@(nTz?3!_d&s3fK^@nm`|)mh0J?AjZFc|9)^Toqx{8M&P~XTLzq{*IkF>B5z7w zUX9Z7((>}aC|5T-XubXvI7B^T*Gw;J^aF%x{vvP=NaGCvoC=V6%lWiQxYa6|s*aA% z$uL6_=w_GH$7Bf#M=igxsRK@=@d@tKO_V)7`BRzION)ymK$*NcLHqFG!{qGj0I+16 zSF2cHErQm{L!JPd?|iPBG$A+TLK2NPEZ{9uRFlY zb^xj?E++;$&AfTAIKZer8tQlc450LaH4aop5BS36GhyGTWniGBpa27V;$M4rzXdn9 zWgikap0Mjii1^zM9a@BIa^!nx*9Lh$G0JGj*RR~C_x~m^;P4l-ZvE@)A#5JMbG!C= ze?UwAhj*B6v*D|A-hta;jy)wkz06=)Sy}lT@PvNLU5=2W9(5I{dAnRzh)S|HMLU2a z;8L~%fBf@5OS62?l@)0MKU7v$QXjvuwm$i(tzPT;t1tiT(!Xz`HynNumKrODJlosa z$gA{50Uph^f!&5>WRSuu_2a|cVVVvOGJbM>h+nh%5mT2Sq-xk8gfX$J0vs6-51_w3 z1O>mo{dBeFpR|(~+%@!y1|PrA)O&T{s_Uu~s+l2QHUob{aJbhSj>2_k&vD%rP^UQKyfkWGJCECE&k$S}C4w6-p$`Seqg zg^O#ac8HpRi>qeHAM87ei@&potjMDL{2xHD;&r$ruR9wlB49g_3*>%0&^3M>Ig3<4 z`2tl?($SF({)?mfD6$pKhrx^>8aO}$%SR)-5+gv_|8#rn2T0%#&`wMwYDXdi&b~8u z-2SZ)|HcXczhS4JKpY8|URz8MGYbn^>UTLkJw2Q#I{?c7g|!5zJ+^@ZoCHWinq1b^ zOifn@T!s*5l{lbzF+8{Zkc<>EjdX-g&a?LI3}P;`N#Sqw>mkX~s&MJJSifUsiN~R(!;JA3 zH6W~eline;wns-1B`rNY_2b7u&<%c`SO_gPIZ;eVJ_RIw!T=8G9;6jilYAAsyPz9m z88y>)2!s~?ydz`>RvPIT;2EXe|}^Zc@hxW0f)o+o1t64u3m}a-b#`()=2!GZXNOt5kKl_2QHe}Dlp4DS#TsP{qOZqqNd)Q zhpqsK2?5>*WVz!#ZW!24nK< z_<3wBI(YKl!GUK5k`es0{`{yV!ODuR6x_PtHe_^n<>+Z2X79~%vxoqF-{)pKoeU(1 z>o?=x_h0_tW1`XxfB(Lx>8J}D+Ur3~u#eK5t@3IO*a?Y=>p-;w(y+X;vbeVP)P&{K zvj06ODwv$DTlndPl&Pty0L7pK#oMuQ47?G@NZ?|#c}ZVacVIk66yQ?Hfq?t>t)ZT01JL^(h(Db+-@sCk({!BlVOW9cMK30{;(VE{S3v~N*4|S% z<7Npuxqp5>>@gwE9Ix;?3E?@8*hvU?rYdJ+Reim-<5I)R6|kYuB(3v=&y^{1; zP$*dfU0|54t*ur-!HZYVfKvcgFmihAU&fa&tRNlnKKD^>KT}pyBd+N;MEKa&O+0^f!S56_airv{(&wyW|Cd;NALDSNWGOe=qKVf7+~WKdQUBF|tN;uPJPZ zYk^(!X~Dj;EH}H@f?5vpSk+%PC@|mvyaps@W@f^h&fEdnbLoB%+@GuZXJ=duwh258 z3IK++lNvCYesCrI?>jp>R?M`n{1Df?9@IYHMTQ9j`r`0# zO%5V^=NHJO@D>r`it9t@`Zui6s4C#`W(O|AV^N%u5NyY@YuPTut%sBI1t7p`cRb$i zi*J&z6qJ`ogS1lv%%)sDfFjDv>&ICJlJZ0HpU%Kn!kZ28IkzafPDEO8|a%S}&L^z!n`Th=o$7%s~T zT5>Qv1x0yH&Uo|0UCx4*6q1bI_XIJMhhYfIq4t7p(|X)>w*bPQ5KOY8YW-k0{5Z23 zoTaj0P~k+q4o;M<)ZpKFA2o;$gBAgNwfN=om<`{nSC<&)z|4b~Y;nJ`j|$LX@br8@ zIgaiC{plnNAuay5;(!zjh1kI!5h~@$k;>q3!Tf%cq|&tgBd9a1t3lnsOWHX&?DHT_ z?|BBXyx+qBxd*^Cmm{qJfD9$kG&6SxjzdhuRO$@aJ7GERJUzkWz$tYheXf>?$w~zc zhz=`-0>d;qvioS1V32(LYbsui;S#nSKt_OH80yE7Tq$cb{7M(mW6gWP4e{%g$Y;H6 zlQlKXS%vPi01)I=f#SeV4tAse&%)iV(o1kU9=kNI>4}MnW>kp<1qGdC5JWTT`cNnT=y%cO?kPbh=hDSdBiey51%YHEQOnt2w>9(}|NUzP0)!RN3_E})RBQGKqpH%2 zo3cA_>lgVn2onMI#Vm~@E-tRVof2PW5;WY`5c|d@GosY~{{BM|Y;i_@{)YK~z|mbz zzH6}T8@&w)wTDPKV^qWD=md~+=p$&kxRT7DZs)<3@3sIbn^}$)3?C?plM~nWM0Wp~ zH49qc-M6fdtvl@-jX=O;KcA0E2i)|bCB#$2v`QNI#=@%892X{6_c);KUvfd zyjf#juMxvSKYSnrm|!Q(V_;~g9+c>IbUO@Xc^V~oFa6__fC^wqFAny>U1o--{?1K`{6a!;{zt8ffMGTV z|31=}kqPqw^B)ldR<(CjpxD8uD#Rs(KoTCc-OoWB2mhg5KtRWk)6D+GX0HDc9+(yK z>h8DZjd{B3eyUG5U5KqDdy&sWOF-{M%Tb{C9?l6jrxa<3K>D|L5v4(1G0O^i_W-yn z-+;+`UaFS!*WLXG5QcJwhMCi*CmBG3#}34i`1AJwQ1@+4#QavH;ZcfWZQ{yTj%ESrCh_c%tdBGxiG{Pn(W)e>& zs<+~|U$q%YVulMY79LO+L555KuttxJC7dsd8=2yPU zfnxv}4Zt}FkI#ukl<$>arBl8A_(?zJZSQzoWQ;xu~+8)lUCrQbEUzP7fz}Vyp{RWu-9RI2-Fpjl6IM zpsI!^CYZs<*1P>V066=~HH$J{xX}|Zsak;U46=JX5)wFu0mEojdi(B-uPrggfnEbY zhX9C~qAcL`lxX0H_6b`x_kF4JK0U^P_!fZOsHGin^T{GzZS_Uhm)?7(V*~e;P1> zYGB3-0B|u9b6jd_H7hH6Fl6=nOGPzYMsaT2ZT+x3TGq|r5+lM(3L=_dQJ`o zT7XU0(9-Igt1^a%1WZit0gM90X#~t40C^3#USvzl3m~Io;^XCN=JPN(1hU4!I3GwC z>>M47fguIb1e`Y99|E=rWZ}%p%8GH1VjiwwRnO9r(SWjM9xbLOv$EXEA19#!jJ%{=)09bm>_dF@0ffo=*52Xk@Jy%th6 z^F>p3`oiMCJJK=(g*g+Yh& z8EyAn7#;2~_3xDBP_y}$IK&FY{SVE(qUt>^T_`*$Bwbt)w18f6RJv2&+}r@5(mb>d zWV>O5T}mN6D{v6o0O~XdJqRKCpZ4C;gv~&9Ln}@-OFmfi*oCw^zh7TPoMG+>d&|8x zJ_~1C=D`n*(_>hu@T6SO@vG=Vo&#AUjRcLD&8f*l-I zr0D;#m{Q!2Ki$+Tv+(c^#PQeXGwO%ipBoVJekowbwb@NZ zHwjK3-B40U%HGK_*WDbX6WiGYs?AqWN=-g4^BTj`Gi(uoco|d8h2o@u4wnMWO*0u6 z<0ab3js8im9*qeVG+i}vfX{MO{^4M*Fi$dAg3sp1NpCs|XS>%Sd{%I;_Hy37k=?wj zquG5WsGzRyKhO|Lnj4?!EW{;}p`v*fAl@I2?Q<5FeJ9dl56$REmam%a>oYw0tvmUa z;@qZ!@*3gmQV?sE!jbylh9W7Wk>_V=;v~tqi0kHP?by;c@?rI0yzCb!>l^SA z-Ca(8fDSSmvAcu%Y>{_ghWz1$4h$#iuo|eY)wx2_ss_jBZPQp zY3p4!WRRZ8kLb%p+#9Qs%8~Y#BPKw8Y-o$) zL*vT&U!|+`drN?vD@o!u8Wd}+Xc2S}I)Q%s{#BMAXF-2oU&~?BGGPvu6Bte7YiV7eMZZUdDMYjx^(Iw zASig2-hCelQVR1X88@KA!B*KA6IySmKx=jVCF9(Ap*Jx12nxO!i19jSrCuO*M6Ntt z3HMq-HbWv?42c+75vom4YclH+g${i|PM*+`F&4heqm zKwE%Mtcb7CfEh3l2{o@Sg*@gL7KXtoxoNxCqJKMvAwfTh8GSo=3#6fhP`9{v!VG~> zC<%AvY~L&Wo+|y9G~Wgs*Sm7o@BavST@8fi0B-B{^l-I&aSIyPNowAG#P(>X*_&lX zxQ7DN4Zb=3mQ!x(A}O+COwqVRA&h-NALKhaX;h9}I1sp7i6e z{deMVd;XR>=-Lvlmu!(8`Jmm#Wfswhq!=xSwV5B#WM@b-)Sv!M?r;3rc5T86dScZv z{h(tHqK@t$aiALEF9P3s`kl8@ML-t7*Qeyu&BWH$)R0RyrPmfxSG;Clvu9;%6pVieZ)X*Pz2^ztb}l(yvEDsp0YxIM(&H*ikK zAP|H;*^O$7{86NdPDBALaU3=lmR~7~)W3Q{5#iAhd?u&{afk@i`o-GUC~%hmkj>wV z?;;>r0m^KQqj_bs`5_3HiJ%|}Fv?91qO_7PBUM!aSlnoDQ9s>JTOh1MzA>ajoOuGi zei+e0dGbY##*XrLiOhKJ^YDe)ml0<8|0 z8b73^U3{s{05g|=XDeF48-HlZ1|0SmSckuX_qTa^e8^QWPE?3p`2y=1MD20X9gQhE zKrA;c7WS%K}amjOQkaUy^1Cx!3@y25xCK00OtB=3hZE14+$X zjrl|rO%NCgSF16K2OziAW9O_JxCQt`mqcDCDjmq%Z2|R!lWj0Hmo_*!*p%l z_O^eb+vf3>9*69GJc1`#5tJ$ML#EGP%pPn68LX2WB5o^gu}gHvMYePp$;{MLFMQIW z(_iSg;~zGgezo;LED>lkONEMlB@$5v$$f zZ~`W!HUtKj0m9z`_KQ|rJO@m;^THE;wH&yr1wk@1n1xABPWEWTZ)1D@PG70cs0z3c zU^t`#1I591Iau$`14K9#P#$@CWWdgxy}|VON4OH|X2Kr= z17{$QCIHU{X&n%;nABn!;QTzCfIyM;*oRRM+e$BAI z(EWAKVk4OKxu&M9tLqWrG~tNZ@yc(-sum26iB~6EPxdcZa=#WM%zht!GkNr^O98bP zjQ0rpU$Sp+Z&SWF$;10Rvo}7b0lF=5+`#XqxBSWYT#d|K{zN}=ktRBj&1pPE2?WT5 z|A}wUm5Dt|#*(5;-Wo^gld)cDmrk;Wi1niXQpgZ8{EK!!kIuq%x##t~Iz(;$tBM(fiH2>Bm>g{aYf<%ij;W54Kuqd$o4(e|WQ9*mpJ$b-*dH8B(RB+G zJPv(OENC+uDY(HelE$tyB(Pkh{OrlkOLY!g?7|~ENzE#eUU)|;XwzRE?!LF_s5hzK zU=*G7{*>WYov`Z-Wd=VweLKNKWeD;65?Q&7Wf(1zkayRu3@teX%bjh@Z>uSKG=iK? zZT0C2TTm9)K3Ty+i)rPIV^|p5@a|U+&kIAQ1ZfY4<3w3~G=Y&HV?X6cGwJe*F-pHn z6BE3R`_ptrlfq8dNHU{ceA(Mf+#7?x;D%d=BP-4GL05Lh@Gb5wJ!;YXcYsPNJwK_D zVPTZ1482wEc;!*xzu{dJ+F}=t8E!Asjjhz9erEviolMA^o|@#db>~Jd5qv9{{cR0b z?MOQhosq;T@mO+rR~vQgC|$GEE&BLRskdo5sz>}U>Ga~ZCBxN=(qg~EvaH;d!w8*T zzKYN!(`s|FBY!qHS}vcHh=I~6?)aXSUJm=m%S_j00gZK3#x&Ok)I<{5k}4-6fyp_# zWt%3Y1cgw3CL`nJc$l!yOsb_TI_Aq1CyGqy+n3X{k)%$C_?->vO7goOkX{%b&CSk% zHshC{WHZ~yg+YiPDjG^dhZwTL#5Dc!sb-S`$pRV4QKO`O`JOt~h9}RS!8Tv}3lksMzRBgv{>#zb=ezUMBK1vD z@|EKI&e!cz=VxXv>b}eo?|mu%qYlj*ES&};uLhynXA`AK2#iyBO;iw~CkD>j`6(Xd z#)-u%e?wuTvNSa*oM;(V3tz^r1w3W!bkB{l9;e}F(GmnC9P=5htf3)#4B?ghNjibYBSnda&cey^*%5)P0)MK{g@xQARs0ZS6E8u4f?e2;c*5VT89QtmFxpW>a4b zLs&z@6pq;KR)T+!?JBDE;BIJbX$P}76JL1}B@F(7=wO8?Lkebmts&87?np?t8&Q{ zA%{Y`i1SA zBj4yRXuBT#KxIPEo#g`IiAud9H6&%@q@|u8%oj~~! zk4O|wAi>NNf>0L(NhArFNQdv)AH6IFje#9I$4}l0C>SCYx+Ct5S*W{^sx$JPz8p7A zXZu%n)(9FEw%*r<_YFuI^!{rI2Qr)}k2D&4RRluKQi`I`!1@ac{yGHhj8yBRO+I&W z%5qe;Y*z2;XW1$Aj5Dj5%}vcJPBJ)lvPVeQl#JVa%AxDftBsP3P^K*E9DB&UtkHiz zyuIbzgbC9M4|3)x$nEUYl!p>a_h911WsB~wR)oDVbmshi)+xY3Kt>}!h`EA%k7c(v z`hC1fy58J`nHBQVO>1BtPxqn@$yZ7QL7*;CDmT??WeTruII4XI+{I6@X5%*stT8yK zh>)}I!K7po_b)UK_F_at3aUeUIu>s!WXMBeiYRI3rqKMcWmPDkLVN_n zhomPj({avBAxD;sH+$-IL@2<9i<b4pXg%ujphNk;mJK9?^iIOTh^l2o6&$7yeC%qUr` z*ga6uT@9t1Z<;)HU1N4!yOdYUo~{pChj|P2%mpSU&DdF-Vv?pL`p*O>R3_`_{L%b3 zl6=Y=L0QQ&kQ6h>Xy!Mm9CC91|?@tk}?t^B^#!CcvemF{u{-H zrhfDF$gAcM`Hf(P{K)X3U$y!LU%%b_N>>ffBsd+W3Eo2b*}mP2uqAs;7*vktv&M*K zr$(QS!1;I?T`w;y8sw;xioC}4Ymfv-Qbma=uacNsj(!4B^f-`E==J(@_IYYfxl8<2g1Vo-X za9S1|j~_C$@-Vr_r?nxS1HHycfK?koDmXo|=@woE@vJLgsZ?n}}#Op5KbrkE#$S`h}lNstnPI7xB3J8kh^jD6)&XYwn* zMuYNbo}@m7W&Sq3Q+i7zcFVhR*Wmf%-6z*qHb2OWzS{}Y?aU?C1hmZjTfA@k~qRoJ6g>rXn zHdS(DoB(y~zghsvXBk@_`jIiX&Jelw^O8y;$h1?%Rx5WpY>irl)}b$a#dy3#JCL+7 zwrP=)BfY;?XmS30?%>1wAi2zWH@(+IQA73?a<2@~hs*}QGbtpbBb67yY4F8QDyU>3 zw5w6WIaIt2W>1k5tbi))6m;u!ZNXSbo~f3(_(jZM%XXD^@c$AJf$H zgWyISL7P#eXWo6TSbiBYDhOd?KjAJyWU^E`%{jcDX-OxG1q&3!VklfzY4;wDIbSDNd=V#e@8`r zFY{1D;TP=RQzpBAw-s^k=u~uvE+>++avZ#ImrR(ngM*on{Yc_ZJmifl`5xj;fC7TD9ZyE+JE*`pMtDy)|o-v!Oi|J!aa*8L`(3|QmH8xu) z9nAQ~ds%1Q`r{3SW5Wb%!bQxNMI{9Bjg>#fA6(O2QyMQG~~%( zNb@LQ*EMtnFFH=I?FR5Eo|Kb%V_FgXT%T8i5TCFC)}qS}aS`y5yi13T`StK~!rLaD zpGr6N;)-Ioo&qNc>FqoCp@qG+H(EfrcReJ+DC1bY9NU_b!j zcIm=NT0!3Xe!i;y%;MN`o*whi6$$6etV25Fo>J{CQrF}wdkhxptwX|9 zqMPDfF@YU?kCYwKMa+LLBVtvS7}+fb`B&DvPop%H!^eZ|QZS>exQUfMO7?xXKyc@) zkWCc%3!^O)<9rhP5Jy7R9DH_=&_foYvS9gj*b-0RqbG#826S{rdgw+X7!o(=bAc?) zW7(h2{FJYHy6x!#c9b(j2Ajrq2C6LU4J97L&)oVfkReR-?pM2PvU0G#EQG zenx^IoRi-mbzKp+c%eCtd{nr#=pvjt&;M^6*)F6Ul}w|-lh~xwpp-37W&gs)BwCM^ zCb)LA$SW&lCU~MDyiY z$ZqHFfjS+1<0$s8Q(5Ch3JlFK+4y8!2BO%~gizm9%cEy3rq0|O51}rysKVDdEErdP zWEK=bT9771@B+z<16~`Y&|Q9C!cU(!aVpPZa!A=C<%uUg{OWz9tD%8Tq^qGtm+o%6 zTs+ZZpO!dqqOtdl;u9=f+wz+Q%P%6DHx&jysT2+>lr*X^U)^`+RNReib$b z$wrnytcGrWaE^~9sm0Qx;tgitL}yBPR4;c)H=GM>FxoB|$o zK2j3y4#t{cjMy6iy#reKMalScsyy7N@u+@2mSQ#_3 zB2p%tzr6qLkr}xQElZvW9$+&7`3gk%T9OXJnLpAai+b%T>bQP9HN-JYR%vU9XvSm! z8r(D_8-6N?m{lL{{Ptfbjpphj&>$Y|VBVIBN~>^wB@>uc97yuav^<1e4?2~McpS(O z_hX@ge~qGnZeG)#443FBKP`;rxYFCy=78QlBzUv*XJ=A7;m-rP>N1@vE~53q6zuNw zM`UI(l^f)Ri1>R9(lF2@5Q9;~o?hzcnDnq(Jk0aj_7c6b6xE?Wo>eHhbC&@B^oA7c z=YTK~42@GFqZfW!9|as-yI1su{x28`=k@E6>;HhFKNx^^;BUyH3MwkzMI*&cU;0;{ z9DgT)xA3#(zbo_y0|3&i`W6AQwW890Fk9iDU%)>%y012DqZ2vx->Yv*>4cYZI&-kgM(E1f=0@aulYB8nJq(qJ>*N^Lju@A-Jc8q$N-C%P#uCQeZXvi ze{X_UKIoHH;VIy+1bCoYe=`6eRaRa?fhsF1!H>{Ljlw5im->Vr(gD0m0Ob2Sqdyt| zGjiRv0d*;$;tm=qBmc-6IMKIE{Vhn(f52;2^hW~#veeR_36PXal^{SXD@s57R~hf$ z2aW^JAZu6zJpI)GfRqsbe}Lx`IhBEdMtc1J@Fr~A*C(f6EASdpxHc&0&j!E(yk~o< z!XYa5u_^nm{;PES^`Rz#73uN+J3(~6^=AVBGV$U$ycHm%mKW<^Xra0ee*Y@0{Q^4s zwqpMV_!Cg2bhq5R1pS^o;Bla^uO|}1R-i&P1i_CMDr@1fSKzHr`#ktdfZwCA#=nP` zVLO&`ig zm@U!>{OTDvcuWS4s00ZbS;Ozw&%!@9^!dqeMaG)^Kfp6_@Bm;S832$Dnx~P08XiyA z%obS=`ktp?>t3)3RKGwVqmiRE>mdB>DfnOunELLg-vRs<@T@FofH2Su0KidTHQ<@5 zyA7*=U5DUje}E6SNVQni2m~M+Fj-*ZF8KK$VC%lVmmfz4n5_nKlYy$xDhx`Bt1s(;4^yOq`i>ww~at3~U6Wn$+ zB*&vZrTv8t>KkR@j=#PO1tooo>p!1LWT4MG1nG8PZwzz;0P+X@C(;-^1dQ(M2~U>8 z?_P%e$Kb9TVBQo6F`ya(U!j363+y`#uYLd@ZG|T9sX?3qo zv;dC*6Z(3>vu*INjj-@mFDYF8ugL=_^q20$OPAfL%H8(mL3fEp`07 zNFj1r*l!0vs0QF-EJ$HdGjb*{8!tSw+dE}F`Ta-1Xi&O~L5^1L;~y=Aw?C07yk*s1 zTkCg|gWT%-f*?xm^#s)b^u&TJJKl(#{#^+ey>VhMZAA@Cw6aJ?;VJlRyIfu!Dv*v> zFJeMQiT)m0#;f0ZZBzqbAAwX9`Xw@a_*NiX=|&Amv~o>v~mQ($2^7@>>(;E%QjJ{`q zzR7_G8L9zrP8IM3(kb)+FjnaX^;>LV)a{*c>?C}i1s{JU#X9?#w(E$KNUex>kmcqF z6siGmjTU6ycM0&nzycsd=|=SnG|2V68LDdF&~ezfQ)=@Um3b|S&mLxE4T&d^6?{xe zUkW8q4S?%dfUU?U#*ctIfdoZc6s$1?wkf_<$fBFaPQkXluz9!q@A@XMWb8Sj5gGUK z0&t809I&k#0QV5c$gszeDWSgvCgbNEKp~*L9js>1+6EJXz`c#T+Xz_9a)6&GgPl3> z)qcn=kP=-!eA=J8bjSh!98wsjQRz#gG{O1|2?VsjG~nmJ)j+JjzF4DyDWhTeJeV~B z#*c)wM2L)#nSwnGg1-!d=DdGxZLnBmfKFvCs|G@2=l^%Vtk7wKwoW*E7HXTIqyi2XN*S(WCuQ-CrdFG>vi~q6tM$BrjOVZR z>$e9ussZp0dSD#VFYp~8S&2sIbPyE|F_DlI2dRlLGDE(S6J%y$Y8=GG$cRLP4h(wv zuTFd3a-#dLuo(*>;glYi1OBApSIU866gel!1tp@aZ2sPS_Lli_sLQI4-6tPkA->^`r zU!d1ZLxM*77)-WTd#B8>YiyANySW92TA9kc50mW!ws()WZSZ_4X{Zv&aAH>kI;AmcJVM;7MX2dD|xZlD?f{}BRA0&YNV z8)o9i9fN*`ng0y@eQNK(5c*ZLb!jqwX|PTd%Q{!Kv68jKgcKt7$%f3+Z=+I7gSxdxh($C3HntbYx+4WjbwdWNBu305UK!HZ3qQEif}wGBY|dF*-3bD=;`ZFfddD!6^U$ N002ovPDHLkV1kMl!hrw) diff --git a/docs/overrides/assets/stylesheets/beeware_theme.css b/docs/overrides/assets/stylesheets/beeware_theme.css deleted file mode 100644 index efc21748..00000000 --- a/docs/overrides/assets/stylesheets/beeware_theme.css +++ /dev/null @@ -1,325 +0,0 @@ -/*---------------------------------------------------- - Build BeeWare header - --------------------------------------------------- */ -.navbar { - font-family: 'Cutive', serif; - position: relative; - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; - padding: 1rem 1rem 0.5rem 1rem; - line-height: 1.5; -} - -.navbar > .container, -.navbar > .container-fluid { - display: -ms-flexbox; - display: flex; - -ms-flex-wrap: wrap; - flex-wrap: wrap; - -ms-flex-align: center; - align-items: center; - -ms-flex-pack: justify; - justify-content: space-between; -} - -.navbar-dark .navbar-brand { - color: white; -} - -.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus { - color: white; -} - -.navbar-dark .navbar-nav .nav-link { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-nav .nav-link:hover, .navbar-dark .navbar-nav .nav-link:focus { - color: rgba(255, 255, 255, 0.75); -} - -.navbar-dark .navbar-nav .nav-link.disabled { - color: rgba(255, 255, 255, 0.25); -} - -.navbar-dark .navbar-nav .show > .nav-link, -.navbar-dark .navbar-nav .active > .nav-link, -.navbar-dark .navbar-nav .nav-link.show, -.navbar-dark .navbar-nav .nav-link.active { - color: white; -} - -.navbar-dark .navbar-toggler { - color: rgba(255, 255, 255, 0.5); - border-color: rgba(255, 255, 255, 0.1); -} - -.navbar-dark .navbar-toggler-icon { - background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); -} - -.navbar-dark .navbar-text { - color: rgba(255, 255, 255, 0.5); -} - -.navbar-dark .navbar-text a { - color: white; -} - -.navbar-dark .navbar-text a:hover, .navbar-dark .navbar-text a:focus { - color: white; -} - -.bg-dark { - background-color: #343a40 !important; -} - -@media (max-width: 768px) { - .navbar-toggler { - padding: 0.3em !important; - } - - .navbar-collapse li { - border-bottom: 1px solid #666; - padding: 0.5em 1em 0.4em; - } - - .navbar { - padding: 0 !important; - } - - .navbar-brand-block { - position: absolute; - margin-top: -40px; - padding: 0 1em 0.2em; - right: 10px; - } - - .nav-top { - margin: 0.7em 1em; - } - - .navbar-collapse { - background-color: #343a40; - padding-top: 0.75em; - } - - .navbar-collapse .header-button li.nav-item { - border-bottom: 0 - } - - .navbar-collapse .header-button { - border-bottom: 1px solid #666; - } -} - -@media (max-width: 767.98px) { - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - padding-right: 0; - padding-left: 0; - } -} - -@media (min-width: 768px) { - .navbar-expand-md { - -ms-flex-flow: row nowrap; - flex-flow: row nowrap; - -ms-flex-pack: start; - justify-content: flex-start; - } - - .navbar-expand-md .navbar-nav { - -ms-flex-direction: row; - flex-direction: row; - } - - .navbar-expand-md .navbar-nav .dropdown-menu { - position: absolute; - } - - /*!* TODO: originally 0.5rem *!*/ - /*.navbar-expand-md .navbar-nav .nav-link {*/ - /* padding-right: 0.5rem;*/ - /* padding-left: 0.5rem;*/ - /*}*/ - - .navbar-expand-md > .container, - .navbar-expand-md > .container-fluid { - -ms-flex-wrap: nowrap; - flex-wrap: nowrap; - } - - .navbar-expand-md .navbar-collapse { - display: -ms-flexbox !important; - display: flex !important; - -ms-flex-preferred-size: auto; - flex-basis: auto; - } - - .navbar-expand-md .navbar-toggler { - display: none; - } -} - -.fixed-top { - position: relative; - top: 0; - right: 0; - left: 0; - z-index: 1030; -} - -.navbar-toggler { - padding: 0.25rem 0.75rem; - font-size: 1.25rem; - line-height: 1; - background-color: transparent; - border: 1px solid transparent; - border-radius: 0.25rem; -} - -.navbar-toggler:hover, .navbar-toggler:focus { - text-decoration: none; -} - -.navbar-toggler:not(:disabled):not(.disabled) { - cursor: pointer; -} - -.navbar-toggler-icon { - display: inline-block; - width: 1.5em; - height: 1.5em; - vertical-align: middle; - content: ""; - background: no-repeat center center; - background-size: 100% 100%; -} - -.navbar-brand { - display: inline-block; - padding-top: 0.3125rem; - padding-bottom: 0.3125rem; - margin-right: 1rem; - font-size: 1.25rem; - line-height: inherit; - white-space: nowrap; - text-decoration: none !important; -} - -.navbar-brand:hover, .navbar-brand:focus { - text-decoration: none; -} - -.navbar-brand img { - max-width: initial; - margin-right: .5rem !important; - margin-left: .5rem !important; - vertical-align: middle; -} - -.navbar-collapse { - -ms-flex-preferred-size: 100%; - flex-basis: 100%; - -ms-flex-positive: 1; - flex-grow: 1; - -ms-flex-align: center; - align-items: center; -} - -.navbar-nav { - display: -ms-flexbox; - display: flex; - -ms-flex-direction: column; - flex-direction: column; - padding-left: 0; - margin-top: 0; - margin-bottom: 0; - list-style: none; -} - -.navbar-nav .nav-link { - padding-right: 0; - padding-left: 0; - text-decoration: none !important; -} - -.navbar-nav .dropdown-menu { - position: static; - float: none; -} - -.mr-auto, -.mx-auto { - margin-right: auto !important; -} - -.collapse:not(.show) { - display: none; -} - -/*---------------------------------------------------- - Material CSS overrides - --------------------------------------------------- */ -h1, h2, h3, h4, h5, h6 { - font-family: 'Cutive', serif; -} - -/* Shows the logo */ -.md-nav__title .md-nav__button { - display: unset; -} - - -/* Adjusts sidebar logo */ -.md-nav__title .md-nav__button.md-logo img { - height: unset; - padding-bottom: 1rem; -} - -/* Handles font-sizing issues with Material */ -body { - font-size: inherit; -} - -/* Compensates for compounding font-size percentage increases on the html tag */ -.navbar-brand { - font-size: 83.4%; - margin-right: 0.68rem; -} -.navbar-nav { - font-size: 66.7%; -} - -.navbar { - padding: 0.37rem 1rem 0 0.36rem; -} - -.navbar-brand img { - padding-bottom: 0.08rem; - padding-left: 0.12rem; - margin-right: 0.35rem !important; -} - -.navbar-expand-md .navbar-nav .nav-link { - padding-right: 0.33rem; - padding-left: 0.33rem; -} - -/* Tabbed content */ -.md-typeset .tabbed-labels > label:first-of-type { - margin-left: 1rem; -} - -.tabbed-content .tabbed-block { - border: 2px solid #777777; - padding: 0.5rem; - border-radius: 8px; -} diff --git a/docs/overrides/main.html b/docs/overrides/main.html deleted file mode 100644 index 024e5d0d..00000000 --- a/docs/overrides/main.html +++ /dev/null @@ -1,33 +0,0 @@ - - -{% extends "base.html" %} - -{% block styles %} - {{ super() }} - -{% endblock %} - -{% block fonts %} - {{ super() }} - -{% endblock %} diff --git a/docs/overrides/partials/header copy.html b/docs/overrides/partials/header copy.html deleted file mode 100644 index d5cb684e..00000000 --- a/docs/overrides/partials/header copy.html +++ /dev/null @@ -1,122 +0,0 @@ - - - -{% set class = "md-header" %} -{% if "navigation.tabs.sticky" in features %} - {% set class = class ~ " md-header--shadow md-header--lifted" %} -{% elif "navigation.tabs" not in features %} - {% set class = class ~ " md-header--shadow" %} -{% endif %} - - -
- - - - {% if "navigation.tabs.sticky" in features %} - {% if "navigation.tabs" in features %} - {% include "partials/tabs.html" %} - {% endif %} - {% endif %} -
diff --git a/docs/overrides/partials/header.html b/docs/overrides/partials/header.html deleted file mode 100644 index 7d0a5923..00000000 --- a/docs/overrides/partials/header.html +++ /dev/null @@ -1,66 +0,0 @@ -{% set class = "md-header" %} -{% if "navigation.tabs.sticky" in features %} - {% set class = class ~ " md-header--shadow md-header--lifted" %} -{% elif "navigation.tabs" not in features %} - {% set class = class ~ " md-header--shadow" %} -{% endif %} - - -
- - -
diff --git a/locales/de/LC_MESSAGES/SUMMARY.po b/locales/de/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/de/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po index 79033dd5..d3942298 100644 --- a/locales/de/LC_MESSAGES/how-to/index.po +++ b/locales/de/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: de\n" "Language-Team: de \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po index ca9c8e76..cf0af81b 100644 --- a/locales/de/LC_MESSAGES/index.po +++ b/locales/de/LC_MESSAGES/index.po @@ -1,101 +1,192 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-17 05:09+0000\n" "Last-Translator: Russell Keith-Magee \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Willkommen zum BeeWare-Tutorial!" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "Willkommen zum BeeWare-Tutorial! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 msgid "**Write Python. Run Anywhere.**" msgstr "**Einmal schreiben. Überall ausführen.**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Willkommen bei BeeWare! In diesem Tutorial werden wir eine grafische Benutzeroberfläche mit Python erstellen und sie als Desktop-, Mobil- und Web-Anwendung bereitstellen. Außerdem sehen wir uns an, wie Sie die BeeWare-Tools nutzen können, um übliche Aufgaben als App-Entwickler zu erledigen, wie zum Beispiel das Testen Ihrer App." +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"Willkommen bei BeeWare! In diesem Tutorial werden wir eine grafische " +"Benutzeroberfläche mit Python erstellen und sie als Desktop-, Mobil- und Web-" +"Anwendung bereitstellen. Außerdem sehen wir uns an, wie Sie die BeeWare-" +"Tools nutzen können, um übliche Aufgaben als App-Entwickler zu erledigen, " +"wie zum Beispiel das Testen Ihrer App." + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Übersetzungen sind verfügbar" +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "Wenn Sie mit Englisch nicht vertraut sind, sind Übersetzungen dieses Tutorials in [Deutsch]{1} und [Español]{2} verfügbar __, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6} und [中文(繁体)]{7}." +#: docs/en/index.md:15 +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"Wenn Sie mit Englisch nicht vertraut sind, sind Übersetzungen dieses " +"Tutorials in [Deutsch]{1} und [Español]{2} verfügbar __, [Français]{3}, " +"[Italiano]{4}, [Português]{5}, [中文(简体)]{6} und [中文(繁体)]{7}." + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "Dies ist eine maschinelle Übersetzung!" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Diese Version des Tutorials wurde durch maschinelle Übersetzung erstellt. Wir wissen, dass dies nicht ideal ist, aber wir waren der Meinung, dass eine schlechte Übersetzung besser ist als gar keine Übersetzung." +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Wenn du helfen möchtest, die Übersetzung zu verbessern, melde dich! Wir haben einen `#translations`-Kanal in [Discord]{1}. Stellen Sie sich dort vor und wir werden Sie dem Übersetzungsteam hinzufügen." +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" + +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "" +"Diese Version des Tutorials wurde durch maschinelle Übersetzung erstellt. " +"Wir wissen, dass dies nicht ideal ist, aber wir waren der Meinung, dass eine " +"schlechte Übersetzung besser ist als gar keine Übersetzung." + +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"Wenn du helfen möchtest, die Übersetzung zu verbessern, melde dich! Wir " +"haben einen `#translations`-Kanal in [Discord]{1}. Stellen Sie sich dort vor " +"und wir werden Sie dem Übersetzungsteam hinzufügen." + +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "Dies ist eine Übersetzung!" +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Dieses Dokument ist eine Übersetzung der englischen Version. Die Übersetzung wurde von Menschen überprüft, aber neuere Abschnitte können durch maschinelle Übersetzung erstellt oder überhaupt nicht übersetzt worden sein." +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "" +"Dieses Dokument ist eine Übersetzung der englischen Version. Die Übersetzung " +"wurde von Menschen überprüft, aber neuere Abschnitte können durch " +"maschinelle Übersetzung erstellt oder überhaupt nicht übersetzt worden sein." -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:64 msgid "What is BeeWare?" msgstr "Was ist BeeWare?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare ist kein einzelnes Produkt, Werkzeug oder eine Bibliothek - es ist eine Sammlung von Werkzeugen und Bibliotheken, die alle zusammenarbeiten, um Ihnen zu helfen, plattformübergreifende Python-Anwendungen mit einer nativen GUI zu schreiben. Es umfasst:" +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"BeeWare ist kein einzelnes Produkt, Werkzeug oder eine Bibliothek - es ist " +"eine Sammlung von Werkzeugen und Bibliotheken, die alle zusammenarbeiten, um " +"Ihnen zu helfen, plattformübergreifende Python-Anwendungen mit einer nativen " +"GUI zu schreiben. Es umfasst:" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, ein plattformübergreifendes Widget-Toolkit;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#: docs/en/index.md:71 #, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, ein Werkzeug zum Verpacken von Python-Projekten als verteilbare Artefakte, die an Endbenutzer ausgeliefert werden können;" +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "" +"[Briefcase]{1}, ein Werkzeug zum Verpacken von Python-Projekten als " +"verteilbare Artefakte, die an Endbenutzer ausgeliefert werden können;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#: docs/en/index.md:74 #, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Bibliotheken (wie [Rubicon ObjC]{1}) für den Zugriff auf plattformspezifische Bibliotheken;" +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" +msgstr "" +"Bibliotheken (wie [Rubicon ObjC]{1}) für den Zugriff auf " +"plattformspezifische Bibliotheken;" -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Vorkompilierte Python-Builds, die auf Plattformen verwendet werden können, für die keine offiziellen Python-Installationsprogramme verfügbar sind." +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." +msgstr "" +"Vorkompilierte Python-Builds, die auf Plattformen verwendet werden können, " +"für die keine offiziellen Python-Installationsprogramme verfügbar sind." -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "In diesem Tutorium werden wir alle diese Tools verwenden, aber als Benutzer müssen Sie nur mit den ersten beiden (Toga und Briefcase) interagieren. Jedes der Tools kann jedoch auch einzeln verwendet werden - zum Beispiel können Sie Briefcase verwenden, um eine App bereitzustellen, ohne Toga als GUI-Toolkit zu verwenden." +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"In diesem Tutorium werden wir alle diese Tools verwenden, aber als Benutzer " +"müssen Sie nur mit den ersten beiden (Toga und Briefcase) interagieren. " +"Jedes der Tools kann jedoch auch einzeln verwendet werden - zum Beispiel " +"können Sie Briefcase verwenden, um eine App bereitzustellen, ohne Toga als " +"GUI-Toolkit zu verwenden." -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "Die BeeWare-Suite ist für macOS, Windows, Linux (unter Verwendung von GTK), für mobile Plattformen wie Android und iOS und für das Web verfügbar." +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" +"Die BeeWare-Suite ist für macOS, Windows, Linux (unter Verwendung von GTK), " +"für mobile Plattformen wie Android und iOS und für das Web verfügbar." -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "Los geht's!" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Sind Sie bereit, BeeWare selbst auszuprobieren? [Lassen Sie uns eine plattformübergreifende Anwendung in Python erstellen!][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "Willkommen zum BeeWare-Tutorial!" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po index b232e6e9..073f4171 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,131 +1,275 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-19 17:09+0000\n" "Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "Kameranutzung" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +#: docs/en/tutorial/topics/camera-access.md:3 #, fuzzy -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "Fast jedes moderne Computergerät verfügt über eine Kamera. In diesem Tutorial schreiben wir eine neue Anwendung, die Zugriff auf diese Kamera anfordern, ein Foto aufnehmen und dieses Foto dann in der App anzeigen kann. Neue Anwendung, die die Kamera Ihres Geräts verwendet." +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" +"Fast jedes moderne Computergerät verfügt über eine Kamera. In diesem " +"Tutorial schreiben wir eine neue Anwendung, die Zugriff auf diese Kamera " +"anfordern, ein Foto aufnehmen und dieses Foto dann in der App anzeigen kann. " +"Neue Anwendung, die die Kamera Ihres Geräts verwendet." -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "Dieses Tutorial funktioniert nicht auf allen Plattformen!" +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." msgstr "Leider funktioniert dieses Tutorial derzeit nur auf macOS und Android." -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "Obwohl alle iPhones über Kameras verfügen, verfügt der iOS-*Simulator* nicht über eine funktionierende Kamera. Windows- und Linux-Geräte verfügen ebenfalls über Kameras, aber Toga kann derzeit auf diesen Plattformen nicht auf die Kamera zugreifen." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." +msgstr "" +"Obwohl alle iPhones über Kameras verfügen, verfügt der iOS-*Simulator* nicht " +"über eine funktionierende Kamera. Windows- und Linux-Geräte verfügen " +"ebenfalls über Kameras, aber Toga kann derzeit auf diesen Plattformen nicht " +"auf die Kamera zugreifen." -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "Der hier dargestellte Code *läuft* unter Windows oder Linux, löst jedoch einen Fehler aus, wenn Sie versuchen, ein Foto aufzunehmen." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." +msgstr "" +"Der hier dargestellte Code *läuft* unter Windows oder Linux, löst jedoch " +"einen Fehler aus, wenn Sie versuchen, ein Foto aufzunehmen." -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "Der Code funktioniert, wenn er auf einem echten iOS-Gerät ausgeführt wird, kann jedoch kein Foto aufnehmen, wenn er im iOS-Simulator bereitgestellt wird." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." +msgstr "" +"Der Code funktioniert, wenn er auf einem echten iOS-Gerät ausgeführt wird, " +"kann jedoch kein Foto aufnehmen, wenn er im iOS-Simulator bereitgestellt " +"wird." -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "Neues Projekt starten" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "Für dieses Tutorial werden wir nicht auf der Anwendung aus dem Kerntutorial aufbauen, sondern ein neues Projekt beginnen. Sie können dieselbe virtuelle Umgebung verwenden, die Sie im ersten Projekt verwendet haben. Wir müssen jedoch den Assistenten „Aktenkoffer neu“ erneut ausführen." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." +msgstr "" +"Für dieses Tutorial werden wir nicht auf der Anwendung aus dem Kerntutorial " +"aufbauen, sondern ein neues Projekt beginnen. Sie können dieselbe virtuelle " +"Umgebung verwenden, die Sie im ersten Projekt verwendet haben. Wir müssen " +"jedoch den Assistenten „Aktenkoffer neu“ erneut ausführen." -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "Wechseln Sie zurück in das Verzeichnis, das den Projektordner `helloworld` enthält, und starten Sie ein neues Projekt mit dem Namen „Hello Camera“:" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" +msgstr "" +"Wechseln Sie zurück in das Verzeichnis, das den Projektordner `helloworld` " +"enthält, und starten Sie ein neues Projekt mit dem Namen „Hello Camera“:" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "Fügen Sie Code hinzu, um ein Foto aufzunehmen" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "Der Assistent hat ein neues leeres Toga-Projekt generiert. Wir können jetzt den Code zum Aufnehmen und Anzeigen eines Fotos hinzufügen. Bearbeiten Sie die Datei `app.py` für die neue Anwendung, sodass sie den folgenden Inhalt hat:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" +msgstr "" +"Der Assistent hat ein neues leeres Toga-Projekt generiert. Wir können jetzt " +"den Code zum Aufnehmen und Anzeigen eines Fotos hinzufügen. Bearbeiten Sie " +"die Datei `app.py` für die neue Anwendung, sodass sie den folgenden Inhalt " +"hat:" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +#: docs/en/tutorial/topics/camera-access.md:107 #, fuzzy -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "Dieser Code weist gegenüber der von Briefcase generierten Standard-App zwei Änderungen auf. Diese Ergänzungen sind gelb hervorgehoben:" +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" +msgstr "" +"Dieser Code weist gegenüber der von Briefcase generierten Standard-App zwei " +"Änderungen auf. Diese Ergänzungen sind gelb hervorgehoben:" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "Der erste hervorgehobene Codeblock (in der Methode `startup()`) fügt die beiden Widgets hinzu, die zur Steuerung der Kamera erforderlich sind: ein `ImageView` zum Anzeigen eines Fotos und einen `Button` zum Auslösen der Kamera." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." +msgstr "" +"Der erste hervorgehobene Codeblock (in der Methode `startup()`) fügt die " +"beiden Widgets hinzu, die zur Steuerung der Kamera erforderlich sind: ein " +"`ImageView` zum Anzeigen eines Fotos und einen `Button` zum Auslösen der " +"Kamera." -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "Der zweite hervorgehobene Codeblock (die Methode `take_photo()`) definiert den Ereignishandler, wenn die Schaltfläche gedrückt wird. Dieser Handler bestätigt zunächst, ob die Anwendung die Berechtigung zum Aufnehmen eines Fotos hat. Wenn keine Berechtigung vorliegt, wird sie angefordert. Dann wird ein Foto aufgenommen. Die Anforderung der Berechtigung und die Anforderung zum Aufnehmen eines Fotos sind beide asynchrone Anforderungen, sodass die Verwendung von `await` erforderlich ist. Während die App darauf wartet, dass der Benutzer die Berechtigung bestätigt oder das Foto aufnimmt, kann die Ereignisschleife der App im Hintergrund fortgesetzt werden." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." +msgstr "" +"Der zweite hervorgehobene Codeblock (die Methode `take_photo()`) definiert " +"den Ereignishandler, wenn die Schaltfläche gedrückt wird. Dieser Handler " +"bestätigt zunächst, ob die Anwendung die Berechtigung zum Aufnehmen eines " +"Fotos hat. Wenn keine Berechtigung vorliegt, wird sie angefordert. Dann wird " +"ein Foto aufgenommen. Die Anforderung der Berechtigung und die Anforderung " +"zum Aufnehmen eines Fotos sind beide asynchrone Anforderungen, sodass die " +"Verwendung von `await` erforderlich ist. Während die App darauf wartet, dass " +"der Benutzer die Berechtigung bestätigt oder das Foto aufnimmt, kann die " +"Ereignisschleife der App im Hintergrund fortgesetzt werden." -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt zurück, das als Inhalt der `ImageView` zugewiesen werden kann. Wenn die Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf `self.camera.take_photo()` `None` zurück und das Ergebnis kann ignoriert werden. Wenn der Benutzer keine Berechtigung zur Verwendung der Kamera erteilt oder die Kamera auf der aktuellen Plattform nicht implementiert ist, wird ein Fehler ausgelöst und dem Benutzer ein Dialogfeld angezeigt." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." +msgstr "" +"Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt " +"zurück, das als Inhalt der `ImageView` zugewiesen werden kann. Wenn die " +"Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf " +"`self.camera.take_photo()` `None` zurück und das Ergebnis kann ignoriert " +"werden. Wenn der Benutzer keine Berechtigung zur Verwendung der Kamera " +"erteilt oder die Kamera auf der aktuellen Plattform nicht implementiert ist, " +"wird ein Fehler ausgelöst und dem Benutzer ein Dialogfeld angezeigt." -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "Geräteberechtigungen hinzufügen" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "Ein Teil des Codes, den wir gerade hinzugefügt haben, fragt nach der Erlaubnis, die Kamera zu verwenden. Dies ist eine gängige Funktion moderner App-Plattformen – Sie können nicht auf Hardwarefunktionen zugreifen, ohne vorher ausdrücklich die Erlaubnis des Benutzers einzuholen." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." +msgstr "" +"Ein Teil des Codes, den wir gerade hinzugefügt haben, fragt nach der " +"Erlaubnis, die Kamera zu verwenden. Dies ist eine gängige Funktion moderner " +"App-Plattformen – Sie können nicht auf Hardwarefunktionen zugreifen, ohne " +"vorher ausdrücklich die Erlaubnis des Benutzers einzuholen." -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "Diese Anfrage besteht aus zwei Teilen. Der erste Teil befindet sich im Code, den wir gerade gesehen haben. Bevor die App jedoch Berechtigungen anfordern kann, muss sie die Berechtigungen deklarieren, die sie anfordern wird." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." +msgstr "" +"Diese Anfrage besteht aus zwei Teilen. Der erste Teil befindet sich im Code, " +"den wir gerade gesehen haben. Bevor die App jedoch Berechtigungen anfordern " +"kann, muss sie die Berechtigungen deklarieren, die sie anfordern wird." -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +#: docs/en/tutorial/topics/camera-access.md:141 #, fuzzy -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "Die für jede Plattform erforderlichen Berechtigungen unterscheiden sich geringfügig, aber Briefcase bietet eine plattformübergreifende Darstellung für viele gängige Hardwareberechtigungen. Fügen Sie im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` der Datei `pyproject.toml` Ihrer App Folgendes hinzu (direkt über der Deklaration `Sources`):" +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" +msgstr "" +"Die für jede Plattform erforderlichen Berechtigungen unterscheiden sich " +"geringfügig, aber Briefcase bietet eine plattformübergreifende Darstellung " +"für viele gängige Hardwareberechtigungen. Fügen Sie im " +"Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` der Datei " +"`pyproject.toml` Ihrer App Folgendes hinzu (direkt über der Deklaration " +"`Sources`):" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "Dies erklärt, dass Ihre App auf die Kamera zugreifen muss, und liefert eine kurze Beschreibung, warum die Kamera erforderlich ist. Diese Beschreibung ist auf einigen Plattformen erforderlich (insbesondere macOS und iOS) und wird dem Benutzer als zusätzliche Information angezeigt, wenn der Berechtigungsdialog angezeigt wird." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." +msgstr "" +"Dies erklärt, dass Ihre App auf die Kamera zugreifen muss, und liefert eine " +"kurze Beschreibung, warum die Kamera erforderlich ist. Diese Beschreibung " +"ist auf einigen Plattformen erforderlich (insbesondere macOS und iOS) und " +"wird dem Benutzer als zusätzliche Information angezeigt, wenn der " +"Berechtigungsdialog angezeigt wird." -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "Wir können jetzt die App generieren und ausführen:" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "Wenn die App ausgeführt wird, wird Ihnen eine Schaltfläche angezeigt. Drücken Sie die Schaltfläche, und der Standardkameradialog der Plattform wird angezeigt. Machen Sie ein Foto. Der Kameradialog verschwindet und das Foto wird in der App direkt über der Schaltfläche angezeigt. Sie können dann ein weiteres Foto machen. Dadurch wird das erste Foto ersetzt." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." +msgstr "" +"Wenn die App ausgeführt wird, wird Ihnen eine Schaltfläche angezeigt. " +"Drücken Sie die Schaltfläche, und der Standardkameradialog der Plattform " +"wird angezeigt. Machen Sie ein Foto. Der Kameradialog verschwindet und das " +"Foto wird in der App direkt über der Schaltfläche angezeigt. Sie können dann " +"ein weiteres Foto machen. Dadurch wird das erste Foto ersetzt." -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 msgid "Adding more permissions" msgstr "Weitere Berechtigungen hinzufügen" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "Berechtigungen werden in den Dateien deklariert, die während des ursprünglichen Aufrufs von `briefcase create` generiert werden. Leider kann Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. Sie können dies tun, indem Sie `briefcase create` erneut ausführen. Dadurch werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die Anwendung wird dann mit den neuen Berechtigungen neu generiert." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." +msgstr "" +"Berechtigungen werden in den Dateien deklariert, die während des " +"ursprünglichen Aufrufs von `briefcase create` generiert werden. Leider kann " +"Briefcase diese Dateien nicht aktualisieren, nachdem sie einmal generiert " +"wurden. Wenn Sie Ihrer App also eine neue Berechtigung hinzufügen oder " +"vorhandene Berechtigungen ändern möchten, müssen Sie die App neu erstellen. " +"Sie können dies tun, indem Sie `briefcase create` erneut ausführen. Dadurch " +"werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die " +"Anwendung wird dann mit den neuen Berechtigungen neu generiert." +#~ msgid "Using the camera" +#~ msgstr "Kameranutzung" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po index 9a7275a0..f5a67f29 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -1,142 +1,225 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-19 17:09+0000\n" "Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "Symbole anpassen" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" +msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Die App, die wir im Haupttutorial entwickelt haben, verwendet beim Verpacken standardmäßig das Symbol „gray bee“. Personalisieren wir diese Anwendung, indem wir sie so konfigurieren, dass sie unser eigenes Symbol verwendet." +#: docs/en/tutorial/topics/custom-icons.md:3 +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "" +"Die App, die wir im Haupttutorial entwickelt haben, verwendet beim Verpacken " +"standardmäßig das Symbol „gray bee“. Personalisieren wir diese Anwendung, " +"indem wir sie so konfigurieren, dass sie unser eigenes Symbol verwendet." -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 msgid "Adding an icon" msgstr "Hinzufügen eines Symbols" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "Jede Plattform verwendet ein anderes Format für Anwendungssymbole – und einige Plattformen benötigen *mehrere* Symbole in unterschiedlichen Größen und Formen. Um dies zu berücksichtigen, bietet Briefcase eine Kurzform, mit der Sie ein Symbol einmal konfigurieren und diese Definition dann auf alle verschiedenen Symbole erweitern können, die für jede einzelne Plattform erforderlich sind." - -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "Bearbeiten Sie Ihr `pyproject.toml` und fügen Sie ein neues Konfigurationselement `Symbol` im Konfigurationsabschnitt `[tool.briefcase.app.helloworld]` direkt über der Definition von `Quellen` hinzu:" - -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." +msgstr "" +"Jede Plattform verwendet ein anderes Format für Anwendungssymbole – und " +"einige Plattformen benötigen *mehrere* Symbole in unterschiedlichen Größen " +"und Formen. Um dies zu berücksichtigen, bietet Briefcase eine Kurzform, mit " +"der Sie ein Symbol einmal konfigurieren und diese Definition dann auf alle " +"verschiedenen Symbole erweitern können, die für jede einzelne Plattform " +"erforderlich sind." + +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" +"Bearbeiten Sie Ihr `pyproject.toml` und fügen Sie ein neues " +"Konfigurationselement `Symbol` im Konfigurationsabschnitt `" +"[tool.briefcase.app.helloworld]` direkt über der Definition von `Quellen` " +"hinzu:" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**Kommt bald**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Wir haben jetzt eine Anwendung mit einem eigenen Symbol auf unserem Desktop und Telefon! Wie können wir diese Anwendung mit allen anderen teilen? Schau dir [Tutorial 11][tutorial-11] an, um das herauszufinden..." +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." +msgstr "" -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutorial 10 - Machen Sie diese Anwendung zu Ihrer eigenen" +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" -#~ msgid "Next steps" -#~ msgstr "Nächste Schritte" +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" +msgstr "" -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." +msgstr "" +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" + +#~ msgid "Customizing icons" +#~ msgstr "Symbole anpassen" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/index.po b/locales/de/LC_MESSAGES/tutorial/topics/index.po index 31deddcd..c4c4087c 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/index.po @@ -1,31 +1,27 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-14 00:09+0000\n" "Last-Translator: tct123 \n" "Language-Team: German \n" -"Language: de\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.7-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "Weiterführende Informationen" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" +msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "" "Möchten Sie tiefer in bestimmte Themen einsteigen? Hier sind einige " "zusätzliche Tutorials, die allgemeine Aspekte der Anwendungsentwicklung " @@ -33,32 +29,41 @@ msgstr "" "Reihenfolge abgeschlossen werden. Sie setzen jedoch alle voraus, dass Sie " "das Haupt-Tutorial abgeschlossen haben." -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "Symbole anpassen" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" +msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "" "Passen Sie das Erscheinungsbild Ihrer Anwendung an, indem Sie das " "standardmäßige „graue Biene“-Symbol ersetzen." -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "Anwendungstests" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" msgstr "" -"Wie stellen Sie sicher, dass Ihre Anwendung funktioniert und funktioniert? " -"Indem Sie Ihrem Projekt eine Testsuite hinzufügen!" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "Kamerazugriff" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." msgstr "" "Verwenden Sie die Kamera Ihres Mobil- oder Desktopgeräts, um innerhalb Ihrer " "Anwendung ein Bild aufzunehmen und anzuzeigen." + +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" +msgstr "" + +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" +msgstr "" +"Wie stellen Sie sicher, dass Ihre Anwendung funktioniert und funktioniert? " +"Indem Sie Ihrem Projekt eine Testsuite hinzufügen!" + +#~ msgid "Going further" +#~ msgstr "Weiterführende Informationen" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/testing.po b/locales/de/LC_MESSAGES/tutorial/topics/testing.po index 217b0524..791ff3d3 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/testing.po @@ -2,146 +2,271 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-02-17 02:05+0000\n" "Last-Translator: Ettore Atalan \n" "Language-Team: German \n" -"Language: de\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.10\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Prüfzeiten" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#: docs/en/tutorial/topics/testing.md:3 #, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "Bei der Softwareentwicklung wird meist kein neuer Code geschrieben, sondern bestehender Code geändert. Die Sicherstellung, dass vorhandener Code weiterhin so funktioniert, wie wir es erwarten, ist ein wichtiger Teil des Softwareentwicklungsprozesses. Eine Möglichkeit, das Verhalten unserer Anwendung sicherzustellen, ist eine *Testsuite*." +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" +"Bei der Softwareentwicklung wird meist kein neuer Code geschrieben, sondern " +"bestehender Code geändert. Die Sicherstellung, dass vorhandener Code " +"weiterhin so funktioniert, wie wir es erwarten, ist ein wichtiger Teil des " +"Softwareentwicklungsprozesses. Eine Möglichkeit, das Verhalten unserer " +"Anwendung sicherzustellen, ist eine *Testsuite*." -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 #, fuzzy msgid "Running the test suite" msgstr "Ausführen der Testsuite" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#: docs/en/tutorial/topics/testing.md:10 #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der obersten Ebene erzeugt: `src` und `tests`. Der Ordner `src` enthält den Code für unsere Anwendung; der Ordner `tests` enthält unsere Testsuite. Innerhalb des Ordners `tests` befindet sich eine Datei namens `test_app.py` mit folgendem Inhalt:" +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" +"Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als " +"wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der " +"obersten Ebene erzeugt: `src` und `tests`. Der Ordner `src` enthält den Code " +"für unsere Anwendung; der Ordner `tests` enthält unsere Testsuite. Innerhalb " +"des Ordners `tests` befindet sich eine Datei namens `test_app.py` mit " +"folgendem Inhalt:" -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#: docs/en/tutorial/topics/testing.md:21 #, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Dies ist ein [Pytest]{1} *Testfall* - ein Codeblock, der ausgeführt werden kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - aber es ist ein Test, den wir durchführen können." +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" +"Dies ist ein [Pytest]{1} *Testfall* - ein Codeblock, der ausgeführt werden " +"kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem " +"Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - " +"aber es ist ein Test, den wir durchführen können." -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#: docs/en/tutorial/topics/testing.md:26 #, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Wir können diese Testsuite mit der Option `--test` für `briefcase dev` ausführen. Da dies das erste Mal ist, dass wir Tests ausführen, müssen wir auch die Option `-r` übergeben, um sicherzustellen, dass die Testanforderungen auch installiert werden:" +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" +"Wir können diese Testsuite mit der Option `--test` für `briefcase dev` " +"ausführen. Da dies das erste Mal ist, dass wir Tests ausführen, müssen wir " +"auch die Option `-r` übergeben, um sicherzustellen, dass die " +"Testanforderungen auch installiert werden:" -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#: docs/en/tutorial/topics/testing.md:112 #, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Erfolgreich! Wir haben soeben einen einzigen Test durchgeführt, der bestätigt, dass die Python-Mathematik so funktioniert, wie wir es erwartet haben (was für eine Erleichterung!)." +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "" +"Erfolgreich! Wir haben soeben einen einzigen Test durchgeführt, der " +"bestätigt, dass die Python-Mathematik so funktioniert, wie wir es erwartet " +"haben (was für eine Erleichterung!)." -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#: docs/en/tutorial/topics/testing.md:115 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Lassen Sie uns diesen Platzhaltertest durch einen Test ersetzen, der überprüft, ob sich unsere Methode `Gruß()` so verhält, wie wir es erwarten. Ersetzen Sie den Inhalt von `test_app.py` durch den folgenden:" +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" +"Lassen Sie uns diesen Platzhaltertest durch einen Test ersetzen, der " +"überprüft, ob sich unsere Methode `Gruß()` so verhält, wie wir es erwarten. " +"Ersetzen Sie den Inhalt von `test_app.py` durch den folgenden:" -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#: docs/en/tutorial/topics/testing.md:133 #, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Dies definiert zwei neue Tests, die beiden erwarteten Verhaltensweisen überprüfen: die Ausgabe, wenn ein Name angegeben wird, und die Ausgabe, wenn der Name leer ist." +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "" +"Dies definiert zwei neue Tests, die beiden erwarteten Verhaltensweisen " +"überprüfen: die Ausgabe, wenn ein Name angegeben wird, und die Ausgabe, wenn " +"der Name leer ist." -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#: docs/en/tutorial/topics/testing.md:137 #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Wir können nun die Testsuite erneut ausführen. Diesmal brauchen wir die Option `-r` nicht, da die Testanforderungen bereits installiert wurden; wir müssen nur die Option `--test` verwenden:" +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "" +"Wir können nun die Testsuite erneut ausführen. Diesmal brauchen wir die " +"Option `-r` nicht, da die Testanforderungen bereits installiert wurden; wir " +"müssen nur die Option `--test` verwenden:" -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#: docs/en/tutorial/topics/testing.md:199 #, fuzzy msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Ausgezeichnet! Unsere Utility-Methode `Gruß()` funktioniert wie erwartet." +msgstr "" +"Ausgezeichnet! Unsere Utility-Methode `Gruß()` funktioniert wie erwartet." -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 #, fuzzy msgid "Test driven development" msgstr "Testgetriebene Entwicklung" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#: docs/en/tutorial/topics/testing.md:203 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Jetzt, da wir eine Test-Suite haben, können wir sie nutzen, um die Entwicklung neuer Funktionen voranzutreiben. Ändern wir unsere Anwendung, um eine spezielle Begrüßung für einen bestimmten Benutzer zu erhalten. Wir können damit beginnen, indem wir einen Testfall für das neue Verhalten, das wir gerne sehen möchten, am Ende von `test_app.py` hinzufügen:" +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" +"Jetzt, da wir eine Test-Suite haben, können wir sie nutzen, um die " +"Entwicklung neuer Funktionen voranzutreiben. Ändern wir unsere Anwendung, um " +"eine spezielle Begrüßung für einen bestimmten Benutzer zu erhalten. Wir " +"können damit beginnen, indem wir einen Testfall für das neue Verhalten, das " +"wir gerne sehen möchten, am Ende von `test_app.py` hinzufügen:" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 #, fuzzy msgid "Then, run the test suite with this new test:" msgstr "Führen Sie dann die Testsuite mit diesem neuen Test aus:" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#: docs/en/tutorial/topics/testing.md:320 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Dieses Mal sehen wir einen Testfehler - und die Ausgabe erklärt die Quelle des Fehlers: der Test erwartet die Ausgabe \"BeeWare the IDEs of Python!\", aber unsere Implementierung von `Gruß()` gibt \"Hallo, Brutus\" zurück. Ändern wir die Implementierung von `Gruß()` in `src/helloworld/app.py`, um das neue Verhalten zu erhalten:" +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" +"Dieses Mal sehen wir einen Testfehler - und die Ausgabe erklärt die Quelle " +"des Fehlers: der Test erwartet die Ausgabe \"BeeWare the IDEs of Python!\", " +"aber unsere Implementierung von `Gruß()` gibt \"Hallo, Brutus\" zurück. " +"Ändern wir die Implementierung von `Gruß()` in `src/helloworld/app.py`, um " +"das neue Verhalten zu erhalten:" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 #, fuzzy msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Wenn wir die Tests noch einmal durchführen, sehen wir, dass die Tests bestanden wurden:" +msgstr "" +"Wenn wir die Tests noch einmal durchführen, sehen wir, dass die Tests " +"bestanden wurden:" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 #, fuzzy msgid "Runtime tests" msgstr "Laufzeittests" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Bislang haben wir die Tests im Entwicklungsmodus ausgeführt. Dies ist besonders nützlich, wenn Sie neue Funktionen entwickeln, da Sie schnell Tests und Code hinzufügen können, damit diese Tests erfolgreich sind. Irgendwann werden Sie jedoch sicherstellen wollen, dass Ihr Code auch als Anwendungspaket korrekt ausgeführt wird." +#: docs/en/tutorial/topics/testing.md:400 +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" +"Bislang haben wir die Tests im Entwicklungsmodus ausgeführt. Dies ist " +"besonders nützlich, wenn Sie neue Funktionen entwickeln, da Sie schnell " +"Tests und Code hinzufügen können, damit diese Tests erfolgreich sind. " +"Irgendwann werden Sie jedoch sicherstellen wollen, dass Ihr Code auch als " +"Anwendungspaket korrekt ausgeführt wird." -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#: docs/en/tutorial/topics/testing.md:406 #, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Die Optionen `--test` und `-r` können auch an den Befehl `run` übergeben werden. Wenn Sie `briefcase run --test -r` verwenden, wird die gleiche Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in Ihrer Entwicklungsumgebung:" +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" +"Die Optionen `--test` und `-r` können auch an den Befehl `run` übergeben " +"werden. Wenn Sie `briefcase run --test -r` verwenden, wird die gleiche " +"Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in " +"Ihrer Entwicklungsumgebung:" -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#: docs/en/tutorial/topics/testing.md:529 #, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Wie bei `briefcase dev --test` wird die Option `-r` nur bei der ersten Ausführung der Testsuite benötigt, um sicherzustellen, dass die Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese Option weglassen." +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" +"Wie bei `briefcase dev --test` wird die Option `-r` nur bei der ersten " +"Ausführung der Testsuite benötigt, um sicherzustellen, dass die " +"Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese " +"Option weglassen." -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#: docs/en/tutorial/topics/testing.md:533 #, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Sie können auch die Option `--test` auf mobilen Backends verwenden: - so funktionieren `briefcase run iOS --test` und `briefcase run android --test`, die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" +"Sie können auch die Option `--test` auf mobilen Backends verwenden: - so " +"funktionieren `briefcase run iOS --test` und `briefcase run android --test`, " +"die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." -#~ msgid "Next steps" -#~ msgstr "Nächste Schritte" +#, fuzzy +#~ msgid "Testing times" +#~ msgstr "Prüfzeiten" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po index e60cd64f..210b5b0d 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -1,233 +1,363 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-19 17:09+0000\n" "Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutorial 0 - Erstinstallation" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Bevor wir unsere erste BeeWare-App erstellen, müssen wir sicherstellen, dass wir alle Voraussetzungen für den Betrieb von BeeWare erfüllen." +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "" +"Bevor wir unsere erste BeeWare-App erstellen, müssen wir sicherstellen, dass " +"wir alle Voraussetzungen für den Betrieb von BeeWare erfüllen." -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 msgid "Install Python" msgstr "Python installieren" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 msgid "The first thing we'll need is a working Python interpreter." msgstr "Als erstes brauchen wir einen funktionierenden Python-Interpreter." -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#: docs/en/tutorial/tutorial-0.md:12 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" +"Wenn Sie unter Windows arbeiten, können Sie das offizielle " +"Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können " +"jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, " +"Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, " +"was Sie tun." -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#: docs/en/tutorial/tutorial-0.md:18 #, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können Python über [homebrew]{1} installieren. Sie können [pyenv]{2} verwenden, um mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-Benutzer können Python aus dem Windows App Store installieren. Für Benutzer mit einem datenwissenschaftlichen Hintergrund könnten auch [Anaconda]{3} oder [Miniconda]{4} interessant sein." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können " +"Python über [homebrew]{1} installieren. Sie können [pyenv]{2} verwenden, um " +"mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-" +"Benutzer können Python aus dem Windows App Store installieren. Für Benutzer " +"mit einem datenwissenschaftlichen Hintergrund könnten auch [Anaconda]{3} " +"oder [Miniconda]{4} interessant sein." + +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Unter Linux installieren Sie Python mit dem Paketmanager des Systems (`apt` unter Debian/Ubuntu/Mint, `dnf` unter Fedora, oder `pacman` unter Arch)." +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"Unter Linux installieren Sie Python mit dem Paketmanager des Systems (`apt` " +"unter Debian/Ubuntu/Mint, `dnf` unter Fedora, oder `pacman` unter Arch)." -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Sie sollten sich vergewissern, dass das System Python 3.8 oder eine neuere Version verwendet. Ist dies nicht der Fall (z. B. wird Ubuntu 18.04 mit Python 3.6 ausgeliefert), müssen Sie Ihre Linux-Distribution auf eine neuere Version aktualisieren." +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"Sie sollten sich vergewissern, dass das System Python 3.8 oder eine neuere " +"Version verwendet. Ist dies nicht der Fall (z. B. wird Ubuntu 18.04 mit " +"Python 3.6 ausgeliefert), müssen Sie Ihre Linux-Distribution auf eine neuere " +"Version aktualisieren." -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 msgid "Support for Raspberry Pi is limited at this time." msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Wenn Sie unter Windows arbeiten, können Sie das offizielle Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, was Sie tun." +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"Wenn Sie unter Windows arbeiten, können Sie das offizielle " +"Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können " +"jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, " +"Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, " +"was Sie tun." -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "Raspberry Pi wird derzeit nur begrenzt unterstützt." -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Unter macOS oder Windows ist es egal, *wie* Sie Python installiert haben - wichtig ist nur, dass Sie `python3` über die Eingabeaufforderung/Terminalanwendung Ihres Betriebssystems ausführen können und einen funktionierenden Python-Interpreter erhalten." +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"Unter macOS oder Windows ist es egal, *wie* Sie Python installiert haben - " +"wichtig ist nur, dass Sie `python3` über die Eingabeaufforderung/" +"Terminalanwendung Ihres Betriebssystems ausführen können und einen " +"funktionierenden Python-Interpreter erhalten." -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 msgid "Install dependencies" msgstr "Abhängigkeiten installieren" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Als Nächstes installieren Sie die zusätzlichen Abhängigkeiten, die für Ihr Betriebssystem erforderlich sind:" +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" +msgstr "" +"Als Nächstes installieren Sie die zusätzlichen Abhängigkeiten, die für Ihr " +"Betriebssystem erforderlich sind:" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 msgid "Building BeeWare apps on macOS requires:" msgstr "Die Erstellung von BeeWare-Anwendungen unter macOS erfordert:" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "**Git**, ein Versionskontrollsystem. Dies ist in Xcode oder den Befehlszeilen-Entwicklertools enthalten, die Sie oben installiert haben. Möglicherweise müssen Sie Xcode zum ersten Mal öffnen, damit Git in Ihrer Terminalsitzung funktioniert. Wenn immer noch nicht registriert wird, dass Git installiert ist, müssen Sie möglicherweise Ihre Terminalsitzung neu starten." - -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Um die lokale Entwicklung zu unterstützen, müssen Sie einige Systempakete installieren. Die Liste der erforderlichen Pakete hängt von Ihrer Distribution ab:" +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." +msgstr "" +"**Git**, ein Versionskontrollsystem. Dies ist in Xcode oder den " +"Befehlszeilen-Entwicklertools enthalten, die Sie oben installiert haben. " +"Möglicherweise müssen Sie Xcode zum ersten Mal öffnen, damit Git in Ihrer " +"Terminalsitzung funktioniert. Wenn immer noch nicht registriert wird, dass " +"Git installiert ist, müssen Sie möglicherweise Ihre Terminalsitzung neu " +"starten." + +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "" +"Um die lokale Entwicklung zu unterstützen, müssen Sie einige Systempakete " +"installieren. Die Liste der erforderlichen Pakete hängt von Ihrer " +"Distribution ab:" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 msgid "**Ubuntu / Debian**" msgstr "**Ubuntu / Debian**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 msgid "**Arch / Manjaro**" msgstr "**Arch / Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "**OpenSUSE Tumbleweed**" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 msgid "Building BeeWare apps on Windows requires:" msgstr "Die Erstellung von BeeWare-Anwendungen unter Windows erfordert:" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, ein Versionskontrollsystem. Sie können Git von [git-scm.com]{1} herunterladen." +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." +msgstr "" +"**Git**, ein Versionskontrollsystem. Sie können Git von [git-scm.com]{1} " +"herunterladen." -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Nach der Installation dieser Tools sollten Sie sicherstellen, dass Sie alle Terminalsitzungen neu starten. Windows zeigt neu installierte Tools nur auf Terminals an, die *nach* Abschluss der Installation gestartet wurden." +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "" +"Nach der Installation dieser Tools sollten Sie sicherstellen, dass Sie alle " +"Terminalsitzungen neu starten. Windows zeigt neu installierte Tools nur auf " +"Terminals an, die *nach* Abschluss der Installation gestartet wurden." -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 msgid "Set up a virtual environment" msgstr "Einrichten einer virtuellen Umgebung" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Wir werden nun eine virtuelle Umgebung erstellen - eine \"Sandbox\", die wir verwenden können, um unsere Arbeit an diesem Tutorial von unserer Haupt-Python-Installation zu isolieren. Wenn wir Pakete in die virtuelle Umgebung installieren, wird unsere Haupt-Python-Installation (und alle anderen Python-Projekte auf unserem Computer) davon nicht betroffen sein. Wenn wir unsere virtuelle Umgebung komplett durcheinander bringen, können wir sie einfach löschen und neu beginnen, ohne dass andere Python-Projekte auf unserem Computer betroffen sind und ohne dass wir Python neu installieren müssen." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"Wir werden nun eine virtuelle Umgebung erstellen - eine \"Sandbox\", die wir " +"verwenden können, um unsere Arbeit an diesem Tutorial von unserer Haupt-" +"Python-Installation zu isolieren. Wenn wir Pakete in die virtuelle Umgebung " +"installieren, wird unsere Haupt-Python-Installation (und alle anderen Python-" +"Projekte auf unserem Computer) davon nicht betroffen sein. Wenn wir unsere " +"virtuelle Umgebung komplett durcheinander bringen, können wir sie einfach " +"löschen und neu beginnen, ohne dass andere Python-Projekte auf unserem " +"Computer betroffen sind und ohne dass wir Python neu installieren müssen." + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Fehler bei der Ausführung von PowerShell-Skripten" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 msgid "If you're using PowerShell, and you receive the error:" msgstr "Wenn Sie PowerShell verwenden und die folgende Fehlermeldung erhalten:" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Ihr Windows-Konto hat keine Berechtigung zum Ausführen von Skripten. So beheben Sie dies:" +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "" +"Ihr Windows-Konto hat keine Berechtigung zum Ausführen von Skripten. So " +"beheben Sie dies:" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "Führen Sie [Windows Powershell als Administrator aus]{1}." -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "Führen Sie `set-executionpolicy RemoteSigned` aus" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 msgid "Select `Y` to change the execution policy." msgstr "Wählen Sie `Y`, um die Ausführungspolitik zu ändern." -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Danach können Sie `beeware-venv\\Scripts\\activate.ps1` in Ihrer ursprünglichen PowerShell-Sitzung (oder in einer neuen Sitzung im selben Verzeichnis) erneut ausführen." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Wenn dies geklappt hat, sollte Ihre Eingabeaufforderung nun geändert sein - sie sollte ein `(beeware-venv)`-Präfix haben. Dies zeigt Ihnen, dass Sie sich gerade in Ihrer virtuellen BeeWare-Umgebung befinden. Wann immer Sie an diesem Tutorial arbeiten, sollten Sie sicherstellen, dass Ihre virtuelle Umgebung aktiviert ist. Ist dies nicht der Fall, führen Sie den letzten Befehl (den Befehl `activate`) erneut aus, um Ihre Umgebung wieder zu aktivieren." +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"Danach können Sie `beeware-venv\\Scripts\\activate.ps1` in Ihrer " +"ursprünglichen PowerShell-Sitzung (oder in einer neuen Sitzung im selben " +"Verzeichnis) erneut ausführen." -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Alternative virtuelle Umgebungen" +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"Wenn dies geklappt hat, sollte Ihre Eingabeaufforderung nun geändert sein - " +"sie sollte ein `(beeware-venv)`-Präfix haben. Dies zeigt Ihnen, dass Sie " +"sich gerade in Ihrer virtuellen BeeWare-Umgebung befinden. Wann immer Sie an " +"diesem Tutorial arbeiten, sollten Sie sicherstellen, dass Ihre virtuelle " +"Umgebung aktiviert ist. Ist dies nicht der Fall, führen Sie den letzten " +"Befehl (den Befehl `activate`) erneut aus, um Ihre Umgebung wieder zu " +"aktivieren." + +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Wenn Sie Anaconda oder miniconda benutzen, sind Sie vielleicht mehr mit der Verwendung von conda-Umgebungen vertraut. Vielleicht haben Sie auch schon von `virtualenv` gehört, einem Vorgänger von Pythons eingebautem `venv` Modul. Wie bei Python-Installationen ist es unter macOS oder Windows egal, *wie* Sie Ihre virtuelle Umgebung erstellen, solange Sie eine haben. Wenn Sie unter Linux arbeiten, sollten Sie sich an `venv` und das System-Python halten." +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, [unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Öffnen Sie Windows PowerShell als Administrator." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, ein Versionskontrollsystem. Es ist in Xcode oder den Kommandozeilen-Entwicklungswerkzeugen enthalten, die Sie oben installiert haben." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Alternative Python-Distributionen" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Wenn Sie mit Linux arbeiten, sollten Sie das von Ihrem Betriebssystem bereitgestellte Python verwenden. Sie können den *größten Teil* dieses Tutorials mit einem systemfremden Python durchführen, aber Sie werden nicht in der Lage sein, Ihre Anwendung für die Weitergabe an andere zu verpacken." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Wenn Sie mit macOS arbeiten, ist eine aktuelle Version von Python in Xcode oder den Kommandozeilen-Entwicklerwerkzeugen enthalten. Um zu prüfen, ob Sie Python bereits haben, führen Sie den folgenden Befehl aus:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Wenn Python installiert ist, wird die Versionsnummer angezeigt. Andernfalls werden Sie aufgefordert, die Entwicklerwerkzeuge für die Kommandozeile zu installieren." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Sie sollten sicherstellen, dass Sie Python 3.8 oder neuer verwenden. Ist dies nicht der Fall, müssen Sie Ihre Python-Installation aktualisieren. Sie können das offizielle Installationsprogramm von [der Python-Website]{1} herunterladen. Sie können jede stabile Version von Python ab 3.8 verwenden. Wir empfehlen, Alphas, Betas und Release-Kandidaten zu vermeiden, es sei denn, Sie wissen *wirklich*, was Sie tun." +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "" +"Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, " +"[unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "Tutorial 0 - Erstinstallation" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po index 13911352..4146c41b 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -1,192 +1,316 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutorial 1 - Ihre erste App" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 #, fuzzy msgid "We're ready to create our first application." msgstr "Wir sind bereit, unsere erste Anwendung zu erstellen." -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 msgid "Install the BeeWare tools" msgstr "Installieren Sie die BeeWare-Tools" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Zunächst müssen wir **Briefcase** installieren. Briefcase ist ein BeeWare-Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis `beeware-tutorial` befinden, das Sie in [Tutorial 0][tutorial-0] erstellt haben, und dass die virtuelle Umgebung `beeware-venv` aktiviert ist, und starten Sie:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Mögliche Fehler bei der Installation" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Wenn Sie während der Installation Fehler sehen, liegt das höchstwahrscheinlich daran, dass einige der Systemvoraussetzungen nicht installiert wurden. Stellen Sie sicher, dass Sie [alle Plattformvoraussetzungen ][install-dependencies] installiert haben." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "Es ist wichtig, dass Sie `python -m pip` und nicht `pip` verwenden. Briefcase muss sicherstellen, dass es eine aktuelle Version von `pip` und `setuptools` hat, und ein bloßer Aufruf von `pip` kann sich nicht selbst aktualisieren. Wenn Sie mehr darüber wissen wollen, hat [Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"Zunächst müssen wir **Briefcase** installieren. Briefcase ist ein BeeWare-" +"Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an " +"Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues " +"Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis " +"`beeware-tutorial` befinden, das Sie in [Tutorial 0][tutorial-0] erstellt " +"haben, und dass die virtuelle Umgebung `beeware-venv` aktiviert ist, und " +"starten Sie:" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"Es ist wichtig, dass Sie `python -m pip` und nicht `pip` verwenden. " +"Briefcase muss sicherstellen, dass es eine aktuelle Version von `pip` und " +"`setuptools` hat, und ein bloßer Aufruf von `pip` kann sich nicht selbst " +"aktualisieren. Wenn Sie mehr darüber wissen wollen, hat " +"[Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem]{1}." + +#: docs/en/tutorial/tutorial-1.md:57 msgid "Bootstrap a new project" msgstr "Erstellen Sie ein neues Projekt" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Beginnen wir mit unserem ersten BeeWare-Projekt! Wir werden den Briefcase-Befehl `new` verwenden, um eine Anwendung namens **Hello World** zu erstellen. Führen Sie den folgenden Befehl in Ihrer Eingabeaufforderung aus:" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase wird uns nach einigen Details zu unserer neuen Anwendung fragen. Verwenden Sie für dieses Tutorial die folgenden Angaben:" +#: docs/en/tutorial/tutorial-1.md:87 +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "" +"Briefcase wird uns nach einigen Details zu unserer neuen Anwendung fragen. " +"Verwenden Sie für dieses Tutorial die folgenden Angaben:" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Formaler Name** - Akzeptieren Sie den Standardwert: `Hello World`." -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**App Name** - Akzeptieren Sie den Standardwert: `helloworld`." -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#: docs/en/tutorial/tutorial-1.md:92 #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Wenn Sie eine eigene Domain besitzen, geben Sie diese in umgekehrter Reihenfolge an. (Wenn Sie zum Beispiel die Domain \"cupcakes.com\" besitzen, geben Sie `com.cupcakes` als Bundle ein). Wenn Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle (`com.example`)." +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" +"**Bundle** - Wenn Sie eine eigene Domain besitzen, geben Sie diese in " +"umgekehrter Reihenfolge an. (Wenn Sie zum Beispiel die Domain " +"\"cupcakes.com\" besitzen, geben Sie `com.cupcakes` als Bundle ein). Wenn " +"Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle " +"(`com.example`)." -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Projektname** - Übernehmen Sie den Standardwert: `Hello World`." -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Description** - Übernehmen Sie den Standardwert (wenn Sie wirklich kreativ sein wollen, denken Sie sich Ihre eigene Beschreibung aus!)" +#: docs/en/tutorial/tutorial-1.md:97 +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "" +"**Description** - Übernehmen Sie den Standardwert (wenn Sie wirklich kreativ " +"sein wollen, denken Sie sich Ihre eigene Beschreibung aus!)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 msgid "**Author** - Enter your own name here." msgstr "**Author** - Geben Sie hier Ihren eigenen Namen ein." -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#: docs/en/tutorial/tutorial-1.md:100 #, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Author's email** - Geben Sie Ihre eigene E-Mail-Adresse ein. Diese wird in der Konfigurationsdatei, im Hilfetext und überall dort verwendet, wo bei der Einreichung der App bei einem App-Store eine E-Mail erforderlich ist." +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "" +"**Author's email** - Geben Sie Ihre eigene E-Mail-Adresse ein. Diese wird in " +"der Konfigurationsdatei, im Hilfetext und überall dort verwendet, wo bei der " +"Einreichung der App bei einem App-Store eine E-Mail erforderlich ist." -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#: docs/en/tutorial/tutorial-1.md:103 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - Die URL der Landing Page für Ihre Anwendung. Auch hier gilt: Wenn Sie Ihre eigene Domain besitzen, geben Sie eine URL auf dieser Domain ein (einschließlich `https://`). Ansonsten akzeptieren Sie einfach die Standard-URL (`https://example.com/helloworld`). Diese URL muss (vorerst) nicht tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in einem App Store veröffentlichen." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" +"**URL** - Die URL der Landing Page für Ihre Anwendung. Auch hier gilt: Wenn " +"Sie Ihre eigene Domain besitzen, geben Sie eine URL auf dieser Domain ein (" +"einschließlich `https://`). Ansonsten akzeptieren Sie einfach die Standard-" +"URL (`https://example.com/helloworld`). Diese URL muss (vorerst) nicht " +"tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in " +"einem App Store veröffentlichen." + +#: docs/en/tutorial/tutorial-1.md:109 #, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**Lizenz** - Akzeptieren Sie die Standardlizenz (BSD). Dies hat jedoch keinen Einfluss auf die Funktionsweise des Tutorials - wenn Sie also besonders starke Gefühle bezüglich der Lizenzwahl haben, können Sie gerne eine andere Lizenz wählen." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI-Framework** - Akzeptieren Sie die Standardoption Toga (BeeWare's eigenes GUI-Toolkit)." +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" +"**Lizenz** - Akzeptieren Sie die Standardlizenz (BSD). Dies hat jedoch " +"keinen Einfluss auf die Funktionsweise des Tutorials - wenn Sie also " +"besonders starke Gefühle bezüglich der Lizenzwahl haben, können Sie gerne " +"eine andere Lizenz wählen." -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase generiert dann ein Projektgerüst, das Sie verwenden können. Wenn Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen:" +#: docs/en/tutorial/tutorial-1.md:113 +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." +msgstr "" +"**GUI-Framework** - Akzeptieren Sie die Standardoption Toga (BeeWare's " +"eigenes GUI-Toolkit)." -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Dieses Gerüst ist bereits eine voll funktionsfähige Anwendung, ohne etwas anderes hinzufügen zu müssen. Der Ordner `rc` enthält den gesamten Code für die Anwendung, der Ordner `tests` enthält eine erste Testreihe und die Datei `pyproject.toml` beschreibt, wie die Anwendung für die Verteilung verpackt werden soll. Wenn Sie die Datei `pyproject.toml` in einem Editor öffnen, sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt haben." +#: docs/en/tutorial/tutorial-1.md:116 +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" +"Briefcase generiert dann ein Projektgerüst, das Sie verwenden können. Wenn " +"Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie " +"beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen:" -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Nun, da wir eine Rumpfanwendung haben, können wir Briefcase verwenden, um die Anwendung auszuführen." +#: docs/en/tutorial/tutorial-1.md:142 +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" +"Dieses Gerüst ist bereits eine voll funktionsfähige Anwendung, ohne etwas " +"anderes hinzufügen zu müssen. Der Ordner `rc` enthält den gesamten Code für " +"die Anwendung, der Ordner `tests` enthält eine erste Testreihe und die Datei " +"`pyproject.toml` beschreibt, wie die Anwendung für die Verteilung verpackt " +"werden soll. Wenn Sie die Datei `pyproject.toml` in einem Editor öffnen, " +"sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt " +"haben." + +#: docs/en/tutorial/tutorial-1.md:149 +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." +msgstr "" +"Nun, da wir eine Rumpfanwendung haben, können wir Briefcase verwenden, um " +"die Anwendung auszuführen." -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 msgid "Run the app in developer mode" msgstr "Führen Sie die Anwendung im Entwicklermodus aus" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +#: docs/en/tutorial/tutorial-1.md:154 #, fuzzy -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Wechseln Sie in das `helloworld` Projektverzeichnis und sagen Sie briefcase, daß es das Projekt im Developer (oder `dev`) Modus starten soll:" +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "" +"Wechseln Sie in das `helloworld` Projektverzeichnis und sagen Sie briefcase, " +"daß es das Projekt im Developer (oder `dev`) Modus starten soll:" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 msgid "This should open a GUI window:" msgstr "Dies sollte ein GUI-Fenster öffnen:" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Hello World Tutorial 1 Fenster unter macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Hello World Tutorial 1 Fenster unter Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Hello World Tutorial 1 Fenster unter Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#: docs/en/tutorial/tutorial-1.md:248 #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Drücken Sie die Schaltfläche \"Schließen\" (oder wählen Sie \"Beenden\" aus dem Menü der Anwendung), und Sie sind fertig! Herzlichen Glückwunsch - Sie haben gerade eine eigenständige, native Anwendung in Python geschrieben!" +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "" +"Drücken Sie die Schaltfläche \"Schließen\" (oder wählen Sie \"Beenden\" aus " +"dem Menü der Anwendung), und Sie sind fertig! Herzlichen Glückwunsch - Sie " +"haben gerade eine eigenständige, native Anwendung in Python geschrieben!" -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir unserer Anwendung eine nützlichere Benutzeroberfläche geben." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Eines der BeeWare-Tools ist **Briefcase**. Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung an Endbenutzer zu verpacken - es kann aber auch zur Erstellung eines neuen Projekts verwendet werden." +#: docs/en/tutorial/tutorial-1.md:256 +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" +"Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus " +"läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere " +"Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir " +"unserer Anwendung eine nützlichere Benutzeroberfläche geben." +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "Tutorial 1 - Ihre erste App" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index dfc5d55e..ef6a5096 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -1,288 +1,487 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-03 01:43+0000\n" "Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutorial 2 - Es wird interessant" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "In [Tutorial 1][tutorial-1] haben wir ein lauffähiges Rumpfprojekt erstellt, aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für uns generiert wurde." +#: docs/en/tutorial/tutorial-2.md:3 +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" +"In [Tutorial 1][tutorial-1] haben wir ein lauffähiges Rumpfprojekt erstellt, " +"aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für " +"uns generiert wurde." -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 msgid "What was generated" msgstr "Was generiert wurde" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "In dem Verzeichnis `src/helloworld` sollten 3 Dateien zu sehen sein: `__init__.py`, `__main__.py` und `app.py`." +#: docs/en/tutorial/tutorial-2.md:9 +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" +"In dem Verzeichnis `src/helloworld` sollten 3 Dateien zu sehen sein: " +"`__init__.py`, `__main__.py` und `app.py`." -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` markiert das `helloworld`-Verzeichnis als importierbares Python-Modul. Es ist eine leere Datei; allein die Tatsache, dass sie existiert, sagt dem Python-Interpreter, dass das `helloworld`-Verzeichnis ein Modul definiert." +#: docs/en/tutorial/tutorial-2.md:12 +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` markiert das `helloworld`-Verzeichnis als importierbares " +"Python-Modul. Es ist eine leere Datei; allein die Tatsache, dass sie " +"existiert, sagt dem Python-Interpreter, dass das `helloworld`-Verzeichnis " +"ein Modul definiert." -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` markiert das `helloworld` Modul als eine besondere Art von Modul - ein ausführbares Modul. Wenn Sie versuchen, das Modul `helloworld` mit `python -m helloworld` zu starten, ist die Datei `__main__.py` der Ort, an dem Python mit der Ausführung beginnt. Der Inhalt von `__main__.py` ist relativ einfach:" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#: docs/en/tutorial/tutorial-2.md:31 #, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Das heißt, es importiert die Methode `main` aus der Anwendung `helloworld`; und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks und Tastatureingaben) wartet." +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" +"Das heißt, es importiert die Methode `main` aus der Anwendung `helloworld`; " +"und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() " +"auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die " +"Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks " +"und Tastatureingaben) wartet." -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#: docs/en/tutorial/tutorial-2.md:35 #, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "Die interessantere Datei ist `app.py` - diese enthält die Logik, die unser Anwendungsfenster erstellt:" +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" +msgstr "" +"Die interessantere Datei ist `app.py` - diese enthält die Logik, die unser " +"Anwendungsfenster erstellt:" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 #, fuzzy msgid "Let's go through this line by line:" msgstr "Gehen wir diese Zeile für Zeile durch:" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#: docs/en/tutorial/tutorial-2.md:61 #, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Als erstes importieren wir das `toga`-Widget-Toolkit, sowie einige stilbezogene Utility-Klassen und Konstanten. Unser Code verwendet diese noch nicht - aber wir werden sie in Kürze nutzen." +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "" +"Als erstes importieren wir das `toga`-Widget-Toolkit, sowie einige " +"stilbezogene Utility-Klassen und Konstanten. Unser Code verwendet diese noch " +"nicht - aber wir werden sie in Kürze nutzen." -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 msgid "Then, we define a class:" msgstr "Definieren wir eine Klasse:" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#: docs/en/tutorial/tutorial-2.md:71 #, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Jede Toga-Anwendung hat eine einzige `toga.App`-Instanz, die laufende Entität, die Anwendung, darstellt. Die Anwendung kann mehrere Fenster verwalten, aber für einfache Anwendungen gibt es ein einziges Hauptfenster." +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"Jede Toga-Anwendung hat eine einzige `toga.App`-Instanz, die laufende " +"Entität, die Anwendung, darstellt. Die Anwendung kann mehrere Fenster " +"verwalten, aber für einfache Anwendungen gibt es ein einziges Hauptfenster." -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 #, fuzzy msgid "Next, we define a `startup()` method:" msgstr "Als nächstes definieren wir eine `Startup()` Methode:" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#: docs/en/tutorial/tutorial-2.md:83 #, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "Das erste, was die Startup-Methode macht, ist die Definition eines Hauptfeldes. Das Layout-Schema von Toga verhält sich ähnlich wie HTML. Sie bauen eine Anwendung auf, indem Sie eine Sammlung von Boxen konstruieren, von denen jede andere Boxen oder Widgets enthält. Sie wenden dann Stile auf diese Boxen an, um zu definieren, wie sie den verfügbaren Platz im Fenster nutzen werden." +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" +"Das erste, was die Startup-Methode macht, ist die Definition eines " +"Hauptfeldes. Das Layout-Schema von Toga verhält sich ähnlich wie HTML. Sie " +"bauen eine Anwendung auf, indem Sie eine Sammlung von Boxen konstruieren, " +"von denen jede andere Boxen oder Widgets enthält. Sie wenden dann Stile auf " +"diese Boxen an, um zu definieren, wie sie den verfügbaren Platz im Fenster " +"nutzen werden." -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#: docs/en/tutorial/tutorial-2.md:89 #, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "In dieser Anwendung definieren wir ein einzelnes Feld, in das wir jedoch nichts einfügen." +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." +msgstr "" +"In dieser Anwendung definieren wir ein einzelnes Feld, in das wir jedoch " +"nichts einfügen." -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 #, fuzzy msgid "Next, we define a window into which we can put this empty box:" -msgstr "Als Nächstes definieren wir ein Fenster, in das wir dieses leere Feld einfügen können:" +msgstr "" +"Als Nächstes definieren wir ein Fenster, in das wir dieses leere Feld " +"einfügen können:" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#: docs/en/tutorial/tutorial-2.md:98 #, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Dies erzeugt eine Instanz eines `toga.MainWindow`, das einen Titel hat, der dem Namen der Anwendung entspricht. Ein Hauptfenster ist eine besondere Art von Fenster in Toga - es ist ein Fenster, das eng an den Lebenszyklus der Anwendung gebunden ist. Wenn das Hauptfenster geschlossen wird, wird die Anwendung beendet. Das Hauptfenster ist auch das Fenster, in dem sich das Menü der Anwendung befindet (wenn Sie auf einer Plattform wie Windows arbeiten, wo die Menüleisten Teil des Fensters sind)" +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"Dies erzeugt eine Instanz eines `toga.MainWindow`, das einen Titel hat, der " +"dem Namen der Anwendung entspricht. Ein Hauptfenster ist eine besondere Art " +"von Fenster in Toga - es ist ein Fenster, das eng an den Lebenszyklus der " +"Anwendung gebunden ist. Wenn das Hauptfenster geschlossen wird, wird die " +"Anwendung beendet. Das Hauptfenster ist auch das Fenster, in dem sich das " +"Menü der Anwendung befindet (wenn Sie auf einer Plattform wie Windows " +"arbeiten, wo die Menüleisten Teil des Fensters sind)" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#: docs/en/tutorial/tutorial-2.md:115 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Dann fügen wir unsere leere Box als Inhalt des Hauptfensters hinzu und weisen die Anwendung an, unser Fenster anzuzeigen:" +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" +msgstr "" +"Dann fügen wir unsere leere Box als Inhalt des Hauptfensters hinzu und " +"weisen die Anwendung an, unser Fenster anzuzeigen:" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#: docs/en/tutorial/tutorial-2.md:123 #, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Als letztes definieren wir eine `main()` Methode. Diese erzeugt die Instanz unserer Anwendung:" +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" +msgstr "" +"Als letztes definieren wir eine `main()` Methode. Diese erzeugt die Instanz " +"unserer Anwendung:" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#: docs/en/tutorial/tutorial-2.md:131 #, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Diese `main()` Methode ist diejenige, die von `__main__.py` importiert und aufgerufen wird. Sie erzeugt eine Instanz unserer `HelloWorld`-Anwendung und gibt diese zurück." +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "" +"Diese `main()` Methode ist diejenige, die von `__main__.py` importiert und " +"aufgerufen wird. Sie erzeugt eine Instanz unserer `HelloWorld`-Anwendung und " +"gibt diese zurück." -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#: docs/en/tutorial/tutorial-2.md:135 #, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Das ist die einfachste mögliche Toga-Anwendung. Lassen Sie uns einige unserer eigenen Inhalte in die Anwendung einfügen und die Anwendung etwas Interessantes tun lassen." +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "" +"Das ist die einfachste mögliche Toga-Anwendung. Lassen Sie uns einige " +"unserer eigenen Inhalte in die Anwendung einfügen und die Anwendung etwas " +"Interessantes tun lassen." -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 #, fuzzy msgid "Adding some content of our own" msgstr "Hinzufügen von eigenen Inhalten" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Entfernen Sie nicht die Importe am Anfang der Datei oder `main()` am Ende. Sie müssen nur die Klasse `HelloWorld` aktualisieren." +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "" +"Entfernen Sie nicht die Importe am Anfang der Datei oder `main()` am Ende. " +"Sie müssen nur die Klasse `HelloWorld` aktualisieren." -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#: docs/en/tutorial/tutorial-2.md:150 #, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Ändern Sie Ihre `HelloWorld` Klasse in `src/helloworld/app.py` so, dass sie wie folgt aussieht:" +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" +msgstr "" +"Ändern Sie Ihre `HelloWorld` Klasse in `src/helloworld/app.py` so, dass sie " +"wie folgt aussieht:" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 #, fuzzy msgid "Let's look in detail at what has changed." msgstr "Schauen wir uns im Detail an, was sich geändert hat." -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 #, fuzzy msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Wir erstellen immer noch ein Hauptfeld, aber wir wenden jetzt einen Stil an:" +msgstr "" +"Wir erstellen immer noch ein Hauptfeld, aber wir wenden jetzt einen Stil an:" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#: docs/en/tutorial/tutorial-2.md:193 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Das in Toga eingebaute Layoutsystem heißt \"Pack\". Es verhält sich sehr ähnlich wie CSS. Sie definieren Objekte in einer Hierarchie - in HTML sind die Objekte `
`, `` und andere DOM-Elemente; in Toga sind es Widgets und Boxen. Sie können dann den einzelnen Elementen Stile zuweisen. In diesem Fall geben wir an, dass es sich um einen `COLUMN`-Kasten handelt - das heißt, es handelt sich um einen Kasten, der die gesamte verfügbare Breite beansprucht und sich in der Höhe vergrößert, wenn Inhalt hinzugefügt wird, aber er versucht, so kurz wie möglich zu sein." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" +"Das in Toga eingebaute Layoutsystem heißt \"Pack\". Es verhält sich sehr " +"ähnlich wie CSS. Sie definieren Objekte in einer Hierarchie - in HTML sind " +"die Objekte `
`, `` und andere DOM-Elemente; in Toga sind es " +"Widgets und Boxen. Sie können dann den einzelnen Elementen Stile zuweisen. " +"In diesem Fall geben wir an, dass es sich um einen `COLUMN`-Kasten handelt - " +"das heißt, es handelt sich um einen Kasten, der die gesamte verfügbare " +"Breite beansprucht und sich in der Höhe vergrößert, wenn Inhalt hinzugefügt " +"wird, aber er versucht, so kurz wie möglich zu sein." + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 #, fuzzy msgid "Next, we define a couple of widgets:" msgstr "Als nächstes definieren wir ein paar Widgets:" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#: docs/en/tutorial/tutorial-2.md:223 #, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Hier definieren wir ein Label und einen TextInput. Beiden Widgets sind Stile zugeordnet; das Label hat links und rechts ein Padding von 5px und oben und unten kein Padding. Der TextInput ist als flexibel gekennzeichnet, d. h. er nimmt den gesamten verfügbaren Platz in seiner Layoutachse ein." +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" +"Hier definieren wir ein Label und einen TextInput. Beiden Widgets sind Stile " +"zugeordnet; das Label hat links und rechts ein Padding von 5px und oben und " +"unten kein Padding. Der TextInput ist als flexibel gekennzeichnet, d. h. er " +"nimmt den gesamten verfügbaren Platz in seiner Layoutachse ein." -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#: docs/en/tutorial/tutorial-2.md:229 #, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "Der TextInput wird als Instanzvariable der Klasse zugewiesen. Dies ermöglicht uns einen einfachen Zugriff auf die Instanz des Widgets - etwas, das wir gleich verwenden werden." +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "" +"Der TextInput wird als Instanzvariable der Klasse zugewiesen. Dies " +"ermöglicht uns einen einfachen Zugriff auf die Instanz des Widgets - etwas, " +"das wir gleich verwenden werden." -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 #, fuzzy msgid "Next, we define a box to hold these two widgets:" msgstr "Als nächstes definieren wir eine Box, die diese beiden Widgets enthält:" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#: docs/en/tutorial/tutorial-2.md:241 #, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "Die `name_box` ist eine Box genau wie die Hauptbox, aber dieses Mal ist es eine `ROW`-Box. Das bedeutet, daß der Inhalt horizontal eingefügt wird, und daß versucht wird, die Breite so schmal wie möglich zu machen. Die Box hat auch etwas Padding - 5px auf allen Seiten." +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"Die `name_box` ist eine Box genau wie die Hauptbox, aber dieses Mal ist es " +"eine `ROW`-Box. Das bedeutet, daß der Inhalt horizontal eingefügt wird, und " +"daß versucht wird, die Breite so schmal wie möglich zu machen. Die Box hat " +"auch etwas Padding - 5px auf allen Seiten." -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 #, fuzzy msgid "Now we define a button:" msgstr "Jetzt definieren wir eine Schaltfläche:" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "Die Schaltfläche hat auch 5px Polsterung auf allen Seiten. Wir definieren auch einen *Handler* - eine Methode, die aufgerufen wird, wenn die Schaltfläche gedrückt wird." +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 #, fuzzy msgid "Then, we add the name box and the button to the main box:" msgstr "Dann fügen wir das Namensfeld und die Schaltfläche zum Hauptfeld hinzu:" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#: docs/en/tutorial/tutorial-2.md:266 #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Damit ist unser Layout fertiggestellt; der Rest der Startup-Methode ist wie zuvor - Definition eines MainWindow und Zuweisung des Hauptfeldes als Inhalt des Fensters:" +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "" +"Damit ist unser Layout fertiggestellt; der Rest der Startup-Methode ist wie " +"zuvor - Definition eines MainWindow und Zuweisung des Hauptfeldes als Inhalt " +"des Fensters:" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#: docs/en/tutorial/tutorial-2.md:276 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "Als Letztes müssen wir den Handler für die Schaltfläche definieren. Ein Handler kann eine beliebige Methode, ein Generator oder eine asynchrone Co-Routine sein; er akzeptiert das Widget, das Ereignis erzeugt hat, als Argument und wird immer dann aufgerufen, wenn die Schaltfläche gedrückt wird:" +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" +"Als Letztes müssen wir den Handler für die Schaltfläche definieren. Ein " +"Handler kann eine beliebige Methode, ein Generator oder eine asynchrone Co-" +"Routine sein; er akzeptiert das Widget, das Ereignis erzeugt hat, als " +"Argument und wird immer dann aufgerufen, wenn die Schaltfläche gedrückt wird:" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#: docs/en/tutorial/tutorial-2.md:286 #, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "Der Hauptteil der Methode ist eine einfache Druckanweisung - sie fragt jedoch den aktuellen Wert der Namenseingabe ab und verwendet diesen Inhalt als den Text, der gedruckt wird." +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "" +"Der Hauptteil der Methode ist eine einfache Druckanweisung - sie fragt " +"jedoch den aktuellen Wert der Namenseingabe ab und verwendet diesen Inhalt " +"als den Text, der gedruckt wird." -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#: docs/en/tutorial/tutorial-2.md:290 #, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Nachdem wir nun diese Änderungen vorgenommen haben, können wir sehen, wie sie aussehen, indem wir die Anwendung erneut starten. Wie zuvor werden wir den Entwicklermodus verwenden:" +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "" +"Nachdem wir nun diese Änderungen vorgenommen haben, können wir sehen, wie " +"sie aussehen, indem wir die Anwendung erneut starten. Wie zuvor werden wir " +"den Entwicklermodus verwenden:" -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#: docs/en/tutorial/tutorial-2.md:326 #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Sie werden feststellen, dass dieses Mal *keine* Abhängigkeiten installiert werden. Briefcase kann erkennen, dass die Anwendung schon einmal ausgeführt wurde, und um Zeit zu sparen, wird nur die Anwendung ausgeführt. Wenn Sie neue Abhängigkeiten zu Ihrer Anwendung hinzufügen, können Sie sicherstellen, dass diese installiert werden, indem Sie die Option `-r` beim Aufruf von `briefcase dev` mitgeben." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" +"Sie werden feststellen, dass dieses Mal *keine* Abhängigkeiten installiert " +"werden. Briefcase kann erkennen, dass die Anwendung schon einmal ausgeführt " +"wurde, und um Zeit zu sparen, wird nur die Anwendung ausgeführt. Wenn Sie " +"neue Abhängigkeiten zu Ihrer Anwendung hinzufügen, können Sie sicherstellen, " +"dass diese installiert werden, indem Sie die Option `-r` beim Aufruf von `" +"briefcase dev` mitgeben." + +#: docs/en/tutorial/tutorial-2.md:332 msgid "This should open a GUI window:" msgstr "Dies sollte ein GUI-Fenster öffnen:" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Hello World Tutorial 2 Fenster, auf macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Hello World Tutorial 2 Fenster, unter Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Hello World Tutorial 2 Fenster, unter Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#: docs/en/tutorial/tutorial-2.md:358 #, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Wenn Sie einen Namen in das Textfeld eingeben und die Schaltfläche GUI drücken, sollte die Ausgabe in der Konsole erscheinen, in der Sie die Anwendung gestartet haben." +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "" +"Wenn Sie einen Namen in das Textfeld eingeben und die Schaltfläche GUI " +"drücken, sollte die Ausgabe in der Konsole erscheinen, in der Sie die " +"Anwendung gestartet haben." -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#: docs/en/tutorial/tutorial-2.md:369 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere Anwendung als eigenständiges Installationsprogramm verpacken, das wir an einen Freund oder Kunden schicken oder in einen App Store hochladen können." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" - +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" +"Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie " +"läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für " +"die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere " +"Anwendung als eigenständiges Installationsprogramm verpacken, das wir an " +"einen Freund oder Kunden schicken oder in einen App Store hochladen können." + +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "Tutorial 2 - Es wird interessant" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po index 3065fbcf..17244861 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po @@ -1,313 +1,650 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutorial 3 - Verpackung für den Vertrieb" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#: docs/en/tutorial/tutorial-3.md:3 #, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Bislang haben wir unsere Anwendung im \"Entwicklermodus\" ausgeführt. Das macht es uns leicht, unsere Anwendung lokal auszuführen - aber was wir wirklich wollen, ist, dass wir unsere Anwendung an andere weitergeben können." +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" +"Bislang haben wir unsere Anwendung im \"Entwicklermodus\" ausgeführt. Das " +"macht es uns leicht, unsere Anwendung lokal auszuführen - aber was wir " +"wirklich wollen, ist, dass wir unsere Anwendung an andere weitergeben können." -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#: docs/en/tutorial/tutorial-3.md:7 #, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Wir möchten unseren Benutzern jedoch nicht beibringen müssen, wie man Python installiert, eine virtuelle Umgebung erstellt, ein Git-Repository klont und Briefcase im Entwicklermodus startet. Wir würden ihnen lieber einfach ein Installationsprogramm geben und die Anwendung einfach funktionieren lassen." +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"Wir möchten unseren Benutzern jedoch nicht beibringen müssen, wie man Python " +"installiert, eine virtuelle Umgebung erstellt, ein Git-Repository klont und " +"Briefcase im Entwicklermodus startet. Wir würden ihnen lieber einfach ein " +"Installationsprogramm geben und die Anwendung einfach funktionieren lassen." -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#: docs/en/tutorial/tutorial-3.md:12 #, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung auf diese Weise zu verpacken." +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." +msgstr "" +"Briefcase kann verwendet werden, um Ihre Anwendung für die Verteilung auf " +"diese Weise zu verpacken." -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 #, fuzzy msgid "Creating your application scaffold" msgstr "Erstellen Ihres Anwendungsgerüsts" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#: docs/en/tutorial/tutorial-3.md:17 #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Da dies das erste Mal ist, dass wir unsere Anwendung paketieren, müssen wir einige Konfigurationsdateien und andere Gerüste erstellen, um den Paketierungsprozess zu unterstützen. Starten Sie im Verzeichnis `helloworld`:" +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "" +"Da dies das erste Mal ist, dass wir unsere Anwendung paketieren, müssen wir " +"einige Konfigurationsdateien und andere Gerüste erstellen, um den " +"Paketierungsprozess zu unterstützen. Starten Sie im Verzeichnis `helloworld`:" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" msgstr "" -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +#: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" msgstr "" -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#: docs/en/tutorial/tutorial-3.md:124 #, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Wahrscheinlich haben Sie gerade gesehen, wie seitenweise Inhalte an Ihrem Terminal vorbeigezogen sind... was ist also passiert? Briefcase hat das Folgende getan:" +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "" +"Wahrscheinlich haben Sie gerade gesehen, wie seitenweise Inhalte an Ihrem " +"Terminal vorbeigezogen sind... was ist also passiert? Briefcase hat das " +"Folgende getan:" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Es **generiert eine Anwendungsvorlage**. Um ein natives Installationsprogramm zu erstellen, sind eine Menge Dateien und Konfigurationen erforderlich, die über den Code der eigentlichen Anwendung hinausgehen. Dieses zusätzliche Gerüst ist für jede Anwendung auf der gleichen Plattform fast gleich, mit Ausnahme des Namens der eigentlichen Anwendung, die erstellt wird - daher bietet Briefcase eine Anwendungsvorlage für jede unterstützte Plattform. In diesem Schritt wird die Vorlage ausgerollt, wobei der Name Ihrer Anwendung, die Bundle-ID und andere Eigenschaften Ihrer Konfigurationsdatei entsprechend der Plattform, auf der Sie bauen, ersetzt werden." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"Es **generiert eine Anwendungsvorlage**. Um ein natives " +"Installationsprogramm zu erstellen, sind eine Menge Dateien und " +"Konfigurationen erforderlich, die über den Code der eigentlichen Anwendung " +"hinausgehen. Dieses zusätzliche Gerüst ist für jede Anwendung auf der " +"gleichen Plattform fast gleich, mit Ausnahme des Namens der eigentlichen " +"Anwendung, die erstellt wird - daher bietet Briefcase eine Anwendungsvorlage " +"für jede unterstützte Plattform. In diesem Schritt wird die Vorlage " +"ausgerollt, wobei der Name Ihrer Anwendung, die Bundle-ID und andere " +"Eigenschaften Ihrer Konfigurationsdatei entsprechend der Plattform, auf der " +"Sie bauen, ersetzt werden." + +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Wenn Sie mit der von Briefcase bereitgestellten Vorlage nicht zufrieden sind, können Sie Ihre eigene Vorlage erstellen. Sie sollten dies jedoch erst dann tun, wenn Sie etwas mehr Erfahrung mit der Standardvorlage von Briefcase haben." +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" +"Wenn Sie mit der von Briefcase bereitgestellten Vorlage nicht zufrieden " +"sind, können Sie Ihre eigene Vorlage erstellen. Sie sollten dies jedoch erst " +"dann tun, wenn Sie etwas mehr Erfahrung mit der Standardvorlage von " +"Briefcase haben." -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Es **lud ein Support-Paket herunter und installierte es**. Der Paketierungsansatz von Briefcase lässt sich am besten als \"das Einfachste, was möglich ist\" beschreiben - es liefert einen vollständigen, isolierten Python-Interpreter als Teil jeder Anwendung, die es erstellt. Dies ist etwas ineffizient - wenn Sie 5 Anwendungen mit Briefcase verpackt haben, haben Sie 5 Kopien des Python-Interpreters. Allerdings garantiert dieser Ansatz, dass jede Anwendung völlig unabhängig ist und eine bestimmte Python-Version verwendet, von der bekannt ist, dass sie mit der Anwendung funktioniert." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"Es **lud ein Support-Paket herunter und installierte es**. Der " +"Paketierungsansatz von Briefcase lässt sich am besten als " +"\"das Einfachste, was möglich ist\" beschreiben - es liefert einen " +"vollständigen, isolierten Python-Interpreter als Teil jeder Anwendung, die " +"es erstellt. Dies ist etwas ineffizient - wenn Sie 5 Anwendungen mit " +"Briefcase verpackt haben, haben Sie 5 Kopien des Python-Interpreters. " +"Allerdings garantiert dieser Ansatz, dass jede Anwendung völlig unabhängig " +"ist und eine bestimmte Python-Version verwendet, von der bekannt ist, dass " +"sie mit der Anwendung funktioniert." + +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Auch hier bietet Briefcase ein Standard-Unterstützungspaket für jede Plattform; wenn Sie möchten, können Sie Ihr eigenes Unterstützungspaket bereitstellen und dieses Paket als Teil des Erstellungsprozesses einbinden lassen. Dies kann sinnvoll sein, wenn Sie bestimmte Optionen im Python-Interpreter aktiviert haben wollen oder wenn Sie Module aus der Standardbibliothek entfernen wollen, die Sie zur Laufzeit nicht benötigen." +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"Auch hier bietet Briefcase ein Standard-Unterstützungspaket für jede " +"Plattform; wenn Sie möchten, können Sie Ihr eigenes Unterstützungspaket " +"bereitstellen und dieses Paket als Teil des Erstellungsprozesses einbinden " +"lassen. Dies kann sinnvoll sein, wenn Sie bestimmte Optionen im Python-" +"Interpreter aktiviert haben wollen oder wenn Sie Module aus der " +"Standardbibliothek entfernen wollen, die Sie zur Laufzeit nicht benötigen." -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase verwaltet einen lokalen Zwischenspeicher für Support-Pakete. Wenn Sie also ein bestimmtes Support-Paket heruntergeladen haben, wird diese zwischengespeicherte Kopie bei zukünftigen Builds verwendet." +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "" +"Briefcase verwaltet einen lokalen Zwischenspeicher für Support-Pakete. Wenn " +"Sie also ein bestimmtes Support-Paket heruntergeladen haben, wird diese " +"zwischengespeicherte Kopie bei zukünftigen Builds verwendet." -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." msgstr "" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#: docs/en/tutorial/tutorial-3.md:168 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Es **installiert Anwendungsanforderungen**. Ihre Anwendung kann alle Module von Drittanbietern angeben, die zur Laufzeit benötigt werden. Diese werden mittels `pip` in das Installationsprogramm Ihrer Anwendung installiert." +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" +"Es **installiert Anwendungsanforderungen**. Ihre Anwendung kann alle Module " +"von Drittanbietern angeben, die zur Laufzeit benötigt werden. Diese werden " +"mittels `pip` in das Installationsprogramm Ihrer Anwendung installiert." -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#: docs/en/tutorial/tutorial-3.md:172 #, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Es **Installiert Ihren Anwendungscode**. Ihre Anwendung hat ihren eigenen Code und Ressourcen (z. B. Bilder, die zur Laufzeit benötigt werden); diese Dateien werden in das Installationsprogramm kopiert." +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "" +"Es **Installiert Ihren Anwendungscode**. Ihre Anwendung hat ihren eigenen " +"Code und Ressourcen (z. B. Bilder, die zur Laufzeit benötigt werden); diese " +"Dateien werden in das Installationsprogramm kopiert." -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#: docs/en/tutorial/tutorial-3.md:176 #, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Er **installiert die von Ihrer Anwendung benötigten Ressourcen**. Schließlich fügt er alle zusätzlichen Ressourcen hinzu, die das Installationsprogramm selbst benötigt. Dazu gehören Dinge wie Symbole, die an die endgültige Anwendung angehängt werden müssen, und Splash-Screen-Bilder." +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "" +"Er **installiert die von Ihrer Anwendung benötigten Ressourcen**. " +"Schließlich fügt er alle zusätzlichen Ressourcen hinzu, die das " +"Installationsprogramm selbst benötigt. Dazu gehören Dinge wie Symbole, die " +"an die endgültige Anwendung angehängt werden müssen, und Splash-Screen-" +"Bilder." -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#: docs/en/tutorial/tutorial-3.md:181 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Sobald dies abgeschlossen ist, sollten Sie im Projektverzeichnis ein Verzeichnis sehen, das Ihrer Plattform entspricht (`macOS`, `linux` oder `windows`) und zusätzliche Dateien enthält. Dies ist die plattformspezifische Paketierungskonfiguration für Ihre Anwendung." +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"Sobald dies abgeschlossen ist, sollten Sie im Projektverzeichnis ein " +"Verzeichnis sehen, das Ihrer Plattform entspricht (`macOS`, `linux` oder " +"`windows`) und zusätzliche Dateien enthält. Dies ist die " +"plattformspezifische Paketierungskonfiguration für Ihre Anwendung." -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 #, fuzzy msgid "Building your application" msgstr "Erstellung Ihrer Anwendung" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#: docs/en/tutorial/tutorial-3.md:188 #, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Sie können nun Ihre Anwendung kompilieren. In diesem Schritt wird die Binärkompilierung durchgeführt, die erforderlich ist, damit Ihre Anwendung auf Ihrer Zielplattform ausgeführt werden kann." +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "" +"Sie können nun Ihre Anwendung kompilieren. In diesem Schritt wird die " +"Binärkompilierung durchgeführt, die erforderlich ist, damit Ihre Anwendung " +"auf Ihrer Zielplattform ausgeführt werden kann." -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#: docs/en/tutorial/tutorial-3.md:205 #, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Unter macOS muss der Befehl `build` nichts *kompilieren*, aber er muss den Inhalt der Binärdatei signieren, damit sie ausgeführt werden kann. Diese Signatur ist eine *ad hoc* Signatur - sie funktioniert nur auf *Ihrem* Rechner; wenn Sie die Anwendung an andere weitergeben wollen, müssen Sie eine vollständige Signatur bereitstellen." +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"Unter macOS muss der Befehl `build` nichts *kompilieren*, aber er muss den " +"Inhalt der Binärdatei signieren, damit sie ausgeführt werden kann. Diese " +"Signatur ist eine *ad hoc* Signatur - sie funktioniert nur auf *Ihrem* " +"Rechner; wenn Sie die Anwendung an andere weitergeben wollen, müssen Sie " +"eine vollständige Signatur bereitstellen." -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#: docs/en/tutorial/tutorial-3.md:239 #, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Sobald dieser Schritt abgeschlossen ist, wird der `build`-Ordner einen `helloworld-0.0.1`-Ordner enthalten, der einen Spiegel des Linux `/usr`-Dateisystems enthält. Dieser Spiegel des Dateisystems enthält einen `bin`-Ordner mit einer `helloworld`-Binärdatei, sowie die `lib`- und `share`-Ordner, die zur Unterstützung der Binärdatei benötigt werden." +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"Sobald dieser Schritt abgeschlossen ist, wird der `build`-Ordner einen " +"`helloworld-0.0.1`-Ordner enthalten, der einen Spiegel des Linux `/usr`-" +"Dateisystems enthält. Dieser Spiegel des Dateisystems enthält einen `bin`-" +"Ordner mit einer `helloworld`-Binärdatei, sowie die `lib`- und `share`-" +"Ordner, die zur Unterstützung der Binärdatei benötigt werden." -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#: docs/en/tutorial/tutorial-3.md:256 #, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Unter Windows muss der `build`-Befehl nichts *kompilieren*, aber er muss einige Metadaten schreiben, damit die Anwendung ihren Namen, ihre Version und so weiter kennt." +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "" +"Unter Windows muss der `build`-Befehl nichts *kompilieren*, aber er muss " +"einige Metadaten schreiben, damit die Anwendung ihren Namen, ihre Version " +"und so weiter kennt." -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Auslösen von Antivirus" +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#: docs/en/tutorial/tutorial-3.md:262 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Da diese Metadaten direkt in die vorkompilierte Binärdatei geschrieben werden, die während des `create`-Befehls aus der Vorlage ausgerollt wird, kann dies Antivirensoftware auf Ihrem Rechner auslösen und verhindern, dass die Metadaten geschrieben werden. In diesem Fall weisen Sie das Antivirusprogramm an, die Ausführung des Tools (mit dem Namen `rcedit-x64.exe`) zu erlauben und führen Sie den obigen Befehl erneut aus." +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"Da diese Metadaten direkt in die vorkompilierte Binärdatei geschrieben " +"werden, die während des `create`-Befehls aus der Vorlage ausgerollt wird, " +"kann dies Antivirensoftware auf Ihrem Rechner auslösen und verhindern, dass " +"die Metadaten geschrieben werden. In diesem Fall weisen Sie das " +"Antivirusprogramm an, die Ausführung des Tools (mit dem Namen " +"`rcedit-x64.exe`) zu erlauben und führen Sie den obigen Befehl erneut aus." -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:273 #, fuzzy msgid "Running your app" msgstr "Ausführen Ihrer Anwendung" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 #, fuzzy msgid "You can now use Briefcase to run your application:" msgstr "Sie können nun Briefcase verwenden, um Ihre Anwendung auszuführen:" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#: docs/en/tutorial/tutorial-3.md:354 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Dies startet Ihre native Anwendung unter Verwendung der Ausgabe des `build` Befehls." +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." +msgstr "" +"Dies startet Ihre native Anwendung unter Verwendung der Ausgabe des `build` " +"Befehls." -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#: docs/en/tutorial/tutorial-3.md:357 #, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Möglicherweise bemerken Sie einige kleine Unterschiede im Aussehen Ihrer Anwendung, wenn sie ausgeführt wird. Beispielsweise können die vom Betriebssystem angezeigten Symbole und der Name etwas anders aussehen als bei der Ausführung im Entwicklermodus. Das liegt auch daran, dass Sie die gepackte Anwendung verwenden und nicht nur den Python-Code ausführen. Aus der Sicht des Betriebssystems führen Sie nun \"eine Anwendung\" und nicht \"ein Python-Programm\" aus, was sich in der Darstellung der Anwendung widerspiegelt." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"Möglicherweise bemerken Sie einige kleine Unterschiede im Aussehen Ihrer " +"Anwendung, wenn sie ausgeführt wird. Beispielsweise können die vom " +"Betriebssystem angezeigten Symbole und der Name etwas anders aussehen als " +"bei der Ausführung im Entwicklermodus. Das liegt auch daran, dass Sie die " +"gepackte Anwendung verwenden und nicht nur den Python-Code ausführen. Aus " +"der Sicht des Betriebssystems führen Sie nun \"eine Anwendung\" und nicht " +"\"ein Python-Programm\" aus, was sich in der Darstellung der Anwendung " +"widerspiegelt." + +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 #, fuzzy msgid "Building your installer" msgstr "Erstellung Ihres Installationsprogramms" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#: docs/en/tutorial/tutorial-3.md:372 #, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Sie können nun Ihre Anwendung mit dem Befehl `package` zur Verteilung verpacken. Der Befehl `package` führt alle Kompilierungen durch, die notwendig sind, um das gerüstete Projekt in ein endgültiges, verteilbares Produkt zu verwandeln. Abhängig von der Plattform kann dies die Kompilierung eines Installationsprogramms, die Durchführung einer Codesignierung oder andere Aufgaben vor der Verteilung beinhalten." +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"Sie können nun Ihre Anwendung mit dem Befehl `package` zur Verteilung " +"verpacken. Der Befehl `package` führt alle Kompilierungen durch, die " +"notwendig sind, um das gerüstete Projekt in ein endgültiges, verteilbares " +"Produkt zu verwandeln. Abhängig von der Plattform kann dies die Kompilierung " +"eines Installationsprogramms, die Durchführung einer Codesignierung oder " +"andere Aufgaben vor der Verteilung beinhalten." -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#: docs/en/tutorial/tutorial-3.md:410 #, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "Der Ordner `dist` enthält eine Datei namens `Hello World-0.0.1.dmg`. Wenn Sie diese Datei im Finder finden und auf das Symbol doppelklicken, wird die DMG-Datei gemountet und Sie erhalten eine Kopie der Hello World-Anwendung und einen Link zu Ihrem Programme-Ordner für eine einfache Installation. Ziehen Sie die Anwendungsdatei in den Ordner Programme, und schon ist Ihre Anwendung installiert. Schicken Sie die DMG-Datei an einen Freund oder eine Freundin, der/die das Gleiche tun kann." +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"Der Ordner `dist` enthält eine Datei namens `Hello World-0.0.1.dmg`. Wenn " +"Sie diese Datei im Finder finden und auf das Symbol doppelklicken, wird die " +"DMG-Datei gemountet und Sie erhalten eine Kopie der Hello World-Anwendung " +"und einen Link zu Ihrem Programme-Ordner für eine einfache Installation. " +"Ziehen Sie die Anwendungsdatei in den Ordner Programme, und schon ist Ihre " +"Anwendung installiert. Schicken Sie die DMG-Datei an einen Freund oder eine " +"Freundin, der/die das Gleiche tun kann." -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#: docs/en/tutorial/tutorial-3.md:417 #, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir " +"signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären " +"Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben " +"dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-" +"Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*" +", wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine " +"echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte " +"Anmeldeinformationen angeben." -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#: docs/en/tutorial/tutorial-3.md:425 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" +"Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie " +"sich die Briefcase-Anleitung zum Thema " +"[Einrichten einer macOS Code Signing Identity]{1} an" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#: docs/en/tutorial/tutorial-3.md:433 #, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "Die Ausgabe des Paketschritts wird je nach Linux-Distribution leicht unterschiedlich sein. Wenn Sie mit einer von Debian abgeleiteten Distribution arbeiten, werden Sie sehen:" +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "" +"Die Ausgabe des Paketschritts wird je nach Linux-Distribution leicht " +"unterschiedlich sein. Wenn Sie mit einer von Debian abgeleiteten " +"Distribution arbeiten, werden Sie sehen:" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 #, fuzzy msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "Der `dist`-Ordner enthält die `.deb`-Datei, die erzeugt wurde." -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 #, fuzzy msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "Wenn Sie mit einer RHEL-basierten Distribution arbeiten, werden Sie es sehen:" +msgstr "" +"Wenn Sie mit einer RHEL-basierten Distribution arbeiten, werden Sie es sehen:" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 #, fuzzy msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "Der Ordner `dist` enthält die erzeugte `.rpm`-Datei." -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 #, fuzzy msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "Wenn Sie mit einer Arch-basierten Distribution arbeiten, werden Sie es sehen:" +msgstr "" +"Wenn Sie mit einer Arch-basierten Distribution arbeiten, werden Sie es sehen:" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#: docs/en/tutorial/tutorial-3.md:504 #, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." msgstr "Der Ordner `dist` enthält die Datei `.pkg.tar.zst`, die erzeugt wurde." -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 #, fuzzy msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Andere Linux-Distributionen werden derzeit nicht für die Paketierung unterstützt." +msgstr "" +"Andere Linux-Distributionen werden derzeit nicht für die Paketierung " +"unterstützt." -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#: docs/en/tutorial/tutorial-3.md:509 #, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Wenn Sie ein Paket für eine andere Linux-Distribution als die, die Sie verwenden, erstellen möchten, kann Briefcase ebenfalls helfen - allerdings müssen Sie Docker installieren." +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "" +"Wenn Sie ein Paket für eine andere Linux-Distribution als die, die Sie " +"verwenden, erstellen möchten, kann Briefcase ebenfalls helfen - allerdings " +"müssen Sie Docker installieren." -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#: docs/en/tutorial/tutorial-3.md:513 #, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Offizielle Installationsprogramme für die [Docker Engine]{1} sind für eine Reihe von Unix-Distributionen verfügbar. Folgen Sie den Anweisungen für Ihre Plattform; stellen Sie jedoch sicher, dass Sie Docker nicht im \"Rootless\"-Modus installieren." +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"Offizielle Installationsprogramme für die [Docker Engine]{1} sind für eine " +"Reihe von Unix-Distributionen verfügbar. Folgen Sie den Anweisungen für Ihre " +"Plattform; stellen Sie jedoch sicher, dass Sie Docker nicht im \"Rootless\"-" +"Modus installieren." -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#: docs/en/tutorial/tutorial-3.md:517 #, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Sobald Sie Docker installiert haben, sollten Sie in der Lage sein, einen Linux-Container zu starten - zum Beispiel:" +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" +msgstr "" +"Sobald Sie Docker installiert haben, sollten Sie in der Lage sein, einen " +"Linux-Container zu starten - zum Beispiel:" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#: docs/en/tutorial/tutorial-3.md:524 #, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "zeigt Ihnen eine Unix-Eingabeaufforderung (etwa `root@84444e31cff9:/#`) innerhalb eines Ubuntu 22.04 Docker-Containers. Geben Sie Strg-D ein, um Docker zu beenden und zu Ihrer lokalen Shell zurückzukehren." +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"zeigt Ihnen eine Unix-Eingabeaufforderung (etwa `root@84444e31cff9:/#`) " +"innerhalb eines Ubuntu 22.04 Docker-Containers. Geben Sie Strg-D ein, um " +"Docker zu beenden und zu Ihrer lokalen Shell zurückzukehren." -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#: docs/en/tutorial/tutorial-3.md:528 #, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Sobald Sie Docker installiert haben, können Sie Briefcase verwenden, um ein Paket für jede Linux-Distribution zu erstellen, die Briefcase unterstützt, indem Sie ein Docker-Image als Argument übergeben. Um beispielsweise ein DEB-Paket für Ubuntu 22.04 (Jammy) zu erstellen, können Sie, unabhängig vom Betriebssystem, das Sie verwenden, Folgendes ausführen:" +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"Sobald Sie Docker installiert haben, können Sie Briefcase verwenden, um ein " +"Paket für jede Linux-Distribution zu erstellen, die Briefcase unterstützt, " +"indem Sie ein Docker-Image als Argument übergeben. Um beispielsweise ein DEB-" +"Paket für Ubuntu 22.04 (Jammy) zu erstellen, können Sie, unabhängig vom " +"Betriebssystem, das Sie verwenden, Folgendes ausführen:" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#: docs/en/tutorial/tutorial-3.md:538 #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Dadurch wird das Docker-Image für das von Ihnen ausgewählte Betriebssystem heruntergeladen, ein Container erstellt, der Briefcase-Builds ausführen kann, und das Anwendungspaket innerhalb des Images erstellt. Sobald dies abgeschlossen ist, enthält der Ordner `dist` das Paket für die Linux-Zieldistribution." +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"Dadurch wird das Docker-Image für das von Ihnen ausgewählte Betriebssystem " +"heruntergeladen, ein Container erstellt, der Briefcase-Builds ausführen " +"kann, und das Anwendungspaket innerhalb des Images erstellt. Sobald dies " +"abgeschlossen ist, enthält der Ordner `dist` das Paket für die Linux-" +"Zieldistribution." -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#: docs/en/tutorial/tutorial-3.md:575 #, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*, wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte Anmeldeinformationen angeben." +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"In diesem Beispiel haben wir die Option `--adhoc-sign` verwendet, d.h. wir " +"signieren unsere Anwendung mit *ad hoc* Anmeldeinformationen - temporären " +"Anmeldeinformationen, die nur auf Ihrem Rechner funktionieren. Wir haben " +"dies getan, um das Tutorial einfach zu halten. Das Einrichten von Code-" +"Signatur-Identitäten ist ein wenig fummelig, und sie sind nur *erforderlich*" +", wenn Sie Ihre Anwendung an andere weitergeben wollen. Würden wir eine " +"echte Anwendung veröffentlichen, die andere nutzen können, müssten wir echte " +"Anmeldeinformationen angeben." -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#: docs/en/tutorial/tutorial-3.md:585 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie sich die Briefcase-Anleitung zum Thema [Einrichten einer macOS Code Signing Identity]{1} an" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" +"Wenn Sie bereit sind, eine echte Anwendung zu veröffentlichen, sehen Sie " +"sich die Briefcase-Anleitung zum Thema " +"[Einrichten einer macOS Code Signing Identity]{1} an" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#: docs/en/tutorial/tutorial-3.md:589 #, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Sobald dieser Schritt abgeschlossen ist, enthält der Ordner `dist` eine Datei mit dem Namen `Hello_World-0.0.1.msi`. Wenn Sie auf dieses Installationsprogramm doppelklicken, um es zu starten, sollten Sie den bekannten Windows-Installationsprozess durchlaufen. Sobald die Installation abgeschlossen ist, finden Sie einen \"Hello World\"-Eintrag in Ihrem Startmenü." - -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"Sobald dieser Schritt abgeschlossen ist, enthält der Ordner `dist` eine " +"Datei mit dem Namen `Hello_World-0.0.1.msi`. Wenn Sie auf dieses " +"Installationsprogramm doppelklicken, um es zu starten, sollten Sie den " +"bekannten Windows-Installationsprozess durchlaufen. Sobald die Installation " +"abgeschlossen ist, finden Sie einen \"Hello World\"-Eintrag in Ihrem " +"Startmenü." + +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Wir haben unsere Anwendung nun für die Verteilung auf Desktop-Plattformen verpackt. Aber was passiert, wenn wir den Code in unserer Anwendung aktualisieren müssen? Wie bekommen wir diese Aktualisierungen in unsere paketierte Anwendung? Schauen Sie sich [Tutorial 4][./tutorial-4] an, um das herauszufinden..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "Tutorial 3 - Verpackung für den Vertrieb" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po index 8397eed7..705456fc 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -1,171 +1,296 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -msgid "Tutorial 4 - Updating your application" -msgstr "Tutorial 4 - Aktualisieren Ihrer Anwendung" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#: docs/en/tutorial/tutorial-4.md:3 #, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "Im letzten Lehrgang haben wir unsere Anwendung als native Anwendung verpackt. Wenn Sie es mit einer realen Anwendung zu tun haben, wird das nicht das Ende der Geschichte sein - Sie werden wahrscheinlich einige Tests durchführen, Probleme entdecken und einige Änderungen vornehmen müssen. Selbst wenn Ihre Anwendung perfekt ist, werden Sie irgendwann die Version 2 Ihrer Anwendung mit Verbesserungen veröffentlichen wollen." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" +"Im letzten Lehrgang haben wir unsere Anwendung als native Anwendung " +"verpackt. Wenn Sie es mit einer realen Anwendung zu tun haben, wird das " +"nicht das Ende der Geschichte sein - Sie werden wahrscheinlich einige Tests " +"durchführen, Probleme entdecken und einige Änderungen vornehmen müssen. " +"Selbst wenn Ihre Anwendung perfekt ist, werden Sie irgendwann die Version 2 " +"Ihrer Anwendung mit Verbesserungen veröffentlichen wollen." + +#: docs/en/tutorial/tutorial-4.md:10 #, fuzzy msgid "So - how do you update your installed app when you make code changes?" -msgstr "Wie aktualisieren Sie also Ihre installierte Anwendung, wenn Sie Codeänderungen vornehmen?" +msgstr "" +"Wie aktualisieren Sie also Ihre installierte Anwendung, wenn Sie " +"Codeänderungen vornehmen?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 #, fuzzy msgid "Updating application code" msgstr "Aktualisierung des Anwendungscodes" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#: docs/en/tutorial/tutorial-4.md:14 #, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Unsere Anwendung gibt derzeit auf der Konsole aus, wenn Sie die Schaltfläche drücken. Allerdings sollten GUI-Anwendungen die Konsole nicht wirklich für die Ausgabe verwenden. Sie müssen Dialoge verwenden, um mit den Benutzern zu kommunizieren." +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "" +"Unsere Anwendung gibt derzeit auf der Konsole aus, wenn Sie die Schaltfläche " +"drücken. Allerdings sollten GUI-Anwendungen die Konsole nicht wirklich für " +"die Ausgabe verwenden. Sie müssen Dialoge verwenden, um mit den Benutzern zu " +"kommunizieren." -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#: docs/en/tutorial/tutorial-4.md:18 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Fügen wir ein Dialogfeld hinzu, um Hallo zu sagen, anstatt in die Konsole zu schreiben. Ändern Sie den `say_hello` Callback so, dass er wie folgt aussieht:" +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "" +"Fügen wir ein Dialogfeld hinzu, um Hallo zu sagen, anstatt in die Konsole zu " +"schreiben. Ändern Sie den `say_hello` Callback so, dass er wie folgt " +"aussieht:" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#: docs/en/tutorial/tutorial-4.md:36 #, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Damit wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die Schaltfläche gedrückt wird." +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." +msgstr "" +"Damit wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die " +"Schaltfläche gedrückt wird." -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#: docs/en/tutorial/tutorial-4.md:38 #, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und die Taste drücken, sehen Sie das neue Dialogfenster:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" +msgstr "" +"Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und die Taste " +"drücken, sehen Sie das neue Dialogfenster:" -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hallo Welt Tutorial 4 Dialog, auf macOS" +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Hallo Welt Tutorial 4 Dialog, unter Linux" +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Hello World Tutorial 4 Dialog, unter Windows" +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:69 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Wenn Sie jedoch `briefcase run` ausführen, wird das Dialogfeld nicht angezeigt." +msgstr "" +"Wenn Sie jedoch `briefcase run` ausführen, wird das Dialogfeld nicht " +"angezeigt." -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Warum ist das so? Nun, `briefcase dev` arbeitet damit, dass es Ihren Code an Ort und Stelle ausführt - es versucht, eine möglichst realistische Laufzeitumgebung für Ihren Code zu erzeugen, aber es stellt keine der Plattforminfrastrukturen zur Verfügung, um Ihren Code als Anwendung zu verpacken. Ein Teil des Prozesses der Paketierung Ihrer Anwendung beinhaltet das Kopieren Ihres Codes *in* das Anwendungsbündel - und im Moment hat Ihre Anwendung noch den alten Code in sich." +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#: docs/en/tutorial/tutorial-4.md:79 #, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Wir müssen also briefcase anweisen, Ihre Anwendung zu aktualisieren, indem wir die neue Version des Codes hineinkopieren. Wir *könnten* dies tun, indem wir das alte Plattformverzeichnis löschen und von vorne beginnen. Briefcase bietet jedoch einen einfacheren Weg - Sie können den Code für Ihre bestehende gebündelte Anwendung aktualisieren:" +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" +"Wir müssen also briefcase anweisen, Ihre Anwendung zu aktualisieren, indem " +"wir die neue Version des Codes hineinkopieren. Wir *könnten* dies tun, indem " +"wir das alte Plattformverzeichnis löschen und von vorne beginnen. Briefcase " +"bietet jedoch einen einfacheren Weg - Sie können den Code für Ihre " +"bestehende gebündelte Anwendung aktualisieren:" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#: docs/en/tutorial/tutorial-4.md:140 #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch `create` auf, um ein neues Gerüst zu erzeugen." +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." +msgstr "" +"Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch " +"`create` auf, um ein neues Gerüst zu erzeugen." -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#: docs/en/tutorial/tutorial-4.md:143 #, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Nun, da wir den Installationscode aktualisiert haben, können wir `briefcase build` ausführen, um die Anwendung neu zu kompilieren, `briefcase run`, um die aktualisierte Anwendung zu starten, und `briefcase package`, um die Anwendung für die Verteilung neu zu verpacken." +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" +"Nun, da wir den Installationscode aktualisiert haben, können wir `briefcase " +"build` ausführen, um die Anwendung neu zu kompilieren, `briefcase run`, um " +"die aktualisierte Anwendung zu starten, und `briefcase package`, um die " +"Anwendung für die Verteilung neu zu verpacken." -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#: docs/en/tutorial/tutorial-4.md:148 #, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3][tutorial-3] erwähnt, für das Tutorial empfehlen, `briefcase package` mit dem `--adhoc-sign`-Flag auszuführen, um die Komplexität der Einrichtung einer Code-Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu halten)" +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" +"(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3][tutorial-3] " +"erwähnt, für das Tutorial empfehlen, `briefcase package` mit dem `--adhoc-" +"sign`-Flag auszuführen, um die Komplexität der Einrichtung einer Code-" +"Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu " +"halten)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 #, fuzzy msgid "Update and run in one step" msgstr "Aktualisierung und Ausführung in einem Schritt" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Wenn Sie Code-Änderungen schnell iterieren, werden Sie wahrscheinlich eine Code-Änderung vornehmen, die Anwendung aktualisieren und sie sofort wieder ausführen wollen. Für die meisten Zwecke ist der Entwicklermodus (`briefcase dev`) der einfachste Weg, diese Art der schnellen Iteration durchzuführen. Wenn Sie jedoch etwas darüber testen, wie Ihre Anwendung als native Binärdatei läuft, oder einen Fehler suchen, der nur auftritt, wenn Ihre Anwendung in gepackter Form vorliegt, müssen Sie möglicherweise wiederholte Aufrufe von `briefcase run` verwenden. Um den Prozess des Aktualisierens und Ausführens der gebündelten Anwendung zu vereinfachen, hat Briefcase eine Abkürzung, die dieses Verwendungsmuster unterstützt - die `-u` (oder `--update`) Option auf dem `run` Befehl." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"Wenn Sie Code-Änderungen schnell iterieren, werden Sie wahrscheinlich eine " +"Code-Änderung vornehmen, die Anwendung aktualisieren und sie sofort wieder " +"ausführen wollen. Für die meisten Zwecke ist der Entwicklermodus (`briefcase " +"dev`) der einfachste Weg, diese Art der schnellen Iteration durchzuführen. " +"Wenn Sie jedoch etwas darüber testen, wie Ihre Anwendung als native " +"Binärdatei läuft, oder einen Fehler suchen, der nur auftritt, wenn Ihre " +"Anwendung in gepackter Form vorliegt, müssen Sie möglicherweise wiederholte " +"Aufrufe von `briefcase run` verwenden. Um den Prozess des Aktualisierens und " +"Ausführens der gebündelten Anwendung zu vereinfachen, hat Briefcase eine " +"Abkürzung, die dieses Verwendungsmuster unterstützt - die `-u` (oder " +"`--update`) Option auf dem `run` Befehl." + +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Versuchen wir, eine weitere Änderung vorzunehmen. Sie haben vielleicht bemerkt, dass das Dialogfeld \"Hallo\" sagt, wenn Sie keinen Namen in das Texteingabefeld eingeben. Ändern wir die Funktion \"say_hello\" erneut, um diesen Sonderfall zu behandeln." +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" +"Versuchen wir, eine weitere Änderung vorzunehmen. Sie haben vielleicht " +"bemerkt, dass das Dialogfeld \"Hallo\" sagt, wenn Sie keinen Namen in das " +"Texteingabefeld eingeben. Ändern wir die Funktion \"say_hello\" erneut, um " +"diesen Sonderfall zu behandeln." -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#: docs/en/tutorial/tutorial-4.md:170 #, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "Am Anfang der Datei, zwischen den Importen und der `class HelloWorld`-Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen:" +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "" +"Am Anfang der Datei, zwischen den Importen und der `class HelloWorld`-" +"Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende " +"Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen:" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-Methode zu verwenden:" +msgstr "" +"Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-" +"Methode zu verwenden:" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#: docs/en/tutorial/tutorial-4.md:194 #, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Führen Sie Ihre Anwendung im Entwicklungsmodus aus (mit `briefcase dev`), um zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen und starten Sie die Anwendung mit einem Befehl:" +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "" +"Führen Sie Ihre Anwendung im Entwicklungsmodus aus (mit `briefcase dev`), um " +"zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen " +"und starten Sie die Anwendung mit einem Befehl:" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#: docs/en/tutorial/tutorial-4.md:268 #, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "Der Befehl package akzeptiert auch das Argument `-u`. Wenn Sie also eine Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, können Sie `briefcase package -u` ausführen." +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" +"Der Befehl package akzeptiert auch das Argument `-u`. Wenn Sie also eine " +"Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, " +"können Sie `briefcase package -u` ausführen." -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#: docs/en/tutorial/tutorial-4.md:274 #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattformen verpackt und konnten den Code in unserer Anwendung aktualisieren." +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "" +"Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattformen " +"verpackt und konnten den Code in unserer Anwendung aktualisieren." -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Aber was ist mit mobilen Geräten? In [Tutorial 5][tutorial-5/index] werden wir unsere Anwendung in eine mobile Anwendung umwandeln und sie in einem Gerätesimulator und auf einem Telefon einsetzen." +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "Tutorial 4 - Aktualisieren Ihrer Anwendung" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po index 8b2aa983..c6aeebc2 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -1,214 +1,365 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-07-30 00:09+0000\n" "Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutorial 5 - Mobiles Arbeiten: Android" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Jetzt nehmen wir unsere Anwendung und stellen sie als Android-Anwendung bereit." +#: docs/en/tutorial/tutorial-5/android.md:3 +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." +msgstr "" +"Jetzt nehmen wir unsere Anwendung und stellen sie als Android-Anwendung " +"bereit." -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "Der Prozess der Bereitstellung einer Anwendung für Android ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Briefcase übernimmt die Installation von Abhängigkeiten für Android, einschließlich des Android SDK, des Android-Emulators und eines Java-Compilers." +#: docs/en/tutorial/tutorial-5/android.md:6 +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"Der Prozess der Bereitstellung einer Anwendung für Android ist dem Prozess " +"der Bereitstellung als Desktop-Anwendung sehr ähnlich. Briefcase übernimmt " +"die Installation von Abhängigkeiten für Android, einschließlich des Android " +"SDK, des Android-Emulators und eines Java-Compilers." -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 msgid "Create an Android app and compile it" msgstr "Eine Android-App erstellen und kompilieren" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Zuerst führen Sie den Befehl `create` aus. Dies lädt eine Android-App-Vorlage herunter und fügt Ihren Python-Code hinzu." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Wenn Sie `briefcase create android` zum ersten Mal ausführen, lädt Briefcase ein Java JDK und das Android SDK herunter. Die Dateigrößen und Downloadzeiten können beträchtlich sein; dies kann eine Weile dauern (10 Minuten oder länger, abhängig von der Geschwindigkeit Ihrer Internetverbindung). Wenn der Download abgeschlossen ist, werden Sie aufgefordert, die Android-SDK-Lizenz von Google zu akzeptieren." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Sobald dies abgeschlossen ist, haben wir in unserem Projekt ein Verzeichnis `build\\helloworld\\android\\gradle`, das ein Android-Projekt mit einer Gradle-Build-Konfiguration enthält. Dieses Projekt enthält Ihren Anwendungscode und ein Support-Paket, das den Python-Interpreter enthält." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Wir können dann den Befehl `build` von Briefcase verwenden, um diese in eine Android APK App-Datei zu kompilieren." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -msgid "Gradle may look stuck" -msgstr "Gradle kann aussehen, als würde es stecken bleiben" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Während des Schrittes `briefcase build android` gibt Gradle (das Werkzeug zur Erstellung der Android-Plattform) `CONFIGURING: 100%` aus und scheint nichts zu tun. Keine Sorge, es steckt nicht fest - es lädt weitere Android SDK Komponenten herunter. Je nach der Geschwindigkeit Ihrer Internetverbindung kann dies weitere 10 Minuten (oder länger) dauern. Diese Verzögerung sollte nur beim allerersten Mal auftreten, wenn Sie `build` ausführen; die Tools werden zwischengespeichert und beim nächsten Build werden die zwischengespeicherten Versionen verwendet." +#: docs/en/tutorial/tutorial-5/android.md:13 +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "" +"Zuerst führen Sie den Befehl `create` aus. Dies lädt eine Android-App-" +"Vorlage herunter und fügt Ihren Python-Code hinzu." + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -msgid "Run the app on a virtual device" -msgstr "Ausführen der Anwendung auf einem virtuellen Gerät" +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Wir sind nun bereit, unsere Anwendung zu starten. Sie können den Befehl `run` von Briefcase verwenden, um die Anwendung auf einem Android-Gerät auszuführen. Beginnen wir mit der Ausführung auf einem Android-Emulator." +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Um Ihre Anwendung auszuführen, starten Sie `briefcase run android`. Daraufhin erhalten Sie eine Liste von Geräten, auf denen Sie die Anwendung ausführen können. Der letzte Punkt ist immer eine Option zum Erstellen eines neuen Android-Emulators." +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Nun können wir unser gewünschtes Gerät auswählen. Wählen Sie die Option \"Einen neuen Android-Emulator erstellen\" und akzeptieren Sie die Standardauswahl für den Gerätenamen (`beePhone`)." +#: docs/en/tutorial/tutorial-5/android.md:104 +#, fuzzy +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"Wenn Sie `briefcase create android` zum ersten Mal ausführen, lädt Briefcase " +"ein Java JDK und das Android SDK herunter. Die Dateigrößen und " +"Downloadzeiten können beträchtlich sein; dies kann eine Weile dauern (10 " +"Minuten oder länger, abhängig von der Geschwindigkeit Ihrer " +"Internetverbindung). Wenn der Download abgeschlossen ist, werden Sie " +"aufgefordert, die Android-SDK-Lizenz von Google zu akzeptieren." + +#: docs/en/tutorial/tutorial-5/android.md:113 +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"Sobald dies abgeschlossen ist, haben wir in unserem Projekt ein Verzeichnis `" +"build\\helloworld\\android\\gradle`, das ein Android-Projekt mit einer " +"Gradle-Build-Konfiguration enthält. Dieses Projekt enthält Ihren " +"Anwendungscode und ein Support-Paket, das den Python-Interpreter enthält." -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` wird das virtuelle Gerät automatisch starten. Wenn das Gerät hochfährt, sehen Sie das Android-Logo:" +#: docs/en/tutorial/tutorial-5/android.md:118 +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "" +"Wir können dann den Befehl `build` von Briefcase verwenden, um diese in eine " +"Android APK App-Datei zu kompilieren." -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -msgid "Android virtual device booting" -msgstr "Booten eines virtuellen Android-Geräts" +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Sobald das Gerät hochgefahren ist, wird Briefcase Ihre Anwendung auf dem Gerät installieren. Sie sehen kurz einen Startbildschirm:" +#: docs/en/tutorial/tutorial-5/android.md:184 +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"Während des Schrittes `briefcase build android` gibt Gradle (das Werkzeug " +"zur Erstellung der Android-Plattform) `CONFIGURING: 100%` aus und scheint " +"nichts zu tun. Keine Sorge, es steckt nicht fest - es lädt weitere Android " +"SDK Komponenten herunter. Je nach der Geschwindigkeit Ihrer " +"Internetverbindung kann dies weitere 10 Minuten (oder länger) dauern. Diese " +"Verzögerung sollte nur beim allerersten Mal auftreten, wenn Sie `build` " +"ausführen; die Tools werden zwischengespeichert und beim nächsten Build " +"werden die zwischengespeicherten Versionen verwendet." + +#: docs/en/tutorial/tutorial-5/android.md:194 +msgid "Run the app on a virtual device" +msgstr "Ausführen der Anwendung auf einem virtuellen Gerät" -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Virtuelles Android-Gerät vollständig gestartet, auf dem Startbildschirm" +#: docs/en/tutorial/tutorial-5/android.md:196 +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" +"Wir sind nun bereit, unsere Anwendung zu starten. Sie können den Befehl `run`" +" von Briefcase verwenden, um die Anwendung auf einem Android-Gerät " +"auszuführen. Beginnen wir mit der Ausführung auf einem Android-Emulator." -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "Die Anwendung wird dann gestartet. Während die App startet, wird ein Begrüßungsbildschirm angezeigt:" +#: docs/en/tutorial/tutorial-5/android.md:200 +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" +"Um Ihre Anwendung auszuführen, starten Sie `briefcase run android`. " +"Daraufhin erhalten Sie eine Liste von Geräten, auf denen Sie die Anwendung " +"ausführen können. Der letzte Punkt ist immer eine Option zum Erstellen eines " +"neuen Android-Emulators." -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -msgid "App splash screen" -msgstr "App-Startbildschirm" +#: docs/en/tutorial/tutorial-5/android.md:246 +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "" +"Nun können wir unser gewünschtes Gerät auswählen. Wählen Sie die Option " +"\"Einen neuen Android-Emulator erstellen\" und akzeptieren Sie die " +"Standardauswahl für den Gerätenamen (`beePhone`)." -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -msgid "The emulator didn't start!" -msgstr "Der Emulator ist nicht gestartet!" +#: docs/en/tutorial/tutorial-5/android.md:250 +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "" +"Briefcase `run` wird das virtuelle Gerät automatisch starten. Wenn das Gerät " +"hochfährt, sehen Sie das Android-Logo:" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "Der Android-Emulator ist eine komplexe Software, die auf eine Reihe von Hardware- und Betriebssystemfunktionen angewiesen ist - Funktionen, die auf älteren Rechnern möglicherweise nicht verfügbar oder aktiviert sind. Wenn Sie Schwierigkeiten beim Starten des Android-Emulators haben, lesen Sie den Abschnitt [Anforderungen und Empfehlungen]{1} in der Android-Entwicklerdokumentation." +#: docs/en/tutorial/tutorial-5/android.md:259 +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "" +"Sobald das Gerät hochgefahren ist, wird Briefcase Ihre Anwendung auf dem " +"Gerät installieren. Sie sehen kurz einen Startbildschirm:" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "Wenn die App zum ersten Mal gestartet wird, muss sie sich auf dem Gerät entpacken. Das kann ein paar Sekunden dauern. Sobald sie entpackt ist, sehen Sie die Android-Version unserer Desktop-App:" +#: docs/en/tutorial/tutorial-5/android.md:269 +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "" +"Die Anwendung wird dann gestartet. Während die App startet, wird ein " +"Begrüßungsbildschirm angezeigt:" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -msgid "App from Tutorial 2, fully launched" -msgstr "App aus Tutorial 2, vollständig gestartet" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -msgid "Demo app fully launched" -msgstr "Demo-App vollständig gestartet" +#: docs/en/tutorial/tutorial-5/android.md:280 +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" +"Der Android-Emulator ist eine komplexe Software, die auf eine Reihe von " +"Hardware- und Betriebssystemfunktionen angewiesen ist - Funktionen, die auf " +"älteren Rechnern möglicherweise nicht verfügbar oder aktiviert sind. Wenn " +"Sie Schwierigkeiten beim Starten des Android-Emulators haben, lesen Sie den " +"Abschnitt [Anforderungen und Empfehlungen]{1} in der Android-" +"Entwicklerdokumentation." + +#: docs/en/tutorial/tutorial-5/android.md:290 +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "" +"Wenn die App zum ersten Mal gestartet wird, muss sie sich auf dem Gerät " +"entpacken. Das kann ein paar Sekunden dauern. Sobald sie entpackt ist, sehen " +"Sie die Android-Version unserer Desktop-App:" -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Wenn Sie nicht sehen, dass Ihre Anwendung startet, sollten Sie Ihr Terminal überprüfen, in dem Sie `briefcase run` ausgeführt haben, und nach Fehlermeldungen suchen." +#: docs/en/tutorial/tutorial-5/android.md:300 +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "" +"Wenn Sie nicht sehen, dass Ihre Anwendung startet, sollten Sie Ihr Terminal " +"überprüfen, in dem Sie `briefcase run` ausgeführt haben, und nach " +"Fehlermeldungen suchen." -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "Wenn Sie in Zukunft auf diesem Gerät arbeiten wollen, ohne das Menü zu benutzen, können Sie Briefcase den Namen des Emulators mitteilen, indem Sie `briefcase run android -d @beePhone` verwenden, um direkt auf dem virtuellen Gerät zu arbeiten." +#: docs/en/tutorial/tutorial-5/android.md:309 +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"Wenn Sie in Zukunft auf diesem Gerät arbeiten wollen, ohne das Menü zu " +"benutzen, können Sie Briefcase den Namen des Emulators mitteilen, indem Sie `" +"briefcase run android -d @beePhone` verwenden, um direkt auf dem virtuellen " +"Gerät zu arbeiten." -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 msgid "Run the app on a physical device" msgstr "Ausführen der App auf einem physischen Gerät" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Wenn Sie ein physisches Android-Telefon oder -Tablet besitzen, können Sie es mit einem USB-Kabel an Ihren Computer anschließen und dann Briefcase verwenden, um Ihr physisches Gerät anzusteuern." +#: docs/en/tutorial/tutorial-5/android.md:316 +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "" +"Wenn Sie ein physisches Android-Telefon oder -Tablet besitzen, können Sie es " +"mit einem USB-Kabel an Ihren Computer anschließen und dann Briefcase " +"verwenden, um Ihr physisches Gerät anzusteuern." -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android erfordert, dass Sie Ihr Gerät vorbereiten, bevor Sie es für die Entwicklung verwenden können. Sie müssen 2 Änderungen an den Optionen auf Ihrem Gerät vornehmen:" +#: docs/en/tutorial/tutorial-5/android.md:320 +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "" +"Android erfordert, dass Sie Ihr Gerät vorbereiten, bevor Sie es für die " +"Entwicklung verwenden können. Sie müssen 2 Änderungen an den Optionen auf " +"Ihrem Gerät vornehmen:" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 msgid "Enable developer options" msgstr "Entwickleroptionen aktivieren" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 msgid "Enable USB debugging" msgstr "USB-Debugging einschalten" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Details zur Durchführung dieser Änderungen können [in der Android-Entwicklerdokumentation]{1} nachgelesen werden." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der verfügbaren Geräte erscheinen, wenn Sie `briefcase run android` ausführen." +#: docs/en/tutorial/tutorial-5/android.md:327 +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" +"Details zur Durchführung dieser Änderungen können " +"[in der Android-Entwicklerdokumentation]{1} nachgelesen werden." -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Hier sehen wir ein neues physisches Gerät mit seiner Seriennummer in der Einsatzliste - in diesem Fall ein Pixel 3a. Wenn Sie in Zukunft auf diesem Gerät arbeiten möchten, ohne das Menü zu verwenden, können Sie die Seriennummer des Telefons an Briefcase übergeben (in diesem Fall `briefcase run android -d 94ZZY0LNE8`). Dies wird direkt auf dem Gerät ausgeführt, ohne dass Sie gefragt werden." +#: docs/en/tutorial/tutorial-5/android.md:330 +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "" +"Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der " +"verfügbaren Geräte erscheinen, wenn Sie `briefcase run android` ausführen." -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -msgid "My device doesn't appear!" -msgstr "Mein Gerät wird nicht angezeigt!" +#: docs/en/tutorial/tutorial-5/android.md:381 +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"Hier sehen wir ein neues physisches Gerät mit seiner Seriennummer in der " +"Einsatzliste - in diesem Fall ein Pixel 3a. Wenn Sie in Zukunft auf diesem " +"Gerät arbeiten möchten, ohne das Menü zu verwenden, können Sie die " +"Seriennummer des Telefons an Briefcase übergeben (in diesem Fall `briefcase " +"run android -d 94ZZY0LNE8`). Dies wird direkt auf dem Gerät ausgeführt, ohne " +"dass Sie gefragt werden." + +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Wenn Ihr Gerät in dieser Liste nicht erscheint, haben Sie entweder das USB-Debugging nicht aktiviert (oder das Gerät ist nicht eingesteckt!)." +#: docs/en/tutorial/tutorial-5/android.md:390 +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "" +"Wenn Ihr Gerät in dieser Liste nicht erscheint, haben Sie entweder das USB-" +"Debugging nicht aktiviert (oder das Gerät ist nicht eingesteckt!)." -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Wenn Ihr Gerät zwar angezeigt wird, aber als \"Unbekanntes Gerät (nicht für die Entwicklung autorisiert)\" aufgeführt ist, wurde der Entwicklermodus nicht korrekt aktiviert. Führen Sie die [Schritte zum Aktivieren der Entwickleroptionen]{1} erneut aus, und führen Sie \"Briefcase run android\" erneut aus." +#: docs/en/tutorial/tutorial-5/android.md:393 +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" +"Wenn Ihr Gerät zwar angezeigt wird, aber als " +"\"Unbekanntes Gerät (nicht für die Entwicklung autorisiert)\" aufgeführt " +"ist, wurde der Entwicklermodus nicht korrekt aktiviert. Führen Sie die " +"[Schritte zum Aktivieren der Entwickleroptionen]{1} erneut aus, und führen " +"Sie \"Briefcase run android\" erneut aus." -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "Tutorial 5 - Mobiles Arbeiten: Android" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po index f99174c4..6692e609 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -1,83 +1,140 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-14 00:09+0000\n" "Last-Translator: tct123 \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutorial 5 – Mobil nutzen: iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#: docs/en/tutorial/tutorial-5/iOS.md:13 #, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Sobald wir Xcode installiert haben, können wir unsere Anwendung als iOS-App bereitstellen." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "Der Prozess der Bereitstellung einer Anwendung für iOS ist dem Prozess der Bereitstellung als Desktop-Anwendung sehr ähnlich. Zuerst führen Sie den Befehl `create` aus - aber dieses Mal geben wir an, dass wir eine iOS-Anwendung erstellen wollen:" +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." +msgstr "" +"Sobald wir Xcode installiert haben, können wir unsere Anwendung als iOS-App " +"bereitstellen." -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Sobald dies abgeschlossen ist, haben wir ein `build/helloworld/ios/xcode` Verzeichnis, das ein Xcode Projekt enthält, sowie die unterstützenden Bibliotheken und den Anwendungscode, der für die Anwendung benötigt wird." +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Sie können dann Briefcase verwenden, um Ihre Anwendung mit `briefcase build iOS` zu kompilieren:" +#: docs/en/tutorial/tutorial-5/iOS.md:46 +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"Sobald dies abgeschlossen ist, haben wir ein `build/helloworld/ios/xcode` " +"Verzeichnis, das ein Xcode Projekt enthält, sowie die unterstützenden " +"Bibliotheken und den Anwendungscode, der für die Anwendung benötigt wird." -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Wir sind nun bereit, unsere Anwendung mit `briefcase run iOS` zu starten. Sie werden aufgefordert, ein Gerät auszuwählen, für das kompiliert werden soll. Wenn Sie Simulatoren für mehrere iOS SDK-Versionen installiert haben, werden Sie möglicherweise auch gefragt, welche iOS-Version Sie verwenden möchten. Die Optionen, die Ihnen angezeigt werden, können sich von den in dieser Ausgabe gezeigten Optionen unterscheiden - zumindest wird die Liste der Geräte wahrscheinlich anders aussehen. Für unsere Zwecke spielt es keine Rolle, welchen Simulator Sie wählen." +#: docs/en/tutorial/tutorial-5/iOS.md:50 +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "" +"Sie können dann Briefcase verwenden, um Ihre Anwendung mit `briefcase build " +"iOS` zu kompilieren:" -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Dadurch wird der iOS-Simulator gestartet, Ihre Anwendung installiert und gestartet. Sie sollten sehen, dass der Simulator startet und schließlich Ihre iOS-Anwendung öffnet:" +#: docs/en/tutorial/tutorial-5/iOS.md:66 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"Wir sind nun bereit, unsere Anwendung mit `briefcase run iOS` zu starten. " +"Sie werden aufgefordert, ein Gerät auszuwählen, für das kompiliert werden " +"soll. Wenn Sie Simulatoren für mehrere iOS SDK-Versionen installiert haben, " +"werden Sie möglicherweise auch gefragt, welche iOS-Version Sie verwenden " +"möchten. Die Optionen, die Ihnen angezeigt werden, können sich von den in " +"dieser Ausgabe gezeigten Optionen unterscheiden - zumindest wird die Liste " +"der Geräte wahrscheinlich anders aussehen. Für unsere Zwecke spielt es keine " +"Rolle, welchen Simulator Sie wählen." + +#: docs/en/tutorial/tutorial-5/iOS.md:116 +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "" +"Dadurch wird der iOS-Simulator gestartet, Ihre Anwendung installiert und " +"gestartet. Sie sollten sehen, dass der Simulator startet und schließlich " +"Ihre iOS-Anwendung öffnet:" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World Tutorial 5 Fenster, auf iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Wenn Sie bereits im Voraus wissen, welchen iOS-Simulator Sie verwenden möchten, können Sie Briefcase mit der Option `-d` (oder `--device`) anweisen, diesen Simulator zu verwenden. Verwenden Sie den Namen des Geräts, das Sie beim Erstellen Ihrer Anwendung ausgewählt haben, und führen Sie es aus:" +#: docs/en/tutorial/tutorial-5/iOS.md:127 +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"Wenn Sie bereits im Voraus wissen, welchen iOS-Simulator Sie verwenden " +"möchten, können Sie Briefcase mit der Option `-d` (oder `--device`) " +"anweisen, diesen Simulator zu verwenden. Verwenden Sie den Namen des Geräts, " +"das Sie beim Erstellen Ihrer Anwendung ausgewählt haben, und führen Sie es " +"aus:" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Wenn Sie mehrere iOS-Versionen zur Verfügung haben, wählt Briefcase die höchste iOS-Version aus; wenn Sie eine bestimmte iOS-Version auswählen möchten, weisen Sie das Programm an, diese Version zu verwenden:" +#: docs/en/tutorial/tutorial-5/iOS.md:136 +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "" +"Wenn Sie mehrere iOS-Versionen zur Verfügung haben, wählt Briefcase die " +"höchste iOS-Version aus; wenn Sie eine bestimmte iOS-Version auswählen " +"möchten, weisen Sie das Programm an, diese Version zu verwenden:" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 msgid "Or, you can name a specific device UDID:" msgstr "Oder Sie können ein bestimmtes Gerät UDID nennen:" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Wir haben jetzt eine Anwendung auf unserem Telefon! Gibt es noch einen anderen Ort, an dem wir eine BeeWare-Anwendung einsetzen können? Schauen Sie sich [Tutorial 6][../tutorial-6] an, um das herauszufinden..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Um iOS-Anwendungen zu kompilieren, benötigen wir Xcode, das kostenlos [im macOS App Store]{1} erhältlich ist." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "Tutorial 5 – Mobil nutzen: iOS" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po index bdca87fe..2ce140c4 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,49 +2,46 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-14 00:09+0000\n" "Last-Translator: tct123 \n" "Language-Team: German \n" -"Language: de\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.7-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutorial 5 - Mobil nutzen" +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +#: docs/en/tutorial/tutorial-5/index.md:3 +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" msgstr "" "Bislang haben wir unsere Anwendung auf dem Desktop ausgeführt und getestet. " "BeeWare unterstützt jedoch auch mobile Plattformen - und die von uns " "geschriebene Anwendung kann auch auf Ihrem mobilen Gerät eingesetzt werden!" -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "iOS-Anwendungen können nur unter macOS kompiliert werden." - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#: docs/en/tutorial/tutorial-5/index.md:9 msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "" "Android-Anwendungen können unter macOS, Windows oder Linux kompiliert werden." -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Lasst uns unsere App für iOS bauen!][iOS]" +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:13 +msgid "iOS applications can only be compiled on macOS." +msgstr "iOS-Anwendungen können nur unter macOS kompiliert werden." -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Lassen Sie uns unsere App für Android erstellen!][android]" +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "Tutorial 5 - Mobil nutzen" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po index 37759b54..13adef3f 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,100 +2,178 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Marco Esters \n" "Language-Team: German \n" -"Language: de\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.4-dev\n" -"Generated-By: Babel 2.14.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - Ins Netz stellen!" +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +#: docs/en/tutorial/tutorial-6.md:3 #, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Das Toga Widget Toolkit unterstützt nicht nur mobile Plattformen, sondern auch das Web! Mit der gleichen API, die Sie für die Bereitstellung Ihrer Desktop- und mobilen Anwendungen verwendet haben, können Sie Ihre Anwendung als einseitige Webanwendung bereitstellen." +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." +msgstr "" +"Das Toga Widget Toolkit unterstützt nicht nur mobile Plattformen, sondern " +"auch das Web! Mit der gleichen API, die Sie für die Bereitstellung Ihrer " +"Desktop- und mobilen Anwendungen verwendet haben, können Sie Ihre Anwendung " +"als einseitige Webanwendung bereitstellen." -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -#, fuzzy -msgid "Proof of Concept" -msgstr "Proof of Concept" +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +#: docs/en/tutorial/tutorial-6.md:10 #, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "Das Toga Web Backend ist das am wenigsten ausgereifte von allen Toga Backends. Es ist ausgereift genug, um ein paar Funktionen zu zeigen, aber es wird wahrscheinlich fehlerhaft sein und viele der Widgets, die auf anderen Plattformen verfügbar sind, fehlen. Zum jetzigen Zeitpunkt sollte Web Deployment als \"Proof of Concept\" betrachtet werden - genug, um zu demonstrieren, was getan werden kann, aber nicht genug, um sich auf eine ernsthafte Entwicklung zu verlassen." - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." +msgstr "" +"Das Toga Web Backend ist das am wenigsten ausgereifte von allen Toga " +"Backends. Es ist ausgereift genug, um ein paar Funktionen zu zeigen, aber es " +"wird wahrscheinlich fehlerhaft sein und viele der Widgets, die auf anderen " +"Plattformen verfügbar sind, fehlen. Zum jetzigen Zeitpunkt sollte Web " +"Deployment als \"Proof of Concept\" betrachtet werden - genug, um zu " +"demonstrieren, was getan werden kann, aber nicht genug, um sich auf eine " +"ernsthafte Entwicklung zu verlassen." + +#: docs/en/tutorial/tutorial-6.md:17 #, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Wenn Sie Probleme mit diesem Schritt des Tutorials haben, können Sie zur nächsten Seite wechseln." +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." +msgstr "" +"Wenn Sie Probleme mit diesem Schritt des Tutorials haben, können Sie zur " +"nächsten Seite wechseln." + +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#: docs/en/tutorial/tutorial-6.md:22 #, fuzzy msgid "Deploying as a web app" msgstr "Als Webanwendung bereitstellen" -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +#: docs/en/tutorial/tutorial-6.md:24 #, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "Der Prozess der Bereitstellung als einseitige Webanwendung folgt dem gleichen bekannten Muster - Sie erstellen die Anwendung, bauen die Anwendung und führen sie dann aus. Wenn Sie versuchen, eine Anwendung auszuführen und Briefcase feststellt, dass sie nicht für die angestrebte Plattform erstellt oder gebaut wurde, führt es die Schritte zum Erstellen und Bauen für Sie aus. Da wir die Anwendung zum ersten Mal für das Web ausführen, können wir alle drei Schritte mit einem Befehl ausführen:" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" +msgstr "" +"Der Prozess der Bereitstellung als einseitige Webanwendung folgt dem " +"gleichen bekannten Muster - Sie erstellen die Anwendung, bauen die Anwendung " +"und führen sie dann aus. Wenn Sie versuchen, eine Anwendung auszuführen und " +"Briefcase feststellt, dass sie nicht für die angestrebte Plattform erstellt " +"oder gebaut wurde, führt es die Schritte zum Erstellen und Bauen für Sie " +"aus. Da wir die Anwendung zum ersten Mal für das Web ausführen, können wir " +"alle drei Schritte mit einem Befehl ausführen:" + +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Dadurch wird ein Webbrowser geöffnet, der auf [http://127.0.0.1:8080](http://127.0.0.1:8080) verweist:" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Hello World Tutorial 6 Dialog, in einem Browser" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#: docs/en/tutorial/tutorial-6.md:156 #, fuzzy msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Wenn Sie Ihren Namen eingeben und auf die Schaltfläche klicken, wird ein Dialogfeld angezeigt." +msgstr "" +"Wenn Sie Ihren Namen eingeben und auf die Schaltfläche klicken, wird ein " +"Dialogfeld angezeigt." -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#: docs/en/tutorial/tutorial-6.md:158 #, fuzzy msgid "How does this work?" msgstr "Wie funktioniert das?" -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +#: docs/en/tutorial/tutorial-6.md:160 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Diese Webanwendung ist eine statische Website - eine einzelne HTML-Quellseite mit einigen CSS- und anderen Ressourcen. Briefcase hat einen lokalen Webserver gestartet, um diese Seite bereitzustellen, damit Ihr Browser die Seite anzeigen kann. Wenn Sie diese Webseite in Produktion geben möchten, können Sie den Inhalt des Ordners `www` auf einen beliebigen Webserver kopieren, der statische Inhalte bereitstellen kann." - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." +msgstr "" +"Diese Webanwendung ist eine statische Website - eine einzelne HTML-" +"Quellseite mit einigen CSS- und anderen Ressourcen. Briefcase hat einen " +"lokalen Webserver gestartet, um diese Seite bereitzustellen, damit Ihr " +"Browser die Seite anzeigen kann. Wenn Sie diese Webseite in Produktion geben " +"möchten, können Sie den Inhalt des Ordners `www` auf einen beliebigen " +"Webserver kopieren, der statische Inhalte bereitstellen kann." + +#: docs/en/tutorial/tutorial-6.md:166 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Aber wenn Sie die Taste drücken, führen Sie Python-Code aus... wie funktioniert das? Toga verwendet [PyScript]{1}, um einen Python-Interpreter im Browser bereitzustellen. Briefcase verpackt den Code Ihrer Anwendung als Rädchen, die PyScript im Browser laden kann. Wenn die Seite geladen wird, läuft der Anwendungscode im Browser und baut die Benutzeroberfläche mit Hilfe des Browser-DOMs auf. Wenn Sie auf eine Schaltfläche klicken, führt diese Schaltfläche den Code zur Ereignisbehandlung im Browser aus." - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." +msgstr "" +"Aber wenn Sie die Taste drücken, führen Sie Python-Code aus... wie " +"funktioniert das? Toga verwendet [PyScript]{1}, um einen Python-Interpreter " +"im Browser bereitzustellen. Briefcase verpackt den Code Ihrer Anwendung als " +"Rädchen, die PyScript im Browser laden kann. Wenn die Seite geladen wird, " +"läuft der Anwendungscode im Browser und baut die Benutzeroberfläche mit " +"Hilfe des Browser-DOMs auf. Wenn Sie auf eine Schaltfläche klicken, führt " +"diese Schaltfläche den Code zur Ereignisbehandlung im Browser aus." + +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +#: docs/en/tutorial/tutorial-6.md:176 #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Obwohl wir diese App jetzt auf dem Desktop, auf dem Handy und im Web bereitgestellt haben, ist die App recht einfach und enthält keine Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7][tutorial-7] an, um das herauszufinden..." +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." +msgstr "" +"Obwohl wir diese App jetzt auf dem Desktop, auf dem Handy und im Web " +"bereitgestellt haben, ist die App recht einfach und enthält keine " +"Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python " +"Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7]" +"[tutorial-7] an, um das herauszufinden..." + +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "Tutorial 6 - Ins Netz stellen!" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po index 653353a1..824d7777 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -1,375 +1,559 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutorial 7 - Die (Dritt)-Partei in Gang bringen" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#: docs/en/tutorial/tutorial-7.md:3 #, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Bisher haben wir in der von uns erstellten Anwendung nur unseren eigenen Code sowie den von BeeWare bereitgestellten Code verwendet. In einer realen Anwendung werden Sie jedoch wahrscheinlich eine Bibliothek eines Drittanbieters verwenden wollen, die Sie aus dem Python Package Index (PyPI) herunterladen." +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"Bisher haben wir in der von uns erstellten Anwendung nur unseren eigenen " +"Code sowie den von BeeWare bereitgestellten Code verwendet. In einer realen " +"Anwendung werden Sie jedoch wahrscheinlich eine Bibliothek eines " +"Drittanbieters verwenden wollen, die Sie aus dem Python Package Index (PyPI) " +"herunterladen." -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 #, fuzzy msgid "Let's modify our app to include a third-party library." -msgstr "Ändern wir unsere Anwendung so, dass sie eine Bibliothek eines Drittanbieters enthält." +msgstr "" +"Ändern wir unsere Anwendung so, dass sie eine Bibliothek eines " +"Drittanbieters enthält." -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#: docs/en/tutorial/tutorial-7.md:23 #, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Fügen wir einen `httpx`-API-Aufruf zu unserer Anwendung hinzu. Fügen Sie einen Import am Anfang der `app.py` hinzu, um `httpx` zu importieren:" +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "" +"Fügen wir einen `httpx`-API-Aufruf zu unserer Anwendung hinzu. Fügen Sie " +"einen Import am Anfang der `app.py` hinzu, um `httpx` zu importieren:" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Dann modifizieren Sie den `say_hello()` Callback so, dass er wie folgt aussieht:" +msgstr "" +"Dann modifizieren Sie den `say_hello()` Callback so, dass er wie folgt " +"aussieht:" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#: docs/en/tutorial/tutorial-7.md:43 #, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Führen wir unsere aktualisierte Anwendung im Briefcase-Entwicklermodus aus, um zu prüfen, ob unsere Änderung funktioniert." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." +msgstr "" +"Führen wir unsere aktualisierte Anwendung im Briefcase-Entwicklermodus aus, " +"um zu prüfen, ob unsere Änderung funktioniert." + +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "Was ist passiert? Wir haben `httpx` zu unserem *Code* hinzugefügt, aber wir haben es nicht zu unserer virtuellen Entwicklungsumgebung hinzugefügt. Wir können dies beheben, indem wir `httpx` mit `pip` installieren und dann `briefcase dev` erneut ausführen:" +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Wenn Sie einen Namen eingeben und auf die Schaltfläche drücken, sollte ein Dialogfeld angezeigt werden, das etwa so aussieht:" +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hallo Welt Tutorial 7 Dialog, auf macOS" +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#: docs/en/tutorial/tutorial-7.md:126 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Hallo Welt Tutorial 7 Dialog, unter Linux" +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"Was ist passiert? Wir haben `httpx` zu unserem *Code* hinzugefügt, aber wir " +"haben es nicht zu unserer virtuellen Entwicklungsumgebung hinzugefügt. Wir " +"können dies beheben, indem wir `httpx` mit `pip` installieren und dann `" +"briefcase dev` erneut ausführen:" -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Hallo Welt Tutorial 7 Dialog, unter Windows" +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" +"Wenn Sie einen Namen eingeben und auf die Schaltfläche drücken, sollte ein " +"Dialogfeld angezeigt werden, das etwa so aussieht:" -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#: docs/en/tutorial/tutorial-7.md:192 #, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Wir haben jetzt eine funktionierende Anwendung, die eine Bibliothek eines Drittanbieters verwendet und im Entwicklungsmodus läuft!" +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" +msgstr "" +"Wir haben jetzt eine funktionierende Anwendung, die eine Bibliothek eines " +"Drittanbieters verwendet und im Entwicklungsmodus läuft!" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 #, fuzzy msgid "Running the updated app" msgstr "Ausführen der aktualisierten Anwendung" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir die gleichen Schritte wie in [Tutorial 4][tutorial-4] ausführen:" +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige " +"Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir " +"die gleichen Schritte wie in [Tutorial 4][tutorial-4] ausführen:" -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "Aktualisieren Sie den Code in der gepackten Anwendung:" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "Bauen Sie die Anwendung neu auf:" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 #, fuzzy msgid "And finally, run the app:" msgstr "Und schließlich führen Sie die Anwendung aus:" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler und ein Absturzdialog angezeigt:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Hallo Welt Tutorial 7 App Absturz, auf macOS" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" +msgstr "" +"Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler " +"und ein Absturzdialog angezeigt:" -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler angezeigt:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Hallo Welt Tutorial 7 App Absturz, auf Windows" +msgstr "" +"Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler " +"angezeigt:" -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" -msgstr "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler angezeigt:" +msgstr "" +"Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler " +"angezeigt:" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Wieder einmal ist der Start der Anwendung fehlgeschlagen, weil `httpx` installiert wurde - aber warum? Haben wir `httpx` nicht schon installiert?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Das haben wir - aber nur in der Entwicklungsumgebung. Ihre Entwicklungsumgebung befindet sich ausschließlich auf Ihrem Rechner - und wird nur aktiviert, wenn Sie sie explizit aktivieren. Obwohl Briefcase einen Entwicklungsmodus hat, ist der Hauptgrund für die Verwendung von Briefcase, Ihren Code zu verpacken, damit Sie ihn an jemand anderen weitergeben können." +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"Das haben wir - aber nur in der Entwicklungsumgebung. Ihre " +"Entwicklungsumgebung befindet sich ausschließlich auf Ihrem Rechner - und " +"wird nur aktiviert, wenn Sie sie explizit aktivieren. Obwohl Briefcase einen " +"Entwicklungsmodus hat, ist der Hauptgrund für die Verwendung von Briefcase, " +"Ihren Code zu verpacken, damit Sie ihn an jemand anderen weitergeben können." -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "Der einzige Weg, um zu garantieren, dass jemand anderes eine Python-Umgebung hat, die alles enthält, was er braucht, ist, eine vollständig isolierte Python-Umgebung zu erstellen. Das bedeutet, dass es eine komplett isolierte Python-Installation und einen komplett isolierten Satz von Abhängigkeiten gibt. Das ist es, was Briefcase baut, wenn Sie `briefcase build` ausführen - eine isolierte Python Umgebung. Das erklärt auch, warum `httpx` nicht installiert ist - es wurde in Ihrer *Entwicklungsumgebung* installiert, aber nicht in der gepackten Anwendung." +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"Der einzige Weg, um zu garantieren, dass jemand anderes eine Python-Umgebung " +"hat, die alles enthält, was er braucht, ist, eine vollständig isolierte " +"Python-Umgebung zu erstellen. Das bedeutet, dass es eine komplett isolierte " +"Python-Installation und einen komplett isolierten Satz von Abhängigkeiten " +"gibt. Das ist es, was Briefcase baut, wenn Sie `briefcase build` ausführen - " +"eine isolierte Python Umgebung. Das erklärt auch, warum `httpx` nicht " +"installiert ist - es wurde in Ihrer *Entwicklungsumgebung* installiert, aber " +"nicht in der gepackten Anwendung." -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Wir müssen also Briefcase mitteilen, dass unsere Anwendung eine externe Abhängigkeit hat." +msgstr "" +"Wir müssen also Briefcase mitteilen, dass unsere Anwendung eine externe " +"Abhängigkeit hat." -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "Aktualisieren von Abhängigkeiten" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "Im Hauptverzeichnis Ihrer Anwendung befindet sich eine Datei namens `pyproject.toml`. Diese Datei enthält alle Konfigurationsdetails der Anwendung, die Sie beim Ausführen von `briefcase new` angegeben haben." +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"Im Hauptverzeichnis Ihrer Anwendung befindet sich eine Datei namens " +"`pyproject.toml`. Diese Datei enthält alle Konfigurationsdetails der " +"Anwendung, die Sie beim Ausführen von `briefcase new` angegeben haben." -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` ist in Abschnitte unterteilt; einer der Abschnitte beschreibt die Einstellungen für Ihre Anwendung:" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" +msgstr "" +"`pyproject.toml` ist in Abschnitte unterteilt; einer der Abschnitte " +"beschreibt die Einstellungen für Ihre Anwendung:" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "Die Option `requires` beschreibt die Abhängigkeiten unserer Anwendung. Es handelt sich um eine Liste von Strings, die Bibliotheken (und optional die Versionen) der Bibliotheken angeben, die Sie in Ihre Anwendung aufnehmen möchten." +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "" +"Die Option `requires` beschreibt die Abhängigkeiten unserer Anwendung. Es " +"handelt sich um eine Liste von Strings, die Bibliotheken (und optional die " +"Versionen) der Bibliotheken angeben, die Sie in Ihre Anwendung aufnehmen " +"möchten." -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "Ändern Sie die Einstellung `requires` so, dass sie lautet:" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Durch Hinzufügen dieser Einstellung teilen wir Briefcase mit: \"Wenn du meine Anwendung baust, führe `pip install httpx` in das Anwendungsbündel ein\". Alles, was eine legale Eingabe für `pip install` wäre, kann hier verwendet werden - Sie könnten also angeben:" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"Durch Hinzufügen dieser Einstellung teilen wir Briefcase mit: \"Wenn du " +"meine Anwendung baust, führe `pip install httpx` in das Anwendungsbündel " +"ein\". Alles, was eine legale Eingabe für `pip install` wäre, kann hier " +"verwendet werden - Sie könnten also angeben:" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "Eine bestimmte Bibliotheksversion (z.B. `\"httpx==0.19.0\"`);" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "Eine Reihe von Bibliotheksversionen (z.B. `\"httpx>=0.19\"`);" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Ein Pfad zu einem Git-Repository (z. B. `\"git+https://github.com/encode/httpx\"`); oder" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" +msgstr "" +"Ein Pfad zu einem Git-Repository (z. B. `" +"\"git+https://github.com/encode/httpx\"`); oder" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#: docs/en/tutorial/tutorial-7.md:519 #, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Ein lokaler Dateipfad (Aber Achtung: Wenn Sie Ihren Code an jemand anderen weitergeben, existiert dieser Pfad wahrscheinlich nicht auf dessen Rechner!)" +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "" +"Ein lokaler Dateipfad (Aber Achtung: Wenn Sie Ihren Code an jemand anderen " +"weitergeben, existiert dieser Pfad wahrscheinlich nicht auf dessen Rechner!)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Weiter unten in `pyproject.toml` werden Sie andere Abschnitte bemerken, die vom Betriebssystem abhängig sind, wie `[tool.briefcase.app.helloworld.macOS]` und `[tool.briefcase.app.helloworld.windows]`. Diese Abschnitte haben *auch* eine `requires` Einstellung. Diese Einstellungen erlauben es Ihnen, zusätzliche plattformspezifische Abhängigkeiten zu definieren - wenn Sie also zum Beispiel eine plattformspezifische Bibliothek benötigen, um einen Aspekt Ihrer Anwendung zu behandeln, können Sie diese Bibliothek im plattformspezifischen `requires`-Abschnitt angeben, und diese Einstellung wird nur für diese Plattform verwendet. Sie werden feststellen, dass die `toga`-Bibliotheken alle im plattformspezifischen `requires`-Abschnitt angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"Weiter unten in `pyproject.toml` werden Sie andere Abschnitte bemerken, die " +"vom Betriebssystem abhängig sind, wie `[tool.briefcase.app.helloworld.macOS]`" +" und `[tool.briefcase.app.helloworld.windows]`. Diese Abschnitte haben *auch*" +" eine `requires` Einstellung. Diese Einstellungen erlauben es Ihnen, " +"zusätzliche plattformspezifische Abhängigkeiten zu definieren - wenn Sie " +"also zum Beispiel eine plattformspezifische Bibliothek benötigen, um einen " +"Aspekt Ihrer Anwendung zu behandeln, können Sie diese Bibliothek im " +"plattformspezifischen `requires`-Abschnitt angeben, und diese Einstellung " +"wird nur für diese Plattform verwendet. Sie werden feststellen, dass die " +"`toga`-Bibliotheken alle im plattformspezifischen `requires`-Abschnitt " +"angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige " +"einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "In unserem Fall wollen wir, dass `httpx` auf allen Plattformen installiert wird, also verwenden wir die Einstellung `requires` auf Anwendungsebene. Die Abhängigkeiten auf Anwendungsebene werden immer installiert; die plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den Abhängigkeiten auf Anwendungsebene installiert." +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"In unserem Fall wollen wir, dass `httpx` auf allen Plattformen installiert " +"wird, also verwenden wir die Einstellung `requires` auf Anwendungsebene. Die " +"Abhängigkeiten auf Anwendungsebene werden immer installiert; die " +"plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den " +"Abhängigkeiten auf Anwendungsebene installiert." -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Nun, da wir Briefcase über unsere zusätzlichen Anforderungen informiert haben, können wir versuchen, unsere Anwendung erneut zu paketieren. Vergewissern Sie sich, dass Sie Ihre Änderungen in `pyproject.toml` gespeichert haben, und aktualisieren Sie Ihre Anwendung erneut - dieses Mal mit dem Flag `-r`. Dadurch wird Briefcase angewiesen, die Anforderungen in der gepackten Anwendung zu aktualisieren:" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"Nun, da wir Briefcase über unsere zusätzlichen Anforderungen informiert " +"haben, können wir versuchen, unsere Anwendung erneut zu paketieren. " +"Vergewissern Sie sich, dass Sie Ihre Änderungen in `pyproject.toml` " +"gespeichert haben, und aktualisieren Sie Ihre Anwendung erneut - dieses Mal " +"mit dem Flag `-r`. Dadurch wird Briefcase angewiesen, die Anforderungen in " +"der gepackten Anwendung zu aktualisieren:" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Sobald Sie das Update durchgeführt haben, können Sie `briefcase build` und `briefcase run` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem neuen Dialogverhalten sehen." +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" +"Sobald Sie das Update durchgeführt haben, können Sie `briefcase build` und `" +"briefcase run` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem " +"neuen Dialogverhalten sehen." + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "Die Option `-r` zum Aktualisieren der Anforderungen wird auch von den Befehlen `build` und `run` beachtet. Wenn Sie also in einem Schritt aktualisieren, bauen und ausführen wollen, können Sie `briefcase run -u -r` verwenden." +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"Die Option `-r` zum Aktualisieren der Anforderungen wird auch von den " +"Befehlen `build` und `run` beachtet. Wenn Sie also in einem Schritt " +"aktualisieren, bauen und ausführen wollen, können Sie `briefcase run -u -r` " +"verwenden." -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Auf Desktop-Plattformen (macOS, Windows, Linux) kann jede `pip`-Installation zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen [sind Ihre Möglichkeiten etwas eingeschränkt]{1}." +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"Auf Desktop-Plattformen (macOS, Windows, Linux) kann jede `pip`-Installation " +"zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen " +"[sind Ihre Möglichkeiten etwas eingeschränkt]{1}." -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#: docs/en/tutorial/tutorial-7.md:719 #, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare kann Binärdateien für einige beliebte Binärmodule (einschließlich `numpy`, `pandas` und `cryptography`) bereitstellen. Es ist *normalerweise* möglich, Pakete für mobile Plattformen zu kompilieren, aber es ist nicht einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie diesem sprengen." +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" +"BeeWare kann Binärdateien für einige beliebte Binärmodule (einschließlich " +"`numpy`, `pandas` und `cryptography`) bereitstellen. Es ist *normalerweise* " +"möglich, Pakete für mobile Plattformen zu kompilieren, aber es ist nicht " +"einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie " +"diesem sprengen." -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "Zugriff auf eine API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Eine häufige Aufgabe, die eine Anwendung erfüllen muss, besteht darin, eine Anfrage an eine Web-API zu stellen, um Daten abzurufen und diese Daten dem Benutzer anzuzeigen. Da es sich hier um eine Spielzeuganwendung handelt, haben wir keine *echte* API, mit der wir arbeiten können, also verwenden wir die [{JSON} Placeholder API]{1} als Datenquelle." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "Die {JSON} Platzhalter-API verfügt über eine Reihe von \"gefälschten\" API-Endpunkten, die Sie als Testdaten verwenden können. Einer dieser APIs ist der Endpunkt `/posts/`, der gefälschte Blog-Posts zurückgibt. Wenn Sie `https://jsonplaceholder.typicode.com/posts/42` in Ihrem Browser öffnen, erhalten Sie einen JSON-Payload, der einen einzelnen Beitrag beschreibt - etwas [Lorum ipsum]{1} Inhalt für einen Blogbeitrag mit der ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Die Python-Standardbibliothek enthält alle Werkzeuge, die Sie für den Zugriff auf eine API benötigen. Die eingebauten APIs sind jedoch sehr einfach. Sie sind gute Implementierungen des HTTP-Protokolls - aber sie erfordern, dass der Benutzer viele Details auf niedriger Ebene verwaltet, wie URL-Umleitung, Sitzungen, Authentifizierung und Nutzdatenkodierung. Als \"normaler Browser-Benutzer\" sind Sie wahrscheinlich daran gewöhnt, diese Details als selbstverständlich anzusehen, da ein Browser diese Details für Sie verwaltet." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Infolgedessen haben Leute Bibliotheken von Drittanbietern entwickelt, die eingebauten APIs umhüllen und eine einfachere API bereitstellen, die der alltäglichen Browsererfahrung besser entspricht. Wir werden eine dieser Bibliotheken verwenden, um auf die {JSON} Platzhalter-API zuzugreifen - eine Bibliothek namens [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Dies ändert den `say_hello()` Callback so, dass er, wenn er aufgerufen wird, dies tut:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "eine GET-Anfrage an die JSON-Platzhalter-API stellen, um Beitrag 42 zu erhalten;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "dekodiert die Antwort als JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "den Text der Nachricht zu extrahieren; und" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "den Text dieses Beitrags als Text des Dialogs einschließen." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Einige Binärpakete sind möglicherweise nicht verfügbar" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "Kurz gesagt: Jedes *reine Python*-Paket (d.h. Pakete, die *kein* binäres Modul enthalten) kann ohne Probleme verwendet werden. Wenn Ihre Abhängigkeit jedoch eine Binärkomponente enthält, muss diese kompiliert werden; derzeit bieten die meisten Python-Pakete keine Kompilierungsunterstützung für Nicht-Desktop-Plattformen." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters verwendet! Vielleicht haben Sie jedoch bemerkt, dass die App beim Drücken der Taste nicht mehr richtig reagiert. Können wir etwas tun, um das zu beheben? Schau dir [Tutorial 8][tutorial-8] an, um das herauszufinden..." - +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "Tutorial 7 - Die (Dritt-)Partei in Gang bringen" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po index 32fc5ebf..fc49604e 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -1,371 +1,600 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Marco Esters \n" -"Language: de\n" -"Language-Team: German \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: German \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutorial 8 - Glatt machen" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." msgstr "" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" +msgstr "" +"Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-" +"Ereignishandler so, dass er wie folgt aussieht:" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "" -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "Wenn Sie keine *wirklich* schnelle Internetverbindung haben, werden Sie vielleicht feststellen, dass die grafische Benutzeroberfläche Ihrer Anwendung beim Drücken der Schaltfläche kurzzeitig blockiert wird. Das liegt daran, dass die Webanforderung, die wir gestellt haben, *synchron* ist. Wenn unsere Anwendung die Webanforderung stellt, wartet sie, bis die API eine Antwort zurückgibt, bevor sie fortfährt. Während sie wartet, erlaubt sie der Anwendung *nicht*, neu zu zeichnen - und das Ergebnis ist, dass die Anwendung blockiert." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"Wenn Sie keine *wirklich* schnelle Internetverbindung haben, werden Sie " +"vielleicht feststellen, dass die grafische Benutzeroberfläche Ihrer " +"Anwendung beim Drücken der Schaltfläche kurzzeitig blockiert wird. Das liegt " +"daran, dass die Webanforderung, die wir gestellt haben, *synchron* ist. Wenn " +"unsere Anwendung die Webanforderung stellt, wartet sie, bis die API eine " +"Antwort zurückgibt, bevor sie fortfährt. Während sie wartet, erlaubt sie der " +"Anwendung *nicht*, neu zu zeichnen - und das Ergebnis ist, dass die " +"Anwendung blockiert." + +#: docs/en/tutorial/tutorial-8.md:181 #, fuzzy msgid "GUI Event Loops" msgstr "GUI-Ereignis-Schleifen" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#: docs/en/tutorial/tutorial-8.md:183 #, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Um zu verstehen, warum das so ist, müssen wir uns mit den Details der Funktionsweise einer GUI-Anwendung befassen. Die Einzelheiten variieren je nach Plattform, aber die grundlegenden Konzepte sind dieselben, unabhängig von der Plattform oder der GUI-Umgebung, die Sie verwenden." +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"Um zu verstehen, warum das so ist, müssen wir uns mit den Details der " +"Funktionsweise einer GUI-Anwendung befassen. Die Einzelheiten variieren je " +"nach Plattform, aber die grundlegenden Konzepte sind dieselben, unabhängig " +"von der Plattform oder der GUI-Umgebung, die Sie verwenden." -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#: docs/en/tutorial/tutorial-8.md:188 #, fuzzy msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Eine GUI-Anwendung besteht im Grunde aus einer einzigen Schleife, die etwa so aussieht:" +msgstr "" +"Eine GUI-Anwendung besteht im Grunde aus einer einzigen Schleife, die etwa " +"so aussieht:" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Diese Schleife wird *Ereignisschleife* genannt. (Dies sind keine tatsächlichen Methodennamen - es ist eine Veranschaulichung dessen, was im \"Pseudocode\" vor sich geht)." +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "" +"Diese Schleife wird *Ereignisschleife* genannt. (Dies sind keine " +"tatsächlichen Methodennamen - es ist eine Veranschaulichung dessen, was im " +"\"Pseudocode\" vor sich geht)." -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#: docs/en/tutorial/tutorial-8.md:199 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Wenn Sie auf eine Schaltfläche klicken, eine Bildlaufleiste ziehen oder eine Taste drücken, erzeugen Sie ein \"Ereignis\". Dieses \"Ereignis\" wird in eine Warteschlange gestellt, und die Anwendung wird die Warteschlange von Ereignissen verarbeiten, wenn sie das nächste Mal die Gelegenheit dazu hat. Der Benutzercode, der als Reaktion auf das Ereignis ausgelöst wird, wird *Ereignishandler* genannt. Diese Event-Handler werden als Teil des `process_events()` Aufrufs aufgerufen." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"Wenn Sie auf eine Schaltfläche klicken, eine Bildlaufleiste ziehen oder eine " +"Taste drücken, erzeugen Sie ein \"Ereignis\". Dieses \"Ereignis\" wird in " +"eine Warteschlange gestellt, und die Anwendung wird die Warteschlange von " +"Ereignissen verarbeiten, wenn sie das nächste Mal die Gelegenheit dazu hat. " +"Der Benutzercode, der als Reaktion auf das Ereignis ausgelöst wird, wird " +"*Ereignishandler* genannt. Diese Event-Handler werden als Teil des " +"`process_events()` Aufrufs aufgerufen." + +#: docs/en/tutorial/tutorial-8.md:206 #, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Sobald eine Anwendung alle verfügbaren Ereignisse verarbeitet hat, wird sie die grafische Benutzeroberfläche `neu zeichnen()`. Dabei werden alle Änderungen berücksichtigt, die Ereignisse an der Anzeige der Anwendung verursacht haben, sowie alles andere, was im Betriebssystem vor sich geht - zum Beispiel können die Fenster einer anderen Anwendung einen Teil des Fensters unserer Anwendung verdecken oder sichtbar machen, und die Neuzeichnung unserer Anwendung muss den Teil des Fensters widerspiegeln, der gerade sichtbar ist." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"Sobald eine Anwendung alle verfügbaren Ereignisse verarbeitet hat, wird sie " +"die grafische Benutzeroberfläche `neu zeichnen()`. Dabei werden alle " +"Änderungen berücksichtigt, die Ereignisse an der Anzeige der Anwendung " +"verursacht haben, sowie alles andere, was im Betriebssystem vor sich geht - " +"zum Beispiel können die Fenster einer anderen Anwendung einen Teil des " +"Fensters unserer Anwendung verdecken oder sichtbar machen, und die " +"Neuzeichnung unserer Anwendung muss den Teil des Fensters widerspiegeln, der " +"gerade sichtbar ist." + +#: docs/en/tutorial/tutorial-8.md:213 #, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "Ein wichtiges Detail: Während eine Anwendung ein Ereignis verarbeitet, *kann sie nicht neu zeichnen* und *kann sie keine anderen Ereignisse verarbeiten*." +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "" +"Ein wichtiges Detail: Während eine Anwendung ein Ereignis verarbeitet, *kann " +"sie nicht neu zeichnen* und *kann sie keine anderen Ereignisse verarbeiten*." -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#: docs/en/tutorial/tutorial-8.md:216 #, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Das bedeutet, dass jede in einem Event-Handler enthaltene Benutzerlogik schnell abgeschlossen werden muss. Jede Verzögerung bei der Fertigstellung des Event-Handlers wird vom Benutzer als Verlangsamung (oder Stopp) der GUI-Aktualisierungen wahrgenommen. Wenn diese Verzögerung lang genug ist, kann Ihr Betriebssystem dies als Problem melden - die macOS-\"Beachball\"- und Windows-\"Spinner\"-Symbole sind das Betriebssystem, das Ihnen mitteilt, dass Ihre Anwendung in einem Event-Handler zu lange braucht." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"Das bedeutet, dass jede in einem Event-Handler enthaltene Benutzerlogik " +"schnell abgeschlossen werden muss. Jede Verzögerung bei der Fertigstellung " +"des Event-Handlers wird vom Benutzer als Verlangsamung (oder Stopp) der GUI-" +"Aktualisierungen wahrgenommen. Wenn diese Verzögerung lang genug ist, kann " +"Ihr Betriebssystem dies als Problem melden - die macOS-\"Beachball\"- und " +"Windows-\"Spinner\"-Symbole sind das Betriebssystem, das Ihnen mitteilt, " +"dass Ihre Anwendung in einem Event-Handler zu lange braucht." + +#: docs/en/tutorial/tutorial-8.md:224 #, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Einfache Operationen wie \"Aktualisieren eines Etiketts\" oder \"Neuberechnung der Gesamtsumme der Eingaben\" sind leicht und schnell zu erledigen. Es gibt jedoch eine Reihe von Vorgängen, die nicht schnell erledigt werden können. Wenn Sie eine komplexe mathematische Berechnung durchführen, alle Dateien in einem Dateisystem indizieren oder eine große Netzwerkanforderung ausführen, können Sie das nicht \"einfach schnell erledigen\" - die Vorgänge sind von Natur aus langsam." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"Einfache Operationen wie \"Aktualisieren eines Etiketts\" oder " +"\"Neuberechnung der Gesamtsumme der Eingaben\" sind leicht und schnell zu " +"erledigen. Es gibt jedoch eine Reihe von Vorgängen, die nicht schnell " +"erledigt werden können. Wenn Sie eine komplexe mathematische Berechnung " +"durchführen, alle Dateien in einem Dateisystem indizieren oder eine große " +"Netzwerkanforderung ausführen, können Sie das nicht " +"\"einfach schnell erledigen\" - die Vorgänge sind von Natur aus langsam." + +#: docs/en/tutorial/tutorial-8.md:231 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Wie können wir also langlebige Operationen in einer GUI-Anwendung durchführen?" +msgstr "" +"Wie können wir also langlebige Operationen in einer GUI-Anwendung " +"durchführen?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 #, fuzzy msgid "Asynchronous programming" msgstr "Asynchrone Programmierung" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#: docs/en/tutorial/tutorial-8.md:235 #, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Was wir brauchen, ist eine Möglichkeit, einer Anwendung in der Mitte eines langlebigen Event-Handlers mitzuteilen, dass es in Ordnung ist, die Kontrolle vorübergehend an die Event-Schleife zurückzugeben, solange wir dort fortfahren können, wo wir aufgehört haben. Es liegt an der Anwendung, zu bestimmen, wann diese Freigabe erfolgen kann; aber wenn die Anwendung die Kontrolle regelmäßig an die Ereignisschleife freigibt, können wir einen lang laufenden Event-Handler haben *und* eine reaktionsfähige Benutzeroberfläche beibehalten." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"Was wir brauchen, ist eine Möglichkeit, einer Anwendung in der Mitte eines " +"langlebigen Event-Handlers mitzuteilen, dass es in Ordnung ist, die " +"Kontrolle vorübergehend an die Event-Schleife zurückzugeben, solange wir " +"dort fortfahren können, wo wir aufgehört haben. Es liegt an der Anwendung, " +"zu bestimmen, wann diese Freigabe erfolgen kann; aber wenn die Anwendung die " +"Kontrolle regelmäßig an die Ereignisschleife freigibt, können wir einen lang " +"laufenden Event-Handler haben *und* eine reaktionsfähige Benutzeroberfläche " +"beibehalten." + +#: docs/en/tutorial/tutorial-8.md:242 #, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Wir können dies mit Hilfe der *asynchronen Programmierung* erreichen. Asynchrone Programmierung ist eine Art, ein Programm zu beschreiben, das es dem Interpreter erlaubt, mehrere Funktionen gleichzeitig auszuführen und die Ressourcen zwischen allen gleichzeitig laufenden Funktionen zu teilen." +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" +"Wir können dies mit Hilfe der *asynchronen Programmierung* erreichen. " +"Asynchrone Programmierung ist eine Art, ein Programm zu beschreiben, das es " +"dem Interpreter erlaubt, mehrere Funktionen gleichzeitig auszuführen und die " +"Ressourcen zwischen allen gleichzeitig laufenden Funktionen zu teilen." -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Asynchrone Funktionen (so genannte *Co-Routinen*) müssen ausdrücklich als asynchron deklariert werden. Sie müssen auch intern erklären, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln." +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "" +"Asynchrone Funktionen (so genannte *Co-Routinen*) müssen ausdrücklich als " +"asynchron deklariert werden. Sie müssen auch intern erklären, wann die " +"Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln." -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "In Python wird die asynchrone Programmierung mit den Schlüsselwörtern `async` und `await`, und dem Modul [asyncio]{1} in der Standardbibliothek implementiert. Mit dem Schlüsselwort `async` können wir eine Funktion als asynchrone Co-Routine deklarieren. Mit dem Schlüsselwort `await` kann man angeben, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-Routine zu wechseln. Das Modul [asyncio]{2} bietet einige andere nützliche Werkzeuge und Primitive für asynchrone Programmierung." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"In Python wird die asynchrone Programmierung mit den Schlüsselwörtern `async`" +" und `await`, und dem Modul [asyncio]{1} in der Standardbibliothek " +"implementiert. Mit dem Schlüsselwort `async` können wir eine Funktion als " +"asynchrone Co-Routine deklarieren. Mit dem Schlüsselwort `await` kann man " +"angeben, wann die Möglichkeit besteht, den Kontext zu einer anderen Co-" +"Routine zu wechseln. Das Modul [asyncio]{2} bietet einige andere nützliche " +"Werkzeuge und Primitive für asynchrone Programmierung." + +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "Asynchronität des Tutorials" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#: docs/en/tutorial/tutorial-8.md:263 #, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-Ereignishandler so, dass er wie folgt aussieht:" +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "" +"Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-" +"Ereignishandler so, dass er wie folgt aussieht:" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "In diesem Code gibt es nur 4 Änderungen gegenüber der vorherigen Version:" +msgid "" +"There are only three changes to this callback from the previous version:" +msgstr "" +"In diesem Code gibt es nur 4 Änderungen gegenüber der vorherigen Version:" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#: docs/en/tutorial/tutorial-8.md:284 #, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Der Client, der erzeugt wird, ist ein asynchroner `AsyncClient()`, anstatt eines synchronen `Client()`. Dies teilt `httpx` mit, dass es im asynchronen Modus und nicht im synchronen Modus arbeiten soll." +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"Der Client, der erzeugt wird, ist ein asynchroner `AsyncClient()`, anstatt " +"eines synchronen `Client()`. Dies teilt `httpx` mit, dass es im asynchronen " +"Modus und nicht im synchronen Modus arbeiten soll." -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#: docs/en/tutorial/tutorial-8.md:287 #, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Der zur Erstellung des Clients verwendete Kontextmanager ist als `async` markiert. Dies sagt Python, dass es eine Möglichkeit gibt, die Kontrolle abzugeben, wenn der Kontextmanager betreten und verlassen wird." +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "" +"Der zur Erstellung des Clients verwendete Kontextmanager ist als `async` " +"markiert. Dies sagt Python, dass es eine Möglichkeit gibt, die Kontrolle " +"abzugeben, wenn der Kontextmanager betreten und verlassen wird." -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga erlaubt es Ihnen, reguläre Methoden oder asynchrone Co-Routinen als Handler zu verwenden; Toga verwaltet alles hinter den Kulissen, um sicherzustellen, dass der Handler wie gewünscht aufgerufen oder erwartet wird." +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "" +"Toga erlaubt es Ihnen, reguläre Methoden oder asynchrone Co-Routinen als " +"Handler zu verwenden; Toga verwaltet alles hinter den Kulissen, um " +"sicherzustellen, dass der Handler wie gewünscht aufgerufen oder erwartet " +"wird." -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Wenn Sie diese Änderungen speichern und die Anwendung erneut ausführen (entweder mit `briefcase dev` im Entwicklungsmodus oder indem Sie die gepackte Anwendung aktualisieren und erneut ausführen), wird es keine offensichtlichen Änderungen an der Anwendung geben. Wenn Sie jedoch auf die Schaltfläche klicken, um den Dialog auszulösen, können Sie eine Reihe von subtilen Verbesserungen feststellen:" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"Wenn Sie diese Änderungen speichern und die Anwendung erneut ausführen (" +"entweder mit `briefcase dev` im Entwicklungsmodus oder indem Sie die " +"gepackte Anwendung aktualisieren und erneut ausführen), wird es keine " +"offensichtlichen Änderungen an der Anwendung geben. Wenn Sie jedoch auf die " +"Schaltfläche klicken, um den Dialog auszulösen, können Sie eine Reihe von " +"subtilen Verbesserungen feststellen:" + +#: docs/en/tutorial/tutorial-8.md:314 #, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "Die Schaltfläche kehrt in einen \"nicht angeklickten\" Zustand zurück, anstatt in einem \"angeklickten\" Zustand zu verharren." +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." +msgstr "" +"Die Schaltfläche kehrt in einen \"nicht angeklickten\" Zustand zurück, " +"anstatt in einem \"angeklickten\" Zustand zu verharren." -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "Das \"Beachball\"/\"Spinner\"-Symbol wird nicht angezeigt" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#: docs/en/tutorial/tutorial-8.md:317 #, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Wenn Sie das Anwendungsfenster verschieben/vergrößern, während Sie darauf warten, dass der Dialog erscheint, wird das Fenster neu gezeichnet." +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." +msgstr "" +"Wenn Sie das Anwendungsfenster verschieben/vergrößern, während Sie darauf " +"warten, dass der Dialog erscheint, wird das Fenster neu gezeichnet." -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Wenn Sie versuchen, ein Anwendungsmenü zu öffnen, wird das Menü sofort angezeigt." +msgstr "" +"Wenn Sie versuchen, ein Anwendungsmenü zu öffnen, wird das Menü sofort " +"angezeigt." -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "Nächste Schritte" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Wir haben jetzt eine Anwendung, die glatt und reaktionsschnell ist, auch wenn sie auf eine langsame API wartet. Aber wie können wir sicherstellen, dass die Anwendung auch weiterhin funktioniert, wenn wir sie weiter entwickeln? Wie können wir unsere Anwendung testen? Schauen Sie sich [Tutorial 9][tutorial-9] an, um das herauszufinden..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "Die Methode ist als `async def` definiert, anstatt nur als `def`. Dies sagt Python, dass die Methode eine asynchrone Co-Routine ist." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "Der `get`-Aufruf wird mit einem `await`-Schlüsselwort versehen. Dies weist die Anwendung an, dass sie die Kontrolle an die Ereignisschleife abgeben kann, während wir auf die Antwort des Netzwerks warten." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - +#, fuzzy +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "Tutorial 8 - Glatt machen" diff --git a/locales/es/LC_MESSAGES/SUMMARY.po b/locales/es/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/es/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po index 70cf2d89..01522c35 100644 --- a/locales/es/LC_MESSAGES/how-to/index.po +++ b/locales/es/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: es\n" "Language-Team: es \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po index b16af819..c680c916 100644 --- a/locales/es/LC_MESSAGES/index.po +++ b/locales/es/LC_MESSAGES/index.po @@ -1,101 +1,194 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-07-23 23:51+0000\n" "Last-Translator: Russell Keith-Magee \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "¡Bienvenido al tutorial de BeeWare!" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "¡Bienvenido al tutorial de BeeWare! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 msgid "**Write Python. Run Anywhere.**" msgstr "**Escribe Python. Ejecútalo en cualquier sitio.**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "¡Bienvenido a BeeWare! En este tutorial, vamos a construir una interfaz gráfica de usuario utilizando Python, y desplegarla como una aplicación de escritorio, como una aplicación móvil, y como una aplicación web de una sola página. También vamos a ver cómo se pueden utilizar las herramientas de BeeWare para hacer algunas de las tareas comunes que tendrás que hacer como desarrollador de aplicaciones, tales como la prueba de su aplicación." +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"¡Bienvenido a BeeWare! En este tutorial, vamos a construir una interfaz " +"gráfica de usuario utilizando Python, y desplegarla como una aplicación de " +"escritorio, como una aplicación móvil, y como una aplicación web de una sola " +"página. También vamos a ver cómo se pueden utilizar las herramientas de " +"BeeWare para hacer algunas de las tareas comunes que tendrás que hacer como " +"desarrollador de aplicaciones, tales como la prueba de su aplicación." + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" + +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" + +#: docs/en/index.md:15 +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"Si no se siente cómodo con el inglés, las traducciones de este tutorial " +"están disponibles en [Alemán]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}" +", [Português]{5}, [中文(简体)]{6} y [中文(繁體)]{7}." + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Las traducciones están disponibles" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "Si no se siente cómodo con el inglés, las traducciones de este tutorial están disponibles en [Alemán]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6} y [中文(繁體)]{7}." +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "¡Es una traducción automática!" +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Esta versión del tutorial se ha generado mediante traducción automática. Sabemos que no es lo ideal, pero pensamos que una mala traducción era mejor que ninguna." +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "" +"Esta versión del tutorial se ha generado mediante traducción automática. " +"Sabemos que no es lo ideal, pero pensamos que una mala traducción era mejor " +"que ninguna." -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Si quieres ayudarnos a mejorar la traducción, ¡ponte en contacto con nosotros! Tenemos un canal `#translations` en [Discord]{1}; preséntate allí y te añadiremos al equipo de traducción." +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"Si quieres ayudarnos a mejorar la traducción, ¡ponte en contacto con " +"nosotros! Tenemos un canal `#translations` en [Discord]{1}; preséntate allí " +"y te añadiremos al equipo de traducción." -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "¡Esto es una traducción!" +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Este documento es una traducción de la versión inglesa. La traducción ha sido revisada por humanos, pero las secciones más nuevas pueden ser generadas por traducción automática, o no ser traducidas en absoluto." +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "" +"Este documento es una traducción de la versión inglesa. La traducción ha " +"sido revisada por humanos, pero las secciones más nuevas pueden ser " +"generadas por traducción automática, o no ser traducidas en absoluto." + +#: docs/en/index.md:64 msgid "What is BeeWare?" msgstr "¿Qué es BeeWare?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare no es un único producto, o herramienta, o librería - es una colección de herramientas y librerías, cada una de las cuales trabaja conjuntamente para ayudarte a escribir aplicaciones Python multiplataforma con una GUI nativa. Incluye:" +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"BeeWare no es un único producto, o herramienta, o librería - es una " +"colección de herramientas y librerías, cada una de las cuales trabaja " +"conjuntamente para ayudarte a escribir aplicaciones Python multiplataforma " +"con una GUI nativa. Incluye:" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, un conjunto de herramientas de widgets multiplataforma;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#: docs/en/index.md:71 #, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, una herramienta para empaquetar proyectos de Python como artefactos distribuibles que se pueden enviar a los usuarios finales;" +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "" +"[Briefcase]{1}, una herramienta para empaquetar proyectos de Python como " +"artefactos distribuibles que se pueden enviar a los usuarios finales;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#: docs/en/index.md:74 #, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acceder a bibliotecas nativas de la plataforma;" - -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Recopilaciones precompiladas de Python que pueden utilizarse en plataformas en las que no están disponibles los instaladores oficiales de Python." +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" +msgstr "" +"Bibliotecas (como [Rubicon ObjC]{1}) para acceder a bibliotecas nativas de " +"la plataforma;" -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "En este tutorial, utilizaremos todas estas herramientas, pero como usuario, sólo necesitarás interactuar con las dos primeras (Toga y Briefcase). Sin embargo, cada una de las herramientas también se puede utilizar individualmente - por ejemplo, puede utilizar Briefcase para desplegar una aplicación sin necesidad de utilizar Toga como un conjunto de herramientas GUI." +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." +msgstr "" +"Recopilaciones precompiladas de Python que pueden utilizarse en plataformas " +"en las que no están disponibles los instaladores oficiales de Python." -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "La suite BeeWare está disponible en macOS, Windows, Linux (usando GTK); en plataformas móviles como Android e iOS; y para la Web." +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"En este tutorial, utilizaremos todas estas herramientas, pero como usuario, " +"sólo necesitarás interactuar con las dos primeras (Toga y Briefcase). Sin " +"embargo, cada una de las herramientas también se puede utilizar " +"individualmente - por ejemplo, puede utilizar Briefcase para desplegar una " +"aplicación sin necesidad de utilizar Toga como un conjunto de herramientas " +"GUI." + +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" +"La suite BeeWare está disponible en macOS, Windows, Linux (usando GTK); en " +"plataformas móviles como Android e iOS; y para la Web." -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "¡Vamos!" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "¿Listo para probar BeeWare por ti mismo? [¡Construyamos una aplicación multiplataforma en Python!][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "¡Bienvenido al tutorial de BeeWare!" diff --git a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po index bea634e9..9df27671 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,131 +1,271 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-28 16:09+0000\n" "Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "Usando la cámara" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 +#: docs/en/tutorial/topics/camera-access.md:3 #, fuzzy -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." -msgstr "Casi todos los dispositivos informáticos modernos tienen algún tipo de cámara. En este tutorial, mostramos una nueva aplicación que pueda solicitar acceso a esta cámara, tomar una fotografía y luego mostrarla en la aplicación. La nueva aplicación que utiliza la cámara de tu dispositivo." +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" +"Casi todos los dispositivos informáticos modernos tienen algún tipo de " +"cámara. En este tutorial, mostramos una nueva aplicación que pueda solicitar " +"acceso a esta cámara, tomar una fotografía y luego mostrarla en la " +"aplicación. La nueva aplicación que utiliza la cámara de tu dispositivo." -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "¡Este tutorial no funcionará en todas las plataformas!" +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "Lamentablemente, por el momento, este tutorial solo funcionará en macOS y Android." +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "" +"Lamentablemente, por el momento, este tutorial solo funcionará en macOS y " +"Android." -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." -msgstr "Aunque todos los iPhone tienen cámaras, el *emulador* de iOS no tiene una cámara que funcione. Los dispositivos Windows y Linux también tienen cámaras, pero Toga actualmente no tiene la capacidad de acceder a la cámara en estas plataformas." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." +msgstr "" +"Aunque todos los iPhone tienen cámaras, el *emulador* de iOS no tiene una " +"cámara que funcione. Los dispositivos Windows y Linux también tienen " +"cámaras, pero Toga actualmente no tiene la capacidad de acceder a la cámara " +"en estas plataformas." -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." -msgstr "El código que aquí se muestra *se ejecutará* en Windows o Linux; pero generará un error cuando intentes hacer una foto." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." +msgstr "" +"El código que aquí se muestra *se ejecutará* en Windows o Linux; pero " +"generará un error cuando intentes hacer una foto." -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." -msgstr "El código funcionará si se ejecuta en un dispositivo iOS real, pero no podrá hacer una foto si se implementa en el emulador de iOS." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." +msgstr "" +"El código funcionará si se ejecuta en un dispositivo iOS real, pero no podrá " +"hacer una foto si se implementa en el emulador de iOS." + +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "Iniciar un nuevo proyecto" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." -msgstr "Para este tutorial, no desarrollaremos la aplicación del tutorial principal, sino que comenzaremos un nuevo proyecto. Puede utilizar el mismo entorno virtual que utilizó en el primer proyecto. Sin embargo, debemos ejecutar nuevamente el asistente Nuevo maletín." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." +msgstr "" +"Para este tutorial, no desarrollaremos la aplicación del tutorial principal, " +"sino que comenzaremos un nuevo proyecto. Puede utilizar el mismo entorno " +"virtual que utilizó en el primer proyecto. Sin embargo, debemos ejecutar " +"nuevamente el asistente Nuevo maletín." -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" -msgstr "Regrese al directorio que contiene la carpeta del proyecto `helloworld` e inicie un nuevo proyecto llamado “Hello Camera”:" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" +msgstr "" +"Regrese al directorio que contiene la carpeta del proyecto `helloworld` e " +"inicie un nuevo proyecto llamado “Hello Camera”:" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "Añade código para tomar una foto" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" -msgstr "El asistente ha generado un nuevo proyecto Toga vacío. Ahora podemos agregar el código para tomar y mostrar una fotografía. Edite el archivo `app.py` de la nueva aplicación para que tenga el siguiente contenido:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" +msgstr "" +"El asistente ha generado un nuevo proyecto Toga vacío. Ahora podemos agregar " +"el código para tomar y mostrar una fotografía. Edite el archivo `app.py` de " +"la nueva aplicación para que tenga el siguiente contenido:" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd +#: docs/en/tutorial/topics/camera-access.md:107 #, fuzzy -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" -msgstr "Este código tiene dos cambios con respecto a la aplicación predeterminada que genera Briefcase. Estas novedades están resaltadas en amarillo:" +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" +msgstr "" +"Este código tiene dos cambios con respecto a la aplicación predeterminada " +"que genera Briefcase. Estas novedades están resaltadas en amarillo:" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." -msgstr "El primer bloque de código resaltado (en el método `startup()`) agrega los dos widgets necesarios para controlar la cámara: un `ImageView` para mostrar una foto; y un `Button` para activar la cámara." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." +msgstr "" +"El primer bloque de código resaltado (en el método `startup()`) agrega los " +"dos widgets necesarios para controlar la cámara: un `ImageView` para mostrar " +"una foto; y un `Button` para activar la cámara." -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." -msgstr "El segundo bloque de código resaltado (el método `take_photo()`) define el controlador de eventos cuando se presiona el botón. Este controlador primero confirma si la aplicación tiene permiso para tomar una foto; si no existe permiso, se solicita. Luego, se toma una foto. La solicitud de permiso y la solicitud para tomar una foto son ambas solicitudes asincrónicas, por lo que requieren el uso de `await`; mientras la aplicación espera que el usuario confirme los permisos o tome la foto, el bucle de eventos de la aplicación puede continuar en segundo plano." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." +msgstr "" +"El segundo bloque de código resaltado (el método `take_photo()`) define el " +"controlador de eventos cuando se presiona el botón. Este controlador primero " +"confirma si la aplicación tiene permiso para tomar una foto; si no existe " +"permiso, se solicita. Luego, se toma una foto. La solicitud de permiso y la " +"solicitud para tomar una foto son ambas solicitudes asincrónicas, por lo que " +"requieren el uso de `await`; mientras la aplicación espera que el usuario " +"confirme los permisos o tome la foto, el bucle de eventos de la aplicación " +"puede continuar en segundo plano." -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." -msgstr "Si la cámara toma una foto correctamente, devolverá un objeto `Image` que se puede asignar como contenido de `ImageView`. Si el usuario canceló la solicitud de la foto, la llamada `self.camera.take_photo()` devolverá `None` y el resultado se puede ignorar. Si el usuario no otorga permiso para usar la cámara, o la cámara no está implementada en la plataforma actual, se generará un error y se mostrará un cuadro de diálogo al usuario." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." +msgstr "" +"Si la cámara toma una foto correctamente, devolverá un objeto `Image` que se " +"puede asignar como contenido de `ImageView`. Si el usuario canceló la " +"solicitud de la foto, la llamada `self.camera.take_photo()` devolverá `None` " +"y el resultado se puede ignorar. Si el usuario no otorga permiso para usar " +"la cámara, o la cámara no está implementada en la plataforma actual, se " +"generará un error y se mostrará un cuadro de diálogo al usuario." -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "Agregar permisos al dispositivo" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." -msgstr "Parte de este código que acabamos de agregar solicita permiso para usar la cámara. Esta es una característica común de las plataformas de aplicaciones modernas: no se puede acceder a las funciones de hardware sin pedirle permiso explícitamente al usuario primero." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." +msgstr "" +"Parte de este código que acabamos de agregar solicita permiso para usar la " +"cámara. Esta es una característica común de las plataformas de aplicaciones " +"modernas: no se puede acceder a las funciones de hardware sin pedirle " +"permiso explícitamente al usuario primero." -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." -msgstr "Sin embargo, esta solicitud se presenta en dos partes. La primera se encuentra en el código que acabamos de ver, pero antes de que la aplicación pueda solicitar permisos, necesita declarar los permisos que va a solicitar." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." +msgstr "" +"Sin embargo, esta solicitud se presenta en dos partes. La primera se " +"encuentra en el código que acabamos de ver, pero antes de que la aplicación " +"pueda solicitar permisos, necesita declarar los permisos que va a solicitar." -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c +#: docs/en/tutorial/topics/camera-access.md:141 #, fuzzy -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -msgstr "Los permisos que requiere cada plataforma son ligeramente diferentes, pero Briefcase tiene una representación multiplataforma para muchos permisos de hardware comunes. En la sección de configuración `[tool.briefcase.app.helloworld]` del archivo `pyproject.toml` de su aplicación, agregue lo siguiente (justo encima de la declaración `sources`):" +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" +msgstr "" +"Los permisos que requiere cada plataforma son ligeramente diferentes, pero " +"Briefcase tiene una representación multiplataforma para muchos permisos de " +"hardware comunes. En la sección de configuración `" +"[tool.briefcase.app.helloworld]` del archivo `pyproject.toml` de su " +"aplicación, agregue lo siguiente (justo encima de la declaración `sources`):" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." -msgstr "Esto explica que su aplicación necesita acceder a la cámara y proporciona una breve descripción de por qué se requiere la cámara. Esta descripción es obligatoria en algunas plataformas (en particular, macOS e iOS) y se presenta al usuario como información adicional cuando se muestra el cuadro de diálogo de permisos." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." +msgstr "" +"Esto explica que su aplicación necesita acceder a la cámara y proporciona " +"una breve descripción de por qué se requiere la cámara. Esta descripción es " +"obligatoria en algunas plataformas (en particular, macOS e iOS) y se " +"presenta al usuario como información adicional cuando se muestra el cuadro " +"de diálogo de permisos." -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "Ahora podemos generar y ejecutar la aplicación:" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." -msgstr "Cuando se ejecuta la aplicación, se te presentará un botón. Pulsa el botón y se mostrará el cuadro de diálogo de la cámara predeterminada de la plataforma. Toma una foto; el cuadro de diálogo de la cámara desaparecerá y la foto se mostrará en la aplicación, justo encima del botón. Luego, puedes tomar otra foto; esta reemplazará la primera foto." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." +msgstr "" +"Cuando se ejecuta la aplicación, se te presentará un botón. Pulsa el botón y " +"se mostrará el cuadro de diálogo de la cámara predeterminada de la " +"plataforma. Toma una foto; el cuadro de diálogo de la cámara desaparecerá y " +"la foto se mostrará en la aplicación, justo encima del botón. Luego, puedes " +"tomar otra foto; esta reemplazará la primera foto." -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 msgid "Adding more permissions" msgstr "Agregar más permisos" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." -msgstr "Los permisos se declaran en los archivos que se generan durante la llamada original a `briefcase create`. Lamentablemente, Briefcase no puede actualizar estos archivos una vez que se han generado inicialmente; por lo tanto, si desea agregar un nuevo permiso a su aplicación o modificar los permisos existentes, deberá volver a crear la aplicación. Puede hacerlo volviendo a ejecutar `briefcase create`; esto le advertirá que la aplicación existente se sobrescribirá y luego regenerará la aplicación con los nuevos permisos." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." +msgstr "" +"Los permisos se declaran en los archivos que se generan durante la llamada " +"original a `briefcase create`. Lamentablemente, Briefcase no puede " +"actualizar estos archivos una vez que se han generado inicialmente; por lo " +"tanto, si desea agregar un nuevo permiso a su aplicación o modificar los " +"permisos existentes, deberá volver a crear la aplicación. Puede hacerlo " +"volviendo a ejecutar `briefcase create`; esto le advertirá que la aplicación " +"existente se sobrescribirá y luego regenerará la aplicación con los nuevos " +"permisos." +#~ msgid "Using the camera" +#~ msgstr "Usando la cámara" diff --git a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po index 671be68d..85606762 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -1,143 +1,216 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-12 02:04+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "Personalizar iconos" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" +msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#: docs/en/tutorial/topics/custom-icons.md:3 #, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Hasta ahora, nuestra aplicación ha utilizado un ícono predeterminado de \"abeja gris\". ¿Cómo actualizamos la aplicación para usar nuestro propio ícono?" +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "" +"Hasta ahora, nuestra aplicación ha utilizado un ícono predeterminado de " +"\"abeja gris\". ¿Cómo actualizamos la aplicación para usar nuestro propio " +"ícono?" -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 msgid "Adding an icon" msgstr "Añadir un icono" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**Próximamente**" +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." +msgstr "" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "¡Ya tenemos una aplicación con un icono personalizado en nuestro escritorio y teléfono! ¿Cómo compartimos esta aplicación con los demás? Visita [Tutorial 11][tutorial-11] para descubrirlo..." +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." +msgstr "" -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutorial 10 – Crea tu propia aplicación" +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" -#~ msgid "Next steps" -#~ msgstr "Siguientes pasos" +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" +msgstr "" -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." +msgstr "" +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" + +#~ msgid "Customizing icons" +#~ msgstr "Personalizar iconos" diff --git a/locales/es/LC_MESSAGES/tutorial/topics/index.po b/locales/es/LC_MESSAGES/tutorial/topics/index.po index 600ab25b..871b0bcd 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/index.po @@ -1,63 +1,68 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-09-28 16:15+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish \n" -"Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.8-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "Ir más allá" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" +msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "" "¿Quieres profundizar en temas específicos? Aquí tienes algunos tutoriales " "adicionales que exploran aspectos comunes del desarrollo de aplicaciones. " "Cada tutorial es independiente y puede completarse en cualquier orden, pero " "todos ellos asumen que has completado el tutorial principal." -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "Personalizar iconos" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" +msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "" "Personaliza la apariencia de tu aplicación sustituyendo el icono " "predeterminado de la \"abeja gris\"." -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "Pruebas de aplicaciones" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" msgstr "" -"¿Cómo puedo asegurarme de que mi aplicación funciona y sigue funcionando? ¡" -"Añadiendo un conjunto de pruebas al proyecto!" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "Acceso a la cámara" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." msgstr "" "Utiliza la cámara de tu dispositivo móvil o de sobremesa para hacer y ver " "una foto desde tu aplicación." + +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" +msgstr "" + +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" +msgstr "" +"¿Cómo puedo asegurarme de que mi aplicación funciona y sigue funcionando? ¡" +"Añadiendo un conjunto de pruebas al proyecto!" + +#~ msgid "Going further" +#~ msgstr "Ir más allá" diff --git a/locales/es/LC_MESSAGES/tutorial/topics/testing.po b/locales/es/LC_MESSAGES/tutorial/topics/testing.po index 1dfac1bc..3298ca86 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/testing.po @@ -1,140 +1,266 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:01+0000\n" "Last-Translator: KevinRodriguez777 \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Tutorial 9 - Tiempo de Ejecución del conjunto de pruebas" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "La mayor parte del desarrollo de software no consiste en escribir código nuevo, sino en modificar el existente. Garantizar que el código existente sigue funcionando de la forma que esperamos es una parte clave del proceso de desarrollo de software. Una forma de asegurar el comportamiento de nuestra aplicación es con un *conjunto de pruebas*." +#: docs/en/tutorial/topics/testing.md:3 +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" +"La mayor parte del desarrollo de software no consiste en escribir código " +"nuevo, sino en modificar el existente. Garantizar que el código existente " +"sigue funcionando de la forma que esperamos es una parte clave del proceso " +"de desarrollo de software. Una forma de asegurar el comportamiento de " +"nuestra aplicación es con un *conjunto de pruebas*." -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 msgid "Running the test suite" msgstr "Ejecución del conjunto de pruebas" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#: docs/en/tutorial/topics/testing.md:10 #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Resulta que nuestro proyecto ya tiene un conjunto de pruebas! Cuando originalmente generamos nuestro proyecto, se generaron dos directorios de nivel superior: `src` y `tests`. La carpeta `src` contiene el código de nuestra aplicación; la carpeta `tests` contiene nuestro conjunto de pruebas. Dentro de la carpeta `tests` hay un archivo llamado `test_app.py` con el siguiente contenido:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Esto es un [Pytest]{1} *caso de prueba* - un bloque de código que puede ser ejecutado para verificar algún comportamiento de tu aplicación. En este caso, la prueba es un marcador de posición, y no verifica nada específico sobre nuestra aplicación, pero es una prueba que podemos realizar." - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Podemos ejecutar este conjunto de pruebas utilizando la opción `--test` de `briefcase dev`. Como es la primera vez que ejecutamos pruebas, también necesitamos pasar la opción `-r` para asegurarnos de que también se instalan los requisitos de las pruebas:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "¡Un éxito! Acabamos de ejecutar una única prueba que verifica que las matemáticas de Python funcionan como esperábamos (¡Qué alivio!)." - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" +"Resulta que nuestro proyecto ya tiene un conjunto de pruebas! Cuando " +"originalmente generamos nuestro proyecto, se generaron dos directorios de " +"nivel superior: `src` y `tests`. La carpeta `src` contiene el código de " +"nuestra aplicación; la carpeta `tests` contiene nuestro conjunto de pruebas. " +"Dentro de la carpeta `tests` hay un archivo llamado `test_app.py` con el " +"siguiente contenido:" + +#: docs/en/tutorial/topics/testing.md:21 +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" +"Esto es un [Pytest]{1} *caso de prueba* - un bloque de código que puede ser " +"ejecutado para verificar algún comportamiento de tu aplicación. En este " +"caso, la prueba es un marcador de posición, y no verifica nada específico " +"sobre nuestra aplicación, pero es una prueba que podemos realizar." + +#: docs/en/tutorial/topics/testing.md:26 +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" +"Podemos ejecutar este conjunto de pruebas utilizando la opción `--test` de `" +"briefcase dev`. Como es la primera vez que ejecutamos pruebas, también " +"necesitamos pasar la opción `-r` para asegurarnos de que también se instalan " +"los requisitos de las pruebas:" + +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:112 +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "" +"¡Un éxito! Acabamos de ejecutar una única prueba que verifica que las " +"matemáticas de Python funcionan como esperábamos (¡Qué alivio!)." + +#: docs/en/tutorial/topics/testing.md:115 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Vamos a reemplazar esta prueba de marcador de posición con una prueba para verificar que nuestro método `greeting()` se comporta como esperamos. Sustituye el contenido de `test_app.py` por el siguiente:" +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" +"Vamos a reemplazar esta prueba de marcador de posición con una prueba para " +"verificar que nuestro método `greeting()` se comporta como esperamos. " +"Sustituye el contenido de `test_app.py` por el siguiente:" -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Esto define dos nuevos casos de pruebas, verificando los dos comportamientos que esperamos ver: la salida cuando se proporciona un nombre, y la salida cuando el nombre está vacío." +#: docs/en/tutorial/topics/testing.md:133 +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "" +"Esto define dos nuevos casos de pruebas, verificando los dos comportamientos " +"que esperamos ver: la salida cuando se proporciona un nombre, y la salida " +"cuando el nombre está vacío." -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Ahora podemos volver a ejecutar el conjunto de pruebas. Esta vez, no necesitamos proporcionar la opción `-r`, ya que los requisitos de la prueba ya se han instalado; sólo tenemos que utilizar la opción `--test`:" +#: docs/en/tutorial/topics/testing.md:137 +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "" +"Ahora podemos volver a ejecutar el conjunto de pruebas. Esta vez, no " +"necesitamos proporcionar la opción `-r`, ya que los requisitos de la prueba " +"ya se han instalado; sólo tenemos que utilizar la opción `--test`:" -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#: docs/en/tutorial/topics/testing.md:199 #, fuzzy msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Excelente Nuestro método de utilidad `greeting()` está funcionando como se esperaba." +msgstr "" +"Excelente Nuestro método de utilidad `greeting()` está funcionando como se " +"esperaba." -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 #, fuzzy msgid "Test driven development" msgstr "Desarrollo basado en pruebas" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#: docs/en/tutorial/topics/testing.md:203 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Ahora que tenemos un conjunto de pruebas, podemos utilizarlo para impulsar el desarrollo de nuevas funciones. Vamos a modificar nuestra aplicación para que tenga un saludo especial para un usuario en particular. Podemos empezar por añadir un caso de prueba para el nuevo comportamiento que nos gustaría ver en la parte inferior de `test_app.py`:" +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" +"Ahora que tenemos un conjunto de pruebas, podemos utilizarlo para impulsar " +"el desarrollo de nuevas funciones. Vamos a modificar nuestra aplicación para " +"que tenga un saludo especial para un usuario en particular. Podemos empezar " +"por añadir un caso de prueba para el nuevo comportamiento que nos gustaría " +"ver en la parte inferior de `test_app.py`:" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 #, fuzzy msgid "Then, run the test suite with this new test:" msgstr "A continuación, ejecute el conjunto de pruebas con esta nueva prueba:" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#: docs/en/tutorial/topics/testing.md:320 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Esta vez, vemos un fallo en el test - y la salida explica el origen del fallo: el test está esperando la salida \"¡BeeWare los IDEs de Python!\", pero nuestra implementación de `greeting()` está devolviendo \"Hola, Brutus\". Modifiquemos la implementación de `greeting()` en `src/helloworld/app.py` para que tenga el nuevo comportamiento:" +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" +"Esta vez, vemos un fallo en el test - y la salida explica el origen del " +"fallo: el test está esperando la salida \"¡BeeWare los IDEs de Python!\", " +"pero nuestra implementación de `greeting()` está devolviendo \"Hola, Brutus\"" +". Modifiquemos la implementación de `greeting()` en `src/helloworld/app.py` " +"para que tenga el nuevo comportamiento:" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 #, fuzzy msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Si ejecutamos las pruebas de nuevo, ahora veremos que nuestras pruebas pasan:" +msgstr "" +"Si ejecutamos las pruebas de nuevo, ahora veremos que nuestras pruebas pasan:" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 #, fuzzy msgid "Runtime tests" msgstr "Pruebas en tiempo real" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#: docs/en/tutorial/topics/testing.md:400 #, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Hasta ahora, hemos estado ejecutando las pruebas en modo de desarrollo. Esto es especialmente útil cuando estás desarrollando nuevas características, ya que puedes iterar rápidamente en la adición de pruebas, y la adición de código para hacer que esas pruebas pasen. Sin embargo, en algún momento, usted querrá verificar que su código también se ejecuta correctamente cuando dentro del entorno de aplicación paquete." +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" +"Hasta ahora, hemos estado ejecutando las pruebas en modo de desarrollo. Esto " +"es especialmente útil cuando estás desarrollando nuevas características, ya " +"que puedes iterar rápidamente en la adición de pruebas, y la adición de " +"código para hacer que esas pruebas pasen. Sin embargo, en algún momento, " +"usted querrá verificar que su código también se ejecuta correctamente cuando " +"dentro del entorno de aplicación paquete." -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#: docs/en/tutorial/topics/testing.md:406 #, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Las opciones `--test` y `-r` también se pueden pasar al comando `run`. Si utilizas `briefcase run --test -r`, se ejecutará el mismo conjunto de pruebas, pero se ejecutará dentro del paquete de aplicaciones empaquetado en lugar de en tu entorno de desarrollo:" +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" +"Las opciones `--test` y `-r` también se pueden pasar al comando `run`. Si " +"utilizas `briefcase run --test -r`, se ejecutará el mismo conjunto de " +"pruebas, pero se ejecutará dentro del paquete de aplicaciones empaquetado en " +"lugar de en tu entorno de desarrollo:" -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#: docs/en/tutorial/topics/testing.md:529 #, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Al igual que con `briefcase dev --test`, la opción `-r` sólo es necesaria la primera vez que se ejecuta el conjunto de pruebas para asegurarse de que las dependencias de prueba están presentes. En las siguientes ejecuciones, puede omitir esta opción." +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" +"Al igual que con `briefcase dev --test`, la opción `-r` sólo es necesaria la " +"primera vez que se ejecuta el conjunto de pruebas para asegurarse de que las " +"dependencias de prueba están presentes. En las siguientes ejecuciones, puede " +"omitir esta opción." -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#: docs/en/tutorial/topics/testing.md:533 #, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "También puedes utilizar la opción `--test` en backends móviles: - así `briefcase run iOS --test` y `briefcase run android --test` funcionarán, ejecutando el conjunto de pruebas en el dispositivo móvil que selecciones." +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" +"También puedes utilizar la opción `--test` en backends móviles: - así `" +"briefcase run iOS --test` y `briefcase run android --test` funcionarán, " +"ejecutando el conjunto de pruebas en el dispositivo móvil que selecciones." -#~ msgid "Next steps" -#~ msgstr "Siguientes pasos" +#, fuzzy +#~ msgid "Testing times" +#~ msgstr "Tutorial 9 - Tiempo de Ejecución del conjunto de pruebas" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po index 6f8526ab..8771a84a 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po @@ -1,233 +1,358 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-10-18 16:15+0000\n" "Last-Translator: Kamborio \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutorial 0 - ¡Preparémonos!" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Antes de crear nuestra primera aplicación BeeWare, tenemos que asegurarnos de que tenemos todos los requisitos previos para ejecutar BeeWare." +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "" +"Antes de crear nuestra primera aplicación BeeWare, tenemos que asegurarnos " +"de que tenemos todos los requisitos previos para ejecutar BeeWare." -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 msgid "Install Python" msgstr "Instalar Python" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 msgid "The first thing we'll need is a working Python interpreter." msgstr "Lo primero que necesitaremos es un intérprete de Python que funcione." -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#: docs/en/tutorial/tutorial-0.md:12 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" +"Si usas Windows, puedes obtener el instalador oficial desde " +"[La página web de Python]{1}. Puedes usar cualquier versión estable de " +"Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]" +"{1}. Te aconsejamos que evites las versiones alphas, betas y release " +"candidates a menos que *realmente* sepas lo que estás haciendo." -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#: docs/en/tutorial/tutorial-0.md:18 #, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Hay muchas formas diferentes de instalar Python. Puedes instalar Python a través de [homebrew]{1}. Puedes usar [pyenv]{2} para gestionar múltiples instalaciones de Python en la misma máquina. Los usuarios de Windows pueden instalar Python desde la Windows App Store. Los usuarios con experiencia en ciencia de datos pueden utilizar [Anaconda]{3} o [Miniconda]{4}." +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"Hay muchas formas diferentes de instalar Python. Puedes instalar Python a " +"través de [homebrew]{1}. Puedes usar [pyenv]{2} para gestionar múltiples " +"instalaciones de Python en la misma máquina. Los usuarios de Windows pueden " +"instalar Python desde la Windows App Store. Los usuarios con experiencia en " +"ciencia de datos pueden utilizar [Anaconda]{3} o [Miniconda]{4}." -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Si estás en Linux, instalarás Python utilizando el gestor de paquetes del sistema (`apt` en Debian/Ubuntu/Mint, `dnf` en Fedora, o `pacman` en Arch)." +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"Si estás en Linux, instalarás Python utilizando el gestor de paquetes del " +"sistema (`apt` en Debian/Ubuntu/Mint, `dnf` en Fedora, o `pacman` en Arch)." + +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Debe asegurarse de que el sistema Python es Python 3.9 o más reciente; si no lo es (por ejemplo, Ubuntu 20.04 viene con Python 3.8), tendrá que actualizar su distribución de Linux a algo más reciente." +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"Debe asegurarse de que el sistema Python es Python 3.9 o más reciente; si no " +"lo es (por ejemplo, Ubuntu 20.04 viene con Python 3.8), tendrá que " +"actualizar su distribución de Linux a algo más reciente." -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 msgid "Support for Raspberry Pi is limited at this time." msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Si usas Windows, puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes usar cualquier versión estable de Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]{1}. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"Si usas Windows, puedes obtener el instalador oficial desde " +"[La página web de Python]{1}. Puedes usar cualquier versión estable de " +"Python desde la 3.9 a la 3.12 - [Python 3.13 no es compatible por el momento]" +"{1}. Te aconsejamos que evites las versiones alphas, betas y release " +"candidates a menos que *realmente* sepas lo que estás haciendo." -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "La compatibilidad con Raspberry Pi es limitada por el momento." -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Si usas macOS o Windows, no importa *cómo* has instalado Python - sólo importa que puedas ejecutar `python3` desde el símbolo del sistema/terminal de tu sistema operativo, y obtener un intérprete de Python que funcione." +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"Si usas macOS o Windows, no importa *cómo* has instalado Python - sólo " +"importa que puedas ejecutar `python3` desde el símbolo del sistema/terminal " +"de tu sistema operativo, y obtener un intérprete de Python que funcione." -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 msgid "Install dependencies" msgstr "Instalar dependencias" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "A continuación, instale las dependencias adicionales necesarias para su sistema operativo:" +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" +msgstr "" +"A continuación, instale las dependencias adicionales necesarias para su " +"sistema operativo:" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 msgid "Building BeeWare apps on macOS requires:" msgstr "Construir aplicaciones BeeWare en macOS requiere:" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "**Git**, un sistema de control de versiones. Se incluye con Xcode o con las herramientas de línea de comandos para desarrolladores, que instalaste más arriba. Puede que tengas que abrir Xcode por primera vez para que Git funcione en tu sesión de terminal. Si aún no se registra que Git está instalado, puede que tenga que reiniciar su sesión de terminal." +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." +msgstr "" +"**Git**, un sistema de control de versiones. Se incluye con Xcode o con las " +"herramientas de línea de comandos para desarrolladores, que instalaste más " +"arriba. Puede que tengas que abrir Xcode por primera vez para que Git " +"funcione en tu sesión de terminal. Si aún no se registra que Git está " +"instalado, puede que tenga que reiniciar su sesión de terminal." -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Para soportar el desarrollo local, necesitarás instalar algunos paquetes del sistema. La lista de paquetes necesarios varía en función de tu distribución:" +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "" +"Para soportar el desarrollo local, necesitarás instalar algunos paquetes del " +"sistema. La lista de paquetes necesarios varía en función de tu distribución:" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 msgid "**Ubuntu / Debian**" msgstr "**Ubuntu / Debian**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 msgid "**Arch / Manjaro**" msgstr "**Arch / Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "**OpenSUSE Tumbleweed**" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 msgid "Building BeeWare apps on Windows requires:" msgstr "Construir aplicaciones BeeWare en Windows requiere:" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, un sistema de control de versiones. Puede descargar Git desde [git-scm.com]{1}." +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." +msgstr "" +"**Git**, un sistema de control de versiones. Puede descargar Git desde " +"[git-scm.com]{1}." -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Después de instalar estas herramientas, debe asegurarse de reiniciar cualquier sesión de terminal. Windows sólo expondrá las herramientas recién instaladas a los terminales iniciados *después* de que se haya completado la instalación." +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "" +"Después de instalar estas herramientas, debe asegurarse de reiniciar " +"cualquier sesión de terminal. Windows sólo expondrá las herramientas recién " +"instaladas a los terminales iniciados *después* de que se haya completado la " +"instalación." -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 msgid "Set up a virtual environment" msgstr "Crear un entorno virtual" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Ahora vamos a crear un entorno virtual - una \"caja de arena\" que podemos utilizar para aislar nuestro trabajo en este tutorial de nuestra instalación principal de Python. Si instalamos paquetes en el entorno virtual, nuestra instalación principal de Python (y cualquier otro proyecto Python en nuestro ordenador) no se verá afectado. Si hacemos un completo desastre de nuestro entorno virtual, podremos simplemente borrarlo y empezar de nuevo, sin afectar a ningún otro proyecto Python en nuestro ordenador, y sin necesidad de reinstalar Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"Ahora vamos a crear un entorno virtual - una \"caja de arena\" que podemos " +"utilizar para aislar nuestro trabajo en este tutorial de nuestra instalación " +"principal de Python. Si instalamos paquetes en el entorno virtual, nuestra " +"instalación principal de Python (y cualquier otro proyecto Python en nuestro " +"ordenador) no se verá afectado. Si hacemos un completo desastre de nuestro " +"entorno virtual, podremos simplemente borrarlo y empezar de nuevo, sin " +"afectar a ningún otro proyecto Python en nuestro ordenador, y sin necesidad " +"de reinstalar Python." + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Errores al ejecutar scripts PowerShell" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 msgid "If you're using PowerShell, and you receive the error:" msgstr "Si está utilizando PowerShell y recibe el error:" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Tu cuenta de Windows no tiene permisos para ejecutar scripts. Para solucionarlo:" +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "" +"Tu cuenta de Windows no tiene permisos para ejecutar scripts. Para " +"solucionarlo:" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "Ejecute [Windows PowerShell como administrador]{1}." -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "Ejecuta `set-executionpolicy RemoteSigned`" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 msgid "Select `Y` to change the execution policy." msgstr "Seleccione `Y` para cambiar la política de ejecución." -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Una vez hecho esto, puede volver a ejecutar `beeware-venv\\Scripts\\activate.ps1` en su sesión PowerShell original (o en una nueva sesión en el mismo directorio)." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Si esto ha funcionado, tu prompt debería haber cambiado - debería tener un prefijo `(beeware-venv)`. Esto te permite saber que estás actualmente en tu entorno virtual BeeWare. Siempre que estés trabajando en este tutorial, debes asegurarte de que tu entorno virtual está activado. Si no lo está, vuelve a ejecutar el último comando (el comando `activate`) para reactivar tu entorno." +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"Una vez hecho esto, puede volver a ejecutar `beeware-venv\\Scripts\\activate" +".ps1` en su sesión PowerShell original (o en una nueva sesión en el mismo " +"directorio)." -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Entornos virtuales alternativos" +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"Si esto ha funcionado, tu prompt debería haber cambiado - debería tener un " +"prefijo `(beeware-venv)`. Esto te permite saber que estás actualmente en tu " +"entorno virtual BeeWare. Siempre que estés trabajando en este tutorial, " +"debes asegurarte de que tu entorno virtual está activado. Si no lo está, " +"vuelve a ejecutar el último comando (el comando `activate`) para reactivar " +"tu entorno." + +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Si estás usando Anaconda o miniconda, puede que estés más familiarizado con el uso de entornos conda. También puedes haber oído hablar de `virtualenv`, un predecesor del módulo `venv` de Python. Al igual que con las instalaciones de Python - si estás en macOS o Windows, no importa *cómo* creas tu entorno virtual, siempre y cuando tengas uno. Si estás en Linux, deberías usar `venv` y el sistema Python." +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Ya hemos configurado nuestro entorno. Estamos listos para [crear nuestra primera aplicación BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Ejecute Windows PowerShell como Administrador." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, un sistema de control de versiones. Esto se incluye con Xcode o las herramientas de línea de comandos para desarrolladores, que instaló anteriormente." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distribuciones alternativas de Python" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Si estás en Linux, *debes* usar el Python de sistema proporcionado por tu sistema operativo. Podrás completar *la mayor parte* de este tutorial usando un Python que no sea de sistema, pero no podrás empaquetar tu aplicación para distribuirla a otros." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Si utilizas macOS, con Xcode o las herramientas de desarrollo de línea de comandos se incluye una versión reciente de Python. Para comprobar si ya la tienes, ejecuta el siguiente comando:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Si Python está instalado, verás su número de versión. Si no, se te pedirá que instales las herramientas de desarrollo de la línea de comandos." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Debes asegurarte de que estás usando Python 3.9 o superior. Si no es así, tendrás que actualizar tu instalación de Python. Puedes obtener el instalador oficial desde [La página web de Python]{1}. Puedes utilizar cualquier versión estable de Python a partir de la 3.9. Te aconsejamos que evites las versiones alphas, betas y release candidates a menos que *realmente* sepas lo que estás haciendo." +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "" +"Ya hemos configurado nuestro entorno. Estamos listos para " +"[crear nuestra primera aplicación BeeWare][tutorial-1]." +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "Tutorial 0 - ¡Preparémonos!" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po index 77b8c843..8b3b0a3c 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po @@ -1,209 +1,328 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-03-27 18:01+0000\n" "Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutorial 1 - Tu primera aplicación" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 msgid "We're ready to create our first application." msgstr "Estamos listos para crear nuestra primera aplicación." -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 msgid "Install the BeeWare tools" msgstr "Instalar las herramientas BeeWare" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "En primer lugar, tenemos que instalar **Briefcase**. Briefcase es una herramienta de BeeWare que se puede utilizar para empaquetar su aplicación para la distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio `beeware-tutorial` que creaste en [Tutorial 0][tutorial-0], con el entorno virtual `beeware-venv` activado, y ejecuta:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Posibles errores durante la instalación" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Si aparecen errores durante la instalación, es casi seguro que se deba a que no se han instalado algunos de los requisitos del sistema. Asegúrese de haber [instalado todos los requisitos previos de la plataforma ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "Es importante que utilices `python -m pip`, en lugar de `pip`. Briefcase necesita asegurarse de que tiene una versión actualizada de `pip` y `setuptools`, y una invocación de `pip` no puede auto-actualizarse. Si quieres saber más, [Brett Cannon tiene una entrada de blog detallada sobre el problema]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"En primer lugar, tenemos que instalar **Briefcase**. Briefcase es una " +"herramienta de BeeWare que se puede utilizar para empaquetar su aplicación " +"para la distribución a los usuarios finales - pero también se puede utilizar " +"para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio " +"`beeware-tutorial` que creaste en [Tutorial 0][tutorial-0], con el entorno " +"virtual `beeware-venv` activado, y ejecuta:" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"Es importante que utilices `python -m pip`, en lugar de `pip`. Briefcase " +"necesita asegurarse de que tiene una versión actualizada de `pip` y " +"`setuptools`, y una invocación de `pip` no puede auto-actualizarse. Si " +"quieres saber más, " +"[Brett Cannon tiene una entrada de blog detallada sobre el problema]{1}." + +#: docs/en/tutorial/tutorial-1.md:57 #, fuzzy msgid "Bootstrap a new project" msgstr "Crear un nuevo proyecto" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -#, fuzzy -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "¡Empecemos nuestro primer proyecto BeeWare! Vamos a utilizar el comando `new` de Briefcase para crear una aplicación llamada **Hello World**. Ejecute lo siguiente desde su símbolo del sistema:" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +#: docs/en/tutorial/tutorial-1.md:87 #, fuzzy -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Para los propósitos de este tutorial, utilice lo siguiente:" +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "" +"Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Para los " +"propósitos de este tutorial, utilice lo siguiente:" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 #, fuzzy msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Nombre Formal** - Acepta el valor por defecto: `Hola Mundo`." -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**Nombre de la aplicación** - Acepta el valor por defecto: `helloworld`." +msgstr "" +"**Nombre de la aplicación** - Acepta el valor por defecto: `helloworld`." -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#: docs/en/tutorial/tutorial-1.md:92 #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Paquete** - Si tiene su propio dominio, introdúzcalo en orden inverso. (Por ejemplo, si posee el dominio \"cupcakes.com\", introduzca `com.cupcakes` como paquete). Si no posee su propio dominio, acepte el paquete predeterminado (`com.ejemplo`)." +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" +"**Paquete** - Si tiene su propio dominio, introdúzcalo en orden inverso. (" +"Por ejemplo, si posee el dominio \"cupcakes.com\", introduzca `com.cupcakes` " +"como paquete). Si no posee su propio dominio, acepte el paquete " +"predeterminado (`com.ejemplo`)." -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 #, fuzzy msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Nombre del proyecto** - Acepte el valor por defecto: `Hola Mundo`." -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +#: docs/en/tutorial/tutorial-1.md:97 #, fuzzy -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Descripción** - Acepte el valor por defecto (o, si quiere ser realmente creativo, invente su propia descripción)" +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "" +"**Descripción** - Acepte el valor por defecto (o, si quiere ser realmente " +"creativo, invente su propia descripción)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "**Author** - Enter your own name here." msgstr "**Autor** - Escriba aquí su propio nombre." -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#: docs/en/tutorial/tutorial-1.md:100 #, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Correo electrónico del autor** - Introduzca su propia dirección de correo electrónico. Se utilizará en el archivo de configuración, en el texto de ayuda y en cualquier lugar donde se requiera un correo electrónico al enviar la aplicación a una tienda de aplicaciones." +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "" +"**Correo electrónico del autor** - Introduzca su propia dirección de correo " +"electrónico. Se utilizará en el archivo de configuración, en el texto de " +"ayuda y en cualquier lugar donde se requiera un correo electrónico al enviar " +"la aplicación a una tienda de aplicaciones." -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#: docs/en/tutorial/tutorial-1.md:103 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - La URL de la página de destino de su aplicación. De nuevo, si es dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el `https://`). Si no, acepta la URL por defecto (`https://example.com/helloworld`). No es necesario que esta URL exista realmente (por ahora); sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" +"**URL** - La URL de la página de destino de su aplicación. De nuevo, si es " +"dueño de su propio dominio, introduzca una URL en ese dominio (incluyendo el " +"`https://`). Si no, acepta la URL por defecto (`https://example.com/" +"helloworld`). No es necesario que esta URL exista realmente (por ahora); " +"sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#: docs/en/tutorial/tutorial-1.md:109 #, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**Licencia** - Acepta la licencia por defecto (BSD). Sin embargo, esto no afectará en nada al funcionamiento del tutorial, así que si tienes sentimientos particularmente fuertes sobre la elección de la licencia, siéntete libre de elegir otra licencia." +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" +"**Licencia** - Acepta la licencia por defecto (BSD). Sin embargo, esto no " +"afectará en nada al funcionamiento del tutorial, así que si tienes " +"sentimientos particularmente fuertes sobre la elección de la licencia, " +"siéntete libre de elegir otra licencia." -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +#: docs/en/tutorial/tutorial-1.md:113 #, fuzzy -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI framework** - Acepte la opción por defecto, Toga (el propio conjunto de herramientas GUI de BeeWare)." +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." +msgstr "" +"**GUI framework** - Acepte la opción por defecto, Toga (el propio conjunto " +"de herramientas GUI de BeeWare)." -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +#: docs/en/tutorial/tutorial-1.md:116 #, fuzzy -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase generará entonces un esqueleto de proyecto para que lo utilices. Si has seguido este tutorial hasta ahora, y has aceptado los valores por defecto tal y como se describen, tu sistema de archivos debería parecerse a:" +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" +"Briefcase generará entonces un esqueleto de proyecto para que lo utilices. " +"Si has seguido este tutorial hasta ahora, y has aceptado los valores por " +"defecto tal y como se describen, tu sistema de archivos debería parecerse a:" -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +#: docs/en/tutorial/tutorial-1.md:142 #, fuzzy -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Este esqueleto es en realidad una aplicación en pleno funcionamiento sin añadir nada más. La carpeta `src` contiene todo el código de la aplicación, la carpeta `tests` contiene un conjunto de pruebas iniciales, y el archivo `pyproject.toml` describe cómo empaquetar la aplicación para su distribución. Si abres `pyproject.toml` en un editor, verás los detalles de configuración que acabas de proporcionar a Briefcase." - -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" +"Este esqueleto es en realidad una aplicación en pleno funcionamiento sin " +"añadir nada más. La carpeta `src` contiene todo el código de la aplicación, " +"la carpeta `tests` contiene un conjunto de pruebas iniciales, y el archivo " +"`pyproject.toml` describe cómo empaquetar la aplicación para su " +"distribución. Si abres `pyproject.toml` en un editor, verás los detalles de " +"configuración que acabas de proporcionar a Briefcase." + +#: docs/en/tutorial/tutorial-1.md:149 #, fuzzy -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Ahora que tenemos una aplicación stub, podemos utilizar Briefcase para ejecutar la aplicación." +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." +msgstr "" +"Ahora que tenemos una aplicación stub, podemos utilizar Briefcase para " +"ejecutar la aplicación." -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 #, fuzzy msgid "Run the app in developer mode" msgstr "Ejecutar la aplicación en modo desarrollador" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +#: docs/en/tutorial/tutorial-1.md:154 #, fuzzy -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Entra en el directorio del proyecto `helloworld` y dile a briefcase que inicie el proyecto en modo desarrollador (o `dev`):" +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "" +"Entra en el directorio del proyecto `helloworld` y dile a briefcase que " +"inicie el proyecto en modo desarrollador (o `dev`):" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 #, fuzzy msgid "This should open a GUI window:" msgstr "Esto debería abrir una ventana GUI:" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -#, fuzzy -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Tutorial Hello World 1 ventana, en macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Ventana Hello World Tutorial 1, en Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Ventana Hello World Tutorial 1, en Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#: docs/en/tutorial/tutorial-1.md:248 #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Pulsa el botón de cerrar (o selecciona Salir en el menú de la aplicación), ¡y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e independiente en Python!" +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "" +"Pulsa el botón de cerrar (o selecciona Salir en el menú de la aplicación), ¡" +"y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e " +"independiente en Python!" -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +#: docs/en/tutorial/tutorial-1.md:256 #, fuzzy -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Ahora tenemos una aplicación que funciona, ejecutándose en modo desarrollador. Ahora podemos añadir algo de lógica propia para hacer que nuestra aplicación haga algo un poco más interesante. En [Tutorial 2][tutorial-2], pondremos una interfaz de usuario más útil en nuestra aplicación." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Una de las herramientas de BeeWare es **Briefcase**. Briefcase se puede utilizar para empaquetar su aplicación para su distribución a los usuarios finales - pero también se puede utilizar para arrancar un nuevo proyecto." - +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" +"Ahora tenemos una aplicación que funciona, ejecutándose en modo " +"desarrollador. Ahora podemos añadir algo de lógica propia para hacer que " +"nuestra aplicación haga algo un poco más interesante. En [Tutorial 2]" +"[tutorial-2], pondremos una interfaz de usuario más útil en nuestra " +"aplicación." + +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "Tutorial 1 - Tu primera aplicación" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po index 8e7fddb3..677207d9 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -1,291 +1,486 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-23 12:02+0000\n" "Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -#, fuzzy -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutorial 2 - Hacerlo interesante" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "En [Tutorial 1][tutorial-1], generamos un proyecto stub que era capaz de ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un vistazo a lo que se generó para nosotros." +#: docs/en/tutorial/tutorial-2.md:3 +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" +"En [Tutorial 1][tutorial-1], generamos un proyecto stub que era capaz de " +"ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un " +"vistazo a lo que se generó para nosotros." -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 msgid "What was generated" msgstr "Qué se generó" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "En el directorio `src/helloworld`, deberías ver 3 archivos: `__init__.py`, `__main__.py` y `app.py`." +#: docs/en/tutorial/tutorial-2.md:9 +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" +"En el directorio `src/helloworld`, deberías ver 3 archivos: `__init__.py`, " +"`__main__.py` y `app.py`." -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` marca el directorio `helloworld` como un módulo importable de Python. Es un archivo vacío; el mero hecho de que exista le dice al intérprete de Python que el directorio `helloworld` define un módulo." +#: docs/en/tutorial/tutorial-2.md:12 +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` marca el directorio `helloworld` como un módulo importable de " +"Python. Es un archivo vacío; el mero hecho de que exista le dice al " +"intérprete de Python que el directorio `helloworld` define un módulo." -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` marca el módulo `helloworld` como un tipo especial de módulo - un módulo ejecutable. Si intentas ejecutar el módulo `helloworld` usando `python -m helloworld`, el archivo `__main__.py` es donde Python empezará a ejecutarse. El contenido de `__main__.py` es relativamente simple:" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#: docs/en/tutorial/tutorial-2.md:31 #, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Es decir, importa el método `main` de la aplicación `helloworld`; y si se está ejecutando como punto de entrada, llama al método main(), e inicia el bucle principal de la aplicación. El bucle principal es la forma en que una aplicación GUI escucha la entrada del usuario (como clics de ratón y pulsaciones de teclado)." +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" +"Es decir, importa el método `main` de la aplicación `helloworld`; y si se " +"está ejecutando como punto de entrada, llama al método main(), e inicia el " +"bucle principal de la aplicación. El bucle principal es la forma en que una " +"aplicación GUI escucha la entrada del usuario (como clics de ratón y " +"pulsaciones de teclado)." -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#: docs/en/tutorial/tutorial-2.md:35 #, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "El archivo más interesante es `app.py` - contiene la lógica que crea la ventana de nuestra aplicación:" +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" +msgstr "" +"El archivo más interesante es `app.py` - contiene la lógica que crea la " +"ventana de nuestra aplicación:" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 #, fuzzy msgid "Let's go through this line by line:" msgstr "Vamos a ir a través de esta línea por línea:" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#: docs/en/tutorial/tutorial-2.md:61 #, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "En primer lugar, importamos el conjunto de herramientas de widgets `toga`, así como algunas clases de utilidades y constantes relacionadas con el estilo. Nuestro código aún no las utiliza, pero lo haremos en breve." +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "" +"En primer lugar, importamos el conjunto de herramientas de widgets `toga`, " +"así como algunas clases de utilidades y constantes relacionadas con el " +"estilo. Nuestro código aún no las utiliza, pero lo haremos en breve." -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 #, fuzzy msgid "Then, we define a class:" msgstr "A continuación, definimos una clase:" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#: docs/en/tutorial/tutorial-2.md:71 #, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Cada aplicación Toga tiene una única instancia `toga.App`, que representa la entidad en ejecución que es la aplicación. La app puede acabar gestionando múltiples ventanas; pero para aplicaciones sencillas, habrá una única ventana principal." +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"Cada aplicación Toga tiene una única instancia `toga.App`, que representa la " +"entidad en ejecución que es la aplicación. La app puede acabar gestionando " +"múltiples ventanas; pero para aplicaciones sencillas, habrá una única " +"ventana principal." -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 #, fuzzy msgid "Next, we define a `startup()` method:" msgstr "A continuación, definimos un método `startup()`:" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#: docs/en/tutorial/tutorial-2.md:83 #, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "Lo primero que hace el método de inicio es definir una caja principal. El esquema de diseño de Toga se comporta de forma similar a HTML. Construyes una aplicación construyendo una colección de cajas, cada una de las cuales contiene otras cajas, o widgets reales. Luego aplicas estilos a estas cajas para definir cómo consumirán el espacio disponible en la ventana." +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" +"Lo primero que hace el método de inicio es definir una caja principal. El " +"esquema de diseño de Toga se comporta de forma similar a HTML. Construyes " +"una aplicación construyendo una colección de cajas, cada una de las cuales " +"contiene otras cajas, o widgets reales. Luego aplicas estilos a estas cajas " +"para definir cómo consumirán el espacio disponible en la ventana." -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#: docs/en/tutorial/tutorial-2.md:89 #, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "En esta aplicación, definimos una sola caja, pero no ponemos nada en ella." +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." +msgstr "" +"En esta aplicación, definimos una sola caja, pero no ponemos nada en ella." -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 #, fuzzy msgid "Next, we define a window into which we can put this empty box:" -msgstr "A continuación, definimos una ventana en la que podemos poner esta caja vacía:" +msgstr "" +"A continuación, definimos una ventana en la que podemos poner esta caja " +"vacía:" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#: docs/en/tutorial/tutorial-2.md:98 #, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Esto crea una instancia de `toga.MainWindow`, que tendrá un título que coincida con el nombre de la aplicación. Una ventana principal es un tipo especial de ventana en Toga - es una ventana que está estrechamente vinculada al ciclo de vida de la aplicación. Cuando la Ventana Principal se cierra, la aplicación sale. La Ventana Principal es también la ventana que tiene el menú de la aplicación (si estás en una plataforma como Windows donde las barras de menú son parte de la ventana)" +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"Esto crea una instancia de `toga.MainWindow`, que tendrá un título que " +"coincida con el nombre de la aplicación. Una ventana principal es un tipo " +"especial de ventana en Toga - es una ventana que está estrechamente " +"vinculada al ciclo de vida de la aplicación. Cuando la Ventana Principal se " +"cierra, la aplicación sale. La Ventana Principal es también la ventana que " +"tiene el menú de la aplicación (si estás en una plataforma como Windows " +"donde las barras de menú son parte de la ventana)" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#: docs/en/tutorial/tutorial-2.md:115 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "A continuación añadimos nuestra caja vacía como contenido de la ventana principal, e indicamos a la aplicación que muestre nuestra ventana:" +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" +msgstr "" +"A continuación añadimos nuestra caja vacía como contenido de la ventana " +"principal, e indicamos a la aplicación que muestre nuestra ventana:" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#: docs/en/tutorial/tutorial-2.md:123 #, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Por último, definimos un método `main()`. Esto es lo que crea la instancia de nuestra aplicación:" +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" +msgstr "" +"Por último, definimos un método `main()`. Esto es lo que crea la instancia " +"de nuestra aplicación:" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#: docs/en/tutorial/tutorial-2.md:131 #, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Este método `main()` es el que es importado e invocado por `__main__.py`. Crea y devuelve una instancia de nuestra aplicación `HelloWorld`." +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "" +"Este método `main()` es el que es importado e invocado por `__main__.py`. " +"Crea y devuelve una instancia de nuestra aplicación `HelloWorld`." -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#: docs/en/tutorial/tutorial-2.md:135 #, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Esa es la aplicación Toga más simple posible. Pongamos algo de nuestro propio contenido en la aplicación, y hagamos que la aplicación haga algo interesante." +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "" +"Esa es la aplicación Toga más simple posible. Pongamos algo de nuestro " +"propio contenido en la aplicación, y hagamos que la aplicación haga algo " +"interesante." -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 #, fuzzy msgid "Adding some content of our own" msgstr "Añadir contenido propio" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "No elimine las importaciones en la parte superior del archivo, o el `main()` en la parte inferior. Solo necesitas actualizar la clase `HelloWorld`." +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "" +"No elimine las importaciones en la parte superior del archivo, o el `main()` " +"en la parte inferior. Solo necesitas actualizar la clase `HelloWorld`." -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#: docs/en/tutorial/tutorial-2.md:150 #, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modifica tu clase `HelloWorld` dentro de `src/helloworld/app.py` para que tenga este aspecto:" +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" +msgstr "" +"Modifica tu clase `HelloWorld` dentro de `src/helloworld/app.py` para que " +"tenga este aspecto:" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 #, fuzzy msgid "Let's look in detail at what has changed." msgstr "Veamos en detalle lo que ha cambiado." -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 #, fuzzy msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Seguimos creando una caja principal; sin embargo, ahora estamos aplicando un estilo:" +msgstr "" +"Seguimos creando una caja principal; sin embargo, ahora estamos aplicando un " +"estilo:" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#: docs/en/tutorial/tutorial-2.md:193 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "El sistema de diseño integrado de Toga se llama \"Pack\". Se comporta de forma muy parecida a CSS. Defines objetos en una jerarquía - en HTML, los objetos son `
`, ``, y otros elementos DOM; en Toga, son widgets y cajas. A continuación, puedes asignar estilos a los elementos individuales. En este caso, estamos indicando que se trata de una caja `COLUMN` - es decir, es una caja que consumirá todo el ancho disponible, y ampliará su altura a medida que se añada contenido, pero intentará ser lo más corta posible." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" +"El sistema de diseño integrado de Toga se llama \"Pack\". Se comporta de " +"forma muy parecida a CSS. Defines objetos en una jerarquía - en HTML, los " +"objetos son `
`, ``, y otros elementos DOM; en Toga, son widgets y " +"cajas. A continuación, puedes asignar estilos a los elementos individuales. " +"En este caso, estamos indicando que se trata de una caja `COLUMN` - es " +"decir, es una caja que consumirá todo el ancho disponible, y ampliará su " +"altura a medida que se añada contenido, pero intentará ser lo más corta " +"posible." + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 #, fuzzy msgid "Next, we define a couple of widgets:" msgstr "A continuación, definimos un par de widgets:" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#: docs/en/tutorial/tutorial-2.md:223 #, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Aquí definimos un Label y un TextInput. Ambos widgets tienen estilos asociados; la etiqueta tendrá 5px de relleno a su izquierda y derecha, y ningún relleno en la parte superior e inferior. El TextInput está marcado como flexible - es decir, absorberá todo el espacio disponible en su eje de diseño." +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" +"Aquí definimos un Label y un TextInput. Ambos widgets tienen estilos " +"asociados; la etiqueta tendrá 5px de relleno a su izquierda y derecha, y " +"ningún relleno en la parte superior e inferior. El TextInput está marcado " +"como flexible - es decir, absorberá todo el espacio disponible en su eje de " +"diseño." -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#: docs/en/tutorial/tutorial-2.md:229 #, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "El TextInput se asigna como una variable de instancia de la clase. Esto nos da fácil acceso a la instancia del widget - algo que usaremos en un momento." +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "" +"El TextInput se asigna como una variable de instancia de la clase. Esto nos " +"da fácil acceso a la instancia del widget - algo que usaremos en un momento." -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 #, fuzzy msgid "Next, we define a box to hold these two widgets:" msgstr "A continuación, definimos una caja para alojar estos dos widgets:" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#: docs/en/tutorial/tutorial-2.md:241 #, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "La `caja_de_nombre` es una caja igual que la caja principal; sin embargo, esta vez, es una caja `ROW`. Eso significa que el contenido se añadirá horizontalmente, e intentará que su anchura sea lo más estrecha posible. La caja también tiene algo de relleno - 5px en todos los lados." +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"La `caja_de_nombre` es una caja igual que la caja principal; sin embargo, " +"esta vez, es una caja `ROW`. Eso significa que el contenido se añadirá " +"horizontalmente, e intentará que su anchura sea lo más estrecha posible. La " +"caja también tiene algo de relleno - 5px en todos los lados." -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 #, fuzzy msgid "Now we define a button:" msgstr "Ahora definimos un botón:" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "El botón también tiene 5px de relleno en todos los lados. También definimos un *handler* - un método a invocar cuando se pulsa el botón." +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 #, fuzzy msgid "Then, we add the name box and the button to the main box:" -msgstr "A continuación, añadimos el cuadro de nombre y el botón al cuadro principal:" +msgstr "" +"A continuación, añadimos el cuadro de nombre y el botón al cuadro principal:" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#: docs/en/tutorial/tutorial-2.md:266 #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Esto completa nuestro diseño; el resto del método de inicio es como antes - definiendo una MainWindow, y asignando la caja principal como contenido de la ventana:" +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "" +"Esto completa nuestro diseño; el resto del método de inicio es como antes - " +"definiendo una MainWindow, y asignando la caja principal como contenido de " +"la ventana:" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#: docs/en/tutorial/tutorial-2.md:276 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "Lo último que tenemos que hacer es definir el manejador del botón. Un manejador puede ser cualquier método, generador o co-rutina asíncrona; acepta el widget que generó el evento como argumento, y será invocado cada vez que se pulse el botón:" +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" +"Lo último que tenemos que hacer es definir el manejador del botón. Un " +"manejador puede ser cualquier método, generador o co-rutina asíncrona; " +"acepta el widget que generó el evento como argumento, y será invocado cada " +"vez que se pulse el botón:" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#: docs/en/tutorial/tutorial-2.md:286 #, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "El cuerpo del método es una simple sentencia print - sin embargo, interrogará el valor actual de la entrada name, y usará ese contenido como el texto que se imprime." +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "" +"El cuerpo del método es una simple sentencia print - sin embargo, " +"interrogará el valor actual de la entrada name, y usará ese contenido como " +"el texto que se imprime." -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#: docs/en/tutorial/tutorial-2.md:290 #, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Ahora que hemos realizado estos cambios podemos ver cómo quedan iniciando de nuevo la aplicación. Como antes, usaremos el modo desarrollador:" +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "" +"Ahora que hemos realizado estos cambios podemos ver cómo quedan iniciando de " +"nuevo la aplicación. Como antes, usaremos el modo desarrollador:" -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#: docs/en/tutorial/tutorial-2.md:326 #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Notarás que esta vez, *no* instala dependencias. Briefcase puede detectar que la aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, sólo ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, puedes asegurarte de que se instalan pasando una opción `-r` cuando ejecutes `briefcase dev`." +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" +"Notarás que esta vez, *no* instala dependencias. Briefcase puede detectar " +"que la aplicación ha sido ejecutada anteriormente, y para ahorrar tiempo, " +"sólo ejecutará la aplicación. Si añades nuevas dependencias a tu aplicación, " +"puedes asegurarte de que se instalan pasando una opción `-r` cuando ejecutes " +"`briefcase dev`." -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#: docs/en/tutorial/tutorial-2.md:332 #, fuzzy msgid "This should open a GUI window:" msgstr "Esto debería abrir una ventana GUI:" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Ventana Hello World Tutorial 2, en macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Ventana Hello World Tutorial 2, en Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Ventana Hello World Tutorial 2, en Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#: docs/en/tutorial/tutorial-2.md:358 #, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Si introduce un nombre en el cuadro de texto y pulsa el botón GUI, debería ver aparecer la salida en la consola donde inició la aplicación." +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "" +"Si introduce un nombre en el cuadro de texto y pulsa el botón GUI, debería " +"ver aparecer la salida en la consola donde inició la aplicación." -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#: docs/en/tutorial/tutorial-2.md:369 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Ahora tenemos una aplicación que hace algo un poco más interesante. Pero sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta aplicación para su distribución. En [Tutorial 3][tutorial-3], vamos a empaquetar nuestra aplicación como un instalador independiente que podríamos enviar a un amigo, un cliente, o subir a una App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" +"Ahora tenemos una aplicación que hace algo un poco más interesante. Pero " +"sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta " +"aplicación para su distribución. En [Tutorial 3][tutorial-3], vamos a " +"empaquetar nuestra aplicación como un instalador independiente que podríamos " +"enviar a un amigo, un cliente, o subir a una App Store." +#, fuzzy +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "Tutorial 2 - Hacerlo interesante" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po index 27500519..eb0fcd86 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-3.po @@ -1,313 +1,636 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-18 12:00+0000\n" "Last-Translator: Kamborio \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutorial 3 - Empaquetado para distribución" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#: docs/en/tutorial/tutorial-3.md:3 #, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Hasta ahora, hemos estado ejecutando nuestra aplicación en \"modo desarrollador\". Esto hace que sea fácil para nosotros para ejecutar nuestra aplicación a nivel local - pero lo que realmente queremos es ser capaz de dar a nuestra aplicación a los demás." +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" +"Hasta ahora, hemos estado ejecutando nuestra aplicación en " +"\"modo desarrollador\". Esto hace que sea fácil para nosotros para ejecutar " +"nuestra aplicación a nivel local - pero lo que realmente queremos es ser " +"capaz de dar a nuestra aplicación a los demás." -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#: docs/en/tutorial/tutorial-3.md:7 #, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Sin embargo, no queremos tener que enseñar a nuestros usuarios cómo instalar Python, crear un entorno virtual, clonar un repositorio git y ejecutar Briefcase en modo desarrollador. Preferimos simplemente darles un instalador, y que la aplicación simplemente funcione." +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"Sin embargo, no queremos tener que enseñar a nuestros usuarios cómo instalar " +"Python, crear un entorno virtual, clonar un repositorio git y ejecutar " +"Briefcase en modo desarrollador. Preferimos simplemente darles un " +"instalador, y que la aplicación simplemente funcione." -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#: docs/en/tutorial/tutorial-3.md:12 #, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase puede utilizarse para empaquetar su aplicación y distribuirla de este modo." +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." +msgstr "" +"Briefcase puede utilizarse para empaquetar su aplicación y distribuirla de " +"este modo." -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 #, fuzzy msgid "Creating your application scaffold" msgstr "Creación del andamiaje de aplicaciones" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#: docs/en/tutorial/tutorial-3.md:17 #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Dado que esta es la primera vez que empaquetamos nuestra aplicación, necesitamos crear algunos archivos de configuración y otros andamios para apoyar el proceso de empaquetado. Desde el directorio `helloworld`, ejecuta:" +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "" +"Dado que esta es la primera vez que empaquetamos nuestra aplicación, " +"necesitamos crear algunos archivos de configuración y otros andamios para " +"apoyar el proceso de empaquetado. Desde el directorio `helloworld`, ejecuta:" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" msgstr "" -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +#: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" msgstr "" -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#: docs/en/tutorial/tutorial-3.md:124 #, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Probablemente acabas de ver pasar páginas de contenido en tu terminal... ¿qué acaba de pasar? Briefcase ha hecho lo siguiente:" +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "" +"Probablemente acabas de ver pasar páginas de contenido en tu terminal... ¿" +"qué acaba de pasar? Briefcase ha hecho lo siguiente:" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Se **generó una plantilla de aplicación**. Hay un montón de archivos y configuraciones necesarias para construir un instalador nativo, por encima y más allá del código de su aplicación real. Este andamiaje extra es casi el mismo para cada aplicación en la misma plataforma, excepto por el nombre de la aplicación real que se está construyendo - por lo que Briefcase proporciona una plantilla de aplicación para cada plataforma que soporta. Este paso despliega la plantilla, sustituyendo el nombre de tu aplicación, el ID del paquete y otras propiedades de tu archivo de configuración según sea necesario para soportar la plataforma en la que estás construyendo." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"Se **generó una plantilla de aplicación**. Hay un montón de archivos y " +"configuraciones necesarias para construir un instalador nativo, por encima y " +"más allá del código de su aplicación real. Este andamiaje extra es casi el " +"mismo para cada aplicación en la misma plataforma, excepto por el nombre de " +"la aplicación real que se está construyendo - por lo que Briefcase " +"proporciona una plantilla de aplicación para cada plataforma que soporta. " +"Este paso despliega la plantilla, sustituyendo el nombre de tu aplicación, " +"el ID del paquete y otras propiedades de tu archivo de configuración según " +"sea necesario para soportar la plataforma en la que estás construyendo." + +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Si no está satisfecho con la plantilla proporcionada por Briefcase, puede crear la suya propia. Sin embargo, probablemente no quieras hacerlo hasta que tengas un poco más de experiencia utilizando la plantilla por defecto de Briefcase." +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" +"Si no está satisfecho con la plantilla proporcionada por Briefcase, puede " +"crear la suya propia. Sin embargo, probablemente no quieras hacerlo hasta " +"que tengas un poco más de experiencia utilizando la plantilla por defecto de " +"Briefcase." -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Descargó e instaló un paquete de soporte**. El enfoque de empaquetado adoptado por Briefcase es mejor descrito como \"la cosa más simple que podría funcionar\" - envía un intérprete de Python completo y aislado como parte de cada aplicación que construye. Esto es ligeramente ineficiente en cuanto a espacio - si tiene 5 aplicaciones empaquetadas con Briefcase, tendrá 5 copias del intérprete de Python. Sin embargo, este enfoque garantiza que cada aplicación es completamente independiente, utilizando una versión específica de Python que se sabe que funciona con la aplicación." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"Descargó e instaló un paquete de soporte**. El enfoque de empaquetado " +"adoptado por Briefcase es mejor descrito como " +"\"la cosa más simple que podría funcionar\" - envía un intérprete de Python " +"completo y aislado como parte de cada aplicación que construye. Esto es " +"ligeramente ineficiente en cuanto a espacio - si tiene 5 aplicaciones " +"empaquetadas con Briefcase, tendrá 5 copias del intérprete de Python. Sin " +"embargo, este enfoque garantiza que cada aplicación es completamente " +"independiente, utilizando una versión específica de Python que se sabe que " +"funciona con la aplicación." + +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "De nuevo, Briefcase proporciona un paquete de soporte por defecto para cada plataforma; si lo desea, puede proporcionar su propio paquete de soporte, y hacer que ese paquete se incluya como parte del proceso de compilación. Es posible que desee hacer esto si tiene opciones particulares en el intérprete de Python que necesita tener habilitadas, o si desea eliminar módulos de la biblioteca estándar que no necesita en tiempo de ejecución." +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"De nuevo, Briefcase proporciona un paquete de soporte por defecto para cada " +"plataforma; si lo desea, puede proporcionar su propio paquete de soporte, y " +"hacer que ese paquete se incluya como parte del proceso de compilación. Es " +"posible que desee hacer esto si tiene opciones particulares en el intérprete " +"de Python que necesita tener habilitadas, o si desea eliminar módulos de la " +"biblioteca estándar que no necesita en tiempo de ejecución." -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase mantiene una caché local de paquetes de soporte, por lo que una vez que haya descargado un paquete de soporte específico, esa copia en caché se utilizará en futuras compilaciones." +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "" +"Briefcase mantiene una caché local de paquetes de soporte, por lo que una " +"vez que haya descargado un paquete de soporte específico, esa copia en caché " +"se utilizará en futuras compilaciones." -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." msgstr "" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#: docs/en/tutorial/tutorial-3.md:168 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Se **instalan los requisitos de la aplicación**. Tu aplicación puede especificar cualquier módulo de terceros que se requiera en tiempo de ejecución. Estos serán instalados usando `pip` en el instalador de tu aplicación." +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" +"Se **instalan los requisitos de la aplicación**. Tu aplicación puede " +"especificar cualquier módulo de terceros que se requiera en tiempo de " +"ejecución. Estos serán instalados usando `pip` en el instalador de tu " +"aplicación." -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#: docs/en/tutorial/tutorial-3.md:172 #, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Se **instala el código de tu aplicación**. Tu aplicación tendrá su propio código y recursos (por ejemplo, imágenes que se necesitan en tiempo de ejecución); estos archivos se copian en el instalador." +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "" +"Se **instala el código de tu aplicación**. Tu aplicación tendrá su propio " +"código y recursos (por ejemplo, imágenes que se necesitan en tiempo de " +"ejecución); estos archivos se copian en el instalador." -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#: docs/en/tutorial/tutorial-3.md:176 #, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Por último, añade cualquier recurso adicional que necesite el propio instalador. Esto incluye cosas como iconos que deben adjuntarse a la aplicación final e imágenes de pantalla de bienvenida." +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "" +"Por último, añade cualquier recurso adicional que necesite el propio " +"instalador. Esto incluye cosas como iconos que deben adjuntarse a la " +"aplicación final e imágenes de pantalla de bienvenida." -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#: docs/en/tutorial/tutorial-3.md:181 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Una vez completado esto, si miras en el directorio del proyecto, deberías ver un directorio correspondiente a tu plataforma (`macOS`, `linux`, o `windows`) que contiene archivos adicionales. Esta es la configuración de empaquetado específica de la plataforma para tu aplicación." +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"Una vez completado esto, si miras en el directorio del proyecto, deberías " +"ver un directorio correspondiente a tu plataforma (`macOS`, `linux`, o " +"`windows`) que contiene archivos adicionales. Esta es la configuración de " +"empaquetado específica de la plataforma para tu aplicación." -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 #, fuzzy msgid "Building your application" msgstr "Construir su aplicación" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#: docs/en/tutorial/tutorial-3.md:188 #, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Ahora puede compilar su aplicación. Este paso realiza cualquier compilación binaria que sea necesaria para que su aplicación sea ejecutable en su plataforma de destino." +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "" +"Ahora puede compilar su aplicación. Este paso realiza cualquier compilación " +"binaria que sea necesaria para que su aplicación sea ejecutable en su " +"plataforma de destino." -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#: docs/en/tutorial/tutorial-3.md:205 #, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "En macOS, el comando `build` no necesita *compilar* nada, pero sí necesita firmar el contenido del binario para que pueda ser ejecutado. Esta firma es una firma *ad hoc* - sólo funcionará en *tu* máquina; si quieres distribuir la aplicación a otros, necesitarás proporcionar una firma completa." +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"En macOS, el comando `build` no necesita *compilar* nada, pero sí necesita " +"firmar el contenido del binario para que pueda ser ejecutado. Esta firma es " +"una firma *ad hoc* - sólo funcionará en *tu* máquina; si quieres distribuir " +"la aplicación a otros, necesitarás proporcionar una firma completa." -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#: docs/en/tutorial/tutorial-3.md:239 #, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Una vez completado este paso, la carpeta `build` contendrá una carpeta `helloworld-0.0.1` que contiene una réplica de un sistema de archivos Linux `/usr`. Esta réplica del sistema de archivos contendrá una carpeta `bin` con un binario `helloworld`, además de las carpetas `lib` y `share` necesarias para soportar el binario." +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"Una vez completado este paso, la carpeta `build` contendrá una carpeta " +"`helloworld-0.0.1` que contiene una réplica de un sistema de archivos Linux " +"`/usr`. Esta réplica del sistema de archivos contendrá una carpeta `bin` con " +"un binario `helloworld`, además de las carpetas `lib` y `share` necesarias " +"para soportar el binario." -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#: docs/en/tutorial/tutorial-3.md:256 #, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "En Windows, el comando `build` no necesita *compilar* nada, pero sí escribir algunos metadatos para que la aplicación sepa su nombre, versión, etc." +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "" +"En Windows, el comando `build` no necesita *compilar* nada, pero sí escribir " +"algunos metadatos para que la aplicación sepa su nombre, versión, etc." -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Activación del antivirus" +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#: docs/en/tutorial/tutorial-3.md:262 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Dado que estos metadatos se escriben directamente en el binario precompilado que se despliega desde la plantilla durante el comando `create`, esto puede activar el software antivirus que se ejecuta en su máquina e impedir que se escriban los metadatos. En ese caso, indique al antivirus que permita la ejecución de la herramienta (llamada `rcedit-x64.exe`) y vuelva a ejecutar el comando anterior." +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"Dado que estos metadatos se escriben directamente en el binario precompilado " +"que se despliega desde la plantilla durante el comando `create`, esto puede " +"activar el software antivirus que se ejecuta en su máquina e impedir que se " +"escriban los metadatos. En ese caso, indique al antivirus que permita la " +"ejecución de la herramienta (llamada `rcedit-x64.exe`) y vuelva a ejecutar " +"el comando anterior." -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:273 #, fuzzy msgid "Running your app" msgstr "Ejecutar la aplicación" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 #, fuzzy msgid "You can now use Briefcase to run your application:" msgstr "Ahora puede utilizar Briefcase para ejecutar su aplicación:" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#: docs/en/tutorial/tutorial-3.md:354 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Esto iniciará la ejecución de su aplicación nativa, utilizando la salida del comando `build`." +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." +msgstr "" +"Esto iniciará la ejecución de su aplicación nativa, utilizando la salida del " +"comando `build`." -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#: docs/en/tutorial/tutorial-3.md:357 #, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Es posible que notes algunas pequeñas diferencias en el aspecto de tu aplicación cuando se está ejecutando. Por ejemplo, los iconos y el nombre mostrados por el sistema operativo pueden ser ligeramente diferentes a los que veías cuando se ejecutaba en modo desarrollador. Esto también se debe a que estás utilizando la aplicación empaquetada, no sólo ejecutando código Python. Desde la perspectiva del sistema operativo, ahora estás ejecutando \"una aplicación\", no \"un programa Python\", y esto se refleja en cómo aparece la aplicación." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"Es posible que notes algunas pequeñas diferencias en el aspecto de tu " +"aplicación cuando se está ejecutando. Por ejemplo, los iconos y el nombre " +"mostrados por el sistema operativo pueden ser ligeramente diferentes a los " +"que veías cuando se ejecutaba en modo desarrollador. Esto también se debe a " +"que estás utilizando la aplicación empaquetada, no sólo ejecutando código " +"Python. Desde la perspectiva del sistema operativo, ahora estás ejecutando " +"\"una aplicación\", no \"un programa Python\", y esto se refleja en cómo " +"aparece la aplicación." + +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 #, fuzzy msgid "Building your installer" msgstr "Creación del instalador" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#: docs/en/tutorial/tutorial-3.md:372 #, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Ahora puedes empaquetar tu aplicación para su distribución, utilizando el comando `package`. El comando `package` realiza cualquier compilación necesaria para convertir el proyecto en un producto final y distribuible. Dependiendo de la plataforma, esto puede implicar compilar un instalador, realizar la firma de código, o hacer otras tareas previas a la distribución." +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"Ahora puedes empaquetar tu aplicación para su distribución, utilizando el " +"comando `package`. El comando `package` realiza cualquier compilación " +"necesaria para convertir el proyecto en un producto final y distribuible. " +"Dependiendo de la plataforma, esto puede implicar compilar un instalador, " +"realizar la firma de código, o hacer otras tareas previas a la distribución." -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#: docs/en/tutorial/tutorial-3.md:410 #, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "La carpeta `dist` contendrá un archivo llamado `Hello World-0.0.1.dmg`. Si localizas este archivo en el Finder y haces doble clic en su icono, montarás el DMG, lo que te proporcionará una copia de la aplicación Hello World y un enlace a tu carpeta Aplicaciones para facilitar la instalación. Arrastra el archivo de la aplicación a Aplicaciones, y habrás instalado tu aplicación. Envía el archivo DMG a un amigo y podrá hacer lo mismo." +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"La carpeta `dist` contendrá un archivo llamado `Hello World-0.0.1.dmg`. Si " +"localizas este archivo en el Finder y haces doble clic en su icono, montarás " +"el DMG, lo que te proporcionará una copia de la aplicación Hello World y un " +"enlace a tu carpeta Aplicaciones para facilitar la instalación. Arrastra el " +"archivo de la aplicación a Aplicaciones, y habrás instalado tu aplicación. " +"Envía el archivo DMG a un amigo y podrá hacer lo mismo." -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#: docs/en/tutorial/tutorial-3.md:417 #, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, " +"estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales " +"temporales que sólo funcionarán en tu máquina. Hemos hecho esto para " +"mantener el tutorial simple. Configurar identidades de firma de código es un " +"poco complicado, y sólo son *necesarias* si pretendes distribuir tu " +"aplicación a otros. Si estuviéramos publicando una aplicación real para que " +"otros la usaran, necesitaríamos especificar credenciales reales." -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#: docs/en/tutorial/tutorial-3.md:425 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" +"Cuando esté listo para publicar una aplicación real, consulte la guía " +"práctica de Briefcase sobre " +"[Cómo configurar una identidad de firma de código de macOS]{1}" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#: docs/en/tutorial/tutorial-3.md:433 #, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "La salida del paso paquete será ligeramente diferente dependiendo de su distribución de Linux. Si estás en una distribución derivada de Debian, verás:" +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "" +"La salida del paso paquete será ligeramente diferente dependiendo de su " +"distribución de Linux. Si estás en una distribución derivada de Debian, " +"verás:" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 #, fuzzy msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "La carpeta `dist` contendrá el archivo `.deb` generado." -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 #, fuzzy msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "Si estás en una distribución basada en RHEL, lo verás:" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 #, fuzzy msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "La carpeta `dist` contendrá el archivo `.rpm` generado." -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 #, fuzzy msgid "If you're on an Arch-based distribution, you'll see:" msgstr "Si estás en una distribución basada en Arch, lo verás:" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#: docs/en/tutorial/tutorial-3.md:504 #, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." msgstr "La carpeta `dist` contendrá el archivo `.pkg.tar.zst` generado." -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 #, fuzzy msgid "Other Linux distributions aren't currently supported for packaging." msgstr "Actualmente no es posible empaquetar otras distribuciones de Linux." -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#: docs/en/tutorial/tutorial-3.md:509 #, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Si desea crear un paquete para una distribución de Linux distinta de la que está utilizando, Briefcase también puede ayudarle, pero tendrá que instalar Docker." +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "" +"Si desea crear un paquete para una distribución de Linux distinta de la que " +"está utilizando, Briefcase también puede ayudarle, pero tendrá que instalar " +"Docker." -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#: docs/en/tutorial/tutorial-3.md:513 #, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Existen instaladores oficiales de [Docker Engine]{1} para diversas distribuciones de Unix. Siga las instrucciones para su plataforma; sin embargo, asegúrese de no instalar Docker en modo \"sin raíz\"." +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"Existen instaladores oficiales de [Docker Engine]{1} para diversas " +"distribuciones de Unix. Siga las instrucciones para su plataforma; sin " +"embargo, asegúrese de no instalar Docker en modo \"sin raíz\"." -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#: docs/en/tutorial/tutorial-3.md:517 #, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Una vez que hayas instalado Docker, deberías ser capaz de iniciar un contenedor Linux - por ejemplo:" +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" +msgstr "" +"Una vez que hayas instalado Docker, deberías ser capaz de iniciar un " +"contenedor Linux - por ejemplo:" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#: docs/en/tutorial/tutorial-3.md:524 #, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "te mostrará un prompt Unix (algo como `root@84444e31cff9:/#`) dentro de un contenedor Docker Ubuntu 22.04. Escribe Ctrl-D para salir de Docker y volver a tu shell local." +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"te mostrará un prompt Unix (algo como `root@84444e31cff9:/#`) dentro de un " +"contenedor Docker Ubuntu 22.04. Escribe Ctrl-D para salir de Docker y volver " +"a tu shell local." -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#: docs/en/tutorial/tutorial-3.md:528 #, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Una vez que tengas Docker instalado, puedes usar Briefcase para construir un paquete para cualquier distribución de Linux que soporte Briefcase pasando una imagen Docker como argumento. Por ejemplo, para construir un paquete DEB para Ubuntu 22.04 (Jammy), independientemente del sistema operativo en el que se encuentre, puede ejecutar:" +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"Una vez que tengas Docker instalado, puedes usar Briefcase para construir un " +"paquete para cualquier distribución de Linux que soporte Briefcase pasando " +"una imagen Docker como argumento. Por ejemplo, para construir un paquete DEB " +"para Ubuntu 22.04 (Jammy), independientemente del sistema operativo en el " +"que se encuentre, puede ejecutar:" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#: docs/en/tutorial/tutorial-3.md:538 #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Esto descargará la imagen Docker para el sistema operativo seleccionado, creará un contenedor capaz de ejecutar las compilaciones de Briefcase y compilará el paquete de la aplicación dentro de la imagen. Una vez completado, la carpeta `dist` contendrá el paquete para la distribución Linux de destino." +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"Esto descargará la imagen Docker para el sistema operativo seleccionado, " +"creará un contenedor capaz de ejecutar las compilaciones de Briefcase y " +"compilará el paquete de la aplicación dentro de la imagen. Una vez " +"completado, la carpeta `dist` contendrá el paquete para la distribución " +"Linux de destino." -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#: docs/en/tutorial/tutorial-3.md:575 #, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales temporales que sólo funcionarán en tu máquina. Hemos hecho esto para mantener el tutorial simple. Configurar identidades de firma de código es un poco complicado, y sólo son *necesarias* si pretendes distribuir tu aplicación a otros. Si estuviéramos publicando una aplicación real para que otros la usaran, necesitaríamos especificar credenciales reales." +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"En este ejemplo, hemos utilizado la opción `--adhoc-sign` - es decir, " +"estamos firmando nuestra aplicación con credenciales *ad hoc* - credenciales " +"temporales que sólo funcionarán en tu máquina. Hemos hecho esto para " +"mantener el tutorial simple. Configurar identidades de firma de código es un " +"poco complicado, y sólo son *necesarias* si pretendes distribuir tu " +"aplicación a otros. Si estuviéramos publicando una aplicación real para que " +"otros la usaran, necesitaríamos especificar credenciales reales." -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#: docs/en/tutorial/tutorial-3.md:585 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Cuando esté listo para publicar una aplicación real, consulte la guía práctica de Briefcase sobre [Cómo configurar una identidad de firma de código de macOS]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" +"Cuando esté listo para publicar una aplicación real, consulte la guía " +"práctica de Briefcase sobre " +"[Cómo configurar una identidad de firma de código de macOS]{1}" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#: docs/en/tutorial/tutorial-3.md:589 #, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Una vez completado este paso, la carpeta `dist` contendrá un archivo llamado `Hello_World-0.0.1.msi`. Si haces doble clic en este instalador para ejecutarlo, deberías seguir el proceso de instalación de Windows que ya conoces. Una vez finalizada la instalación, aparecerá una entrada \"Hello World\" en el menú de inicio." +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"Una vez completado este paso, la carpeta `dist` contendrá un archivo llamado " +"`Hello_World-0.0.1.msi`. Si haces doble clic en este instalador para " +"ejecutarlo, deberías seguir el proceso de instalación de Windows que ya " +"conoces. Una vez finalizada la instalación, aparecerá una entrada " +"\"Hello World\" en el menú de inicio." -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Ya tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio. Pero, ¿qué ocurre cuando necesitamos actualizar el código de nuestra aplicación? ¿Cómo introducimos esas actualizaciones en nuestra aplicación empaquetada? Visita [Tutorial 4][./tutorial-4] para averiguarlo..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "Tutorial 3 - Empaquetado para distribución" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po index 3079d068..243c8179 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po @@ -1,172 +1,294 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-18 12:00+0000\n" "Last-Translator: Kamborio \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "Tutorial 4 - Actualización de la aplicación" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#: docs/en/tutorial/tutorial-4.md:3 #, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "En el último tutorial, empaquetamos nuestra aplicación como una aplicación nativa. Si estás tratando con una aplicación del mundo real, eso no va a ser el final de la historia - es probable que hagas algunas pruebas, descubras problemas, y necesites hacer algunos cambios. Incluso si tu aplicación es perfecta, con el tiempo querrás publicar la versión 2 de tu aplicación con mejoras." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" +"En el último tutorial, empaquetamos nuestra aplicación como una aplicación " +"nativa. Si estás tratando con una aplicación del mundo real, eso no va a ser " +"el final de la historia - es probable que hagas algunas pruebas, descubras " +"problemas, y necesites hacer algunos cambios. Incluso si tu aplicación es " +"perfecta, con el tiempo querrás publicar la versión 2 de tu aplicación con " +"mejoras." + +#: docs/en/tutorial/tutorial-4.md:10 #, fuzzy msgid "So - how do you update your installed app when you make code changes?" -msgstr "¿Cómo se actualiza la aplicación instalada cuando se realizan cambios en el código?" +msgstr "" +"¿Cómo se actualiza la aplicación instalada cuando se realizan cambios en el " +"código?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 #, fuzzy msgid "Updating application code" msgstr "Actualización del código de la aplicación" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#: docs/en/tutorial/tutorial-4.md:14 #, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Actualmente, nuestra aplicación imprime en la consola cuando se pulsa el botón. Sin embargo, las aplicaciones GUI no deberían usar la consola para la salida. Necesitan usar diálogos para comunicarse con los usuarios." +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "" +"Actualmente, nuestra aplicación imprime en la consola cuando se pulsa el " +"botón. Sin embargo, las aplicaciones GUI no deberían usar la consola para la " +"salida. Necesitan usar diálogos para comunicarse con los usuarios." -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#: docs/en/tutorial/tutorial-4.md:18 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Vamos a añadir un cuadro de diálogo para decir hola, en lugar de escribir en la consola. Modifica el callback `say_hello` para que se vea así:" +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "" +"Vamos a añadir un cuadro de diálogo para decir hola, en lugar de escribir en " +"la consola. Modifica el callback `say_hello` para que se vea así:" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#: docs/en/tutorial/tutorial-4.md:36 #, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Esto indica a Toga que abra un cuadro de diálogo modal cuando se pulse el botón." +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." +msgstr "" +"Esto indica a Toga que abra un cuadro de diálogo modal cuando se pulse el " +"botón." -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#: docs/en/tutorial/tutorial-4.md:38 #, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Si ejecutas `briefcase dev`, introduces un nombre y pulsas el botón, verás el nuevo cuadro de diálogo:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" +msgstr "" +"Si ejecutas `briefcase dev`, introduces un nombre y pulsas el botón, verás " +"el nuevo cuadro de diálogo:" -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hello World Tutorial 4 diálogo, en macOS" +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Diálogo Hello World Tutorial 4, en Linux" +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Diálogo Hello World Tutorial 4, en Windows" +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:69 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Sin embargo, si ejecutas `briefcase run`, el cuadro de diálogo no aparecerá." +msgstr "" +"Sin embargo, si ejecutas `briefcase run`, el cuadro de diálogo no aparecerá." -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "¿Por qué? Bueno, `briefcase dev` opera ejecutando tu código en su lugar - intenta producir un entorno de ejecución lo más realista posible para tu código, pero no proporciona ni utiliza ninguna de las infraestructuras de la plataforma para empaquetar tu código como una aplicación. Parte del proceso de empaquetar tu aplicación implica copiar tu código *dentro* del paquete de la aplicación - y por el momento, tu aplicación todavía tiene el código antiguo en ella." +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#: docs/en/tutorial/tutorial-4.md:79 #, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Así que - necesitamos decirle a briefcase que actualice tu aplicación, copiando la nueva versión del código. Podríamos *hacerlo* borrando el antiguo directorio de la plataforma y empezando desde cero. Sin embargo, Briefcase proporciona una manera más fácil - usted puede actualizar el código de su aplicación empaquetada existente:" +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" +"Así que - necesitamos decirle a briefcase que actualice tu aplicación, " +"copiando la nueva versión del código. Podríamos *hacerlo* borrando el " +"antiguo directorio de la plataforma y empezando desde cero. Sin embargo, " +"Briefcase proporciona una manera más fácil - usted puede actualizar el " +"código de su aplicación empaquetada existente:" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#: docs/en/tutorial/tutorial-4.md:140 #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Si Briefcase no puede encontrar la plantilla de andamiaje, invocará automáticamente `create` para generar un andamiaje nuevo." +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." +msgstr "" +"Si Briefcase no puede encontrar la plantilla de andamiaje, invocará " +"automáticamente `create` para generar un andamiaje nuevo." -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#: docs/en/tutorial/tutorial-4.md:143 #, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Ahora que hemos actualizado el código del instalador, podemos ejecutar `briefcase build` para volver a compilar la aplicación, `briefcase run` para ejecutar la aplicación actualizada, y `briefcase package` para volver a empaquetar la aplicación para su distribución." +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" +"Ahora que hemos actualizado el código del instalador, podemos ejecutar `" +"briefcase build` para volver a compilar la aplicación, `briefcase run` para " +"ejecutar la aplicación actualizada, y `briefcase package` para volver a " +"empaquetar la aplicación para su distribución." -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#: docs/en/tutorial/tutorial-4.md:148 #, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(usuarios de macOS, recordad que como se indica en [Tutorial 3][tutorial-3], para el tutorial recomendamos ejecutar `briefcase package` con la bandera `--adhoc-sign` para evitar la complejidad de configurar una identidad de firma de código y mantener el tutorial lo más simple posible)" +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" +"(usuarios de macOS, recordad que como se indica en [Tutorial 3][tutorial-3], " +"para el tutorial recomendamos ejecutar `briefcase package` con la bandera " +"`--adhoc-sign` para evitar la complejidad de configurar una identidad de " +"firma de código y mantener el tutorial lo más simple posible)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 #, fuzzy msgid "Update and run in one step" msgstr "Actualizar y ejecutar en un solo paso" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Si estás iterando rápidamente cambios en el código, es probable que quieras hacer un cambio en el código, actualizar la aplicación, y volver a ejecutar inmediatamente tu aplicación. Para la mayoría de los propósitos, el modo desarrollador (`briefcase dev`) será la forma más fácil de hacer este tipo de iteración rápida; sin embargo, si estás probando algo sobre cómo se ejecuta tu aplicación como un binario nativo, o buscando un error que sólo se manifiesta cuando tu aplicación está empaquetada, puede que necesites usar repetidas llamadas a `briefcase run`. Para simplificar el proceso de actualización y ejecución de la aplicación empaquetada, Briefcase tiene un atajo para soportar este patrón de uso - la opción `-u` (o `--update`) en el comando `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"Si estás iterando rápidamente cambios en el código, es probable que quieras " +"hacer un cambio en el código, actualizar la aplicación, y volver a ejecutar " +"inmediatamente tu aplicación. Para la mayoría de los propósitos, el modo " +"desarrollador (`briefcase dev`) será la forma más fácil de hacer este tipo " +"de iteración rápida; sin embargo, si estás probando algo sobre cómo se " +"ejecuta tu aplicación como un binario nativo, o buscando un error que sólo " +"se manifiesta cuando tu aplicación está empaquetada, puede que necesites " +"usar repetidas llamadas a `briefcase run`. Para simplificar el proceso de " +"actualización y ejecución de la aplicación empaquetada, Briefcase tiene un " +"atajo para soportar este patrón de uso - la opción `-u` (o `--update`) en el " +"comando `run`." + +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Intentemos hacer otro cambio. Usted puede haber notado que si no escribe un nombre en el cuadro de entrada de texto, el cuadro de diálogo dirá \"Hola, \". Vamos a modificar la función `say_hello` de nuevo para manejar este caso extremo." +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" +"Intentemos hacer otro cambio. Usted puede haber notado que si no escribe un " +"nombre en el cuadro de entrada de texto, el cuadro de diálogo dirá \"Hola, \"" +". Vamos a modificar la función `say_hello` de nuevo para manejar este caso " +"extremo." -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#: docs/en/tutorial/tutorial-4.md:170 #, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "En la parte superior del fichero, entre las importaciones y la definición de la `clase HelloWorld`, añade un método de utilidad para generar un saludo apropiado dependiendo del valor del nombre que se haya proporcionado:" +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "" +"En la parte superior del fichero, entre las importaciones y la definición de " +"la `clase HelloWorld`, añade un método de utilidad para generar un saludo " +"apropiado dependiendo del valor del nombre que se haya proporcionado:" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "A continuación, modifica la llamada de retorno `say_hello` para utilizar este nuevo método de utilidad:" +msgstr "" +"A continuación, modifica la llamada de retorno `say_hello` para utilizar " +"este nuevo método de utilidad:" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#: docs/en/tutorial/tutorial-4.md:194 #, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Ejecuta tu aplicación en modo desarrollo (con `briefcase dev`) para confirmar que la nueva lógica funciona; después actualiza, compila y ejecuta la aplicación con un solo comando:" +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "" +"Ejecuta tu aplicación en modo desarrollo (con `briefcase dev`) para " +"confirmar que la nueva lógica funciona; después actualiza, compila y ejecuta " +"la aplicación con un solo comando:" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#: docs/en/tutorial/tutorial-4.md:268 #, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "El comando package también acepta el argumento `-u`, de modo que si realizas un cambio en el código de tu aplicación y quieres volver a empaquetarlo inmediatamente, puedes ejecutar `briefcase package -u`." +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" +"El comando package también acepta el argumento `-u`, de modo que si realizas " +"un cambio en el código de tu aplicación y quieres volver a empaquetarlo " +"inmediatamente, puedes ejecutar `briefcase package -u`." -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#: docs/en/tutorial/tutorial-4.md:274 #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Ahora tenemos nuestra aplicación empaquetada para su distribución en plataformas de escritorio, y hemos podido actualizar el código de nuestra aplicación." +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "" +"Ahora tenemos nuestra aplicación empaquetada para su distribución en " +"plataformas de escritorio, y hemos podido actualizar el código de nuestra " +"aplicación." -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Pero, ¿qué pasa con los móviles? En [Tutorial 5][tutorial-5/index], convertiremos nuestra aplicación en una aplicación móvil, y la desplegaremos en un simulador de dispositivos, y en un teléfono." +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "Tutorial 4 - Actualización de la aplicación" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po index d18e5377..893ed0c6 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -1,214 +1,365 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-08-28 16:09+0000\n" "Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutorial 5 - Movilidad: Android" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Ahora, vamos a tomar nuestra aplicación, y desplegarla como una aplicación Android." +#: docs/en/tutorial/tutorial-5/android.md:3 +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." +msgstr "" +"Ahora, vamos a tomar nuestra aplicación, y desplegarla como una aplicación " +"Android." -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "El proceso de despliegue de una aplicación en Android es muy similar al proceso de despliegue como aplicación de escritorio. Briefcase se encarga de instalar las dependencias para Android, incluyendo el SDK de Android, el emulador de Android y un compilador de Java." +#: docs/en/tutorial/tutorial-5/android.md:6 +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"El proceso de despliegue de una aplicación en Android es muy similar al " +"proceso de despliegue como aplicación de escritorio. Briefcase se encarga de " +"instalar las dependencias para Android, incluyendo el SDK de Android, el " +"emulador de Android y un compilador de Java." -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 msgid "Create an Android app and compile it" msgstr "Crear una aplicación Android y compilarla" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Primero, ejecuta el comando `create`. Esto descarga una plantilla de aplicación Android y le añade tu código Python." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Cuando ejecutas `briefcase create android` por primera vez, Briefcase descarga un JDK de Java, y el SDK de Android. El tamaño de los archivos y el tiempo de descarga pueden ser considerables; esto puede llevar un tiempo (10 minutos o más, dependiendo de la velocidad de tu conexión a Internet). Una vez finalizada la descarga, se le pedirá que acepte la licencia del SDK de Android de Google." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Una vez completado esto, tendremos un directorio `build\\helloworld\\android\\gradle` en nuestro proyecto, que contendrá un proyecto Android con una configuración de construcción Gradle. Este proyecto contendrá el código de la aplicación, y un paquete de soporte que contiene el intérprete de Python." - -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "A continuación, podemos utilizar el comando `build` de Briefcase para compilar esto en un archivo de aplicación Android APK." - -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -msgid "Gradle may look stuck" -msgstr "Gradle puede parecer atascado" - -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante el paso `briefcase build android`, Gradle (la herramienta de compilación de la plataforma Android) imprimirá `CONFIGURING: 100%`, y parecerá que no está haciendo nada. No te preocupes, no está atascado - está descargando más componentes del SDK de Android. Dependiendo de la velocidad de su conexión a Internet, esto puede tardar otros 10 minutos (o más). Este retraso sólo debería ocurrir la primera vez que ejecutes `build`; las herramientas se almacenan en caché, y en tu próxima compilación, se utilizarán las versiones almacenadas en caché." +#: docs/en/tutorial/tutorial-5/android.md:13 +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "" +"Primero, ejecuta el comando `create`. Esto descarga una plantilla de " +"aplicación Android y le añade tu código Python." + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 -msgid "Run the app on a virtual device" -msgstr "Ejecutar la aplicación en un dispositivo virtual" +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Ahora estamos listos para ejecutar nuestra aplicación. Puedes utilizar el comando `run` de Briefcase para ejecutar la aplicación en un dispositivo Android. Empecemos ejecutando en un emulador de Android." +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Para ejecutar tu aplicación, ejecuta `briefcase run android`. Al hacerlo, se te pedirá una lista de dispositivos en los que podrías ejecutar la aplicación. El último elemento será siempre una opción para crear un nuevo emulador de Android." +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Ahora podemos elegir el dispositivo deseado. Selecciona la opción \"Crear un nuevo emulador de Android\", y acepta la opción por defecto para el nombre del dispositivo (`beePhone`)." +#: docs/en/tutorial/tutorial-5/android.md:104 +#, fuzzy +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"Cuando ejecutas `briefcase create android` por primera vez, Briefcase " +"descarga un JDK de Java, y el SDK de Android. El tamaño de los archivos y el " +"tiempo de descarga pueden ser considerables; esto puede llevar un tiempo (10 " +"minutos o más, dependiendo de la velocidad de tu conexión a Internet). Una " +"vez finalizada la descarga, se le pedirá que acepte la licencia del SDK de " +"Android de Google." + +#: docs/en/tutorial/tutorial-5/android.md:113 +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"Una vez completado esto, tendremos un directorio `build\\helloworld\\android" +"\\gradle` en nuestro proyecto, que contendrá un proyecto Android con una " +"configuración de construcción Gradle. Este proyecto contendrá el código de " +"la aplicación, y un paquete de soporte que contiene el intérprete de Python." -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` arrancará automáticamente el dispositivo virtual. Cuando el dispositivo esté arrancando, verás el logo de Android:" +#: docs/en/tutorial/tutorial-5/android.md:118 +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "" +"A continuación, podemos utilizar el comando `build` de Briefcase para " +"compilar esto en un archivo de aplicación Android APK." -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -msgid "Android virtual device booting" -msgstr "Arranque del dispositivo virtual Android" +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Una vez que el dispositivo haya terminado de arrancar, Briefcase instalará tu aplicación en el dispositivo. Verás brevemente una pantalla de inicio:" +#: docs/en/tutorial/tutorial-5/android.md:184 +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"Durante el paso `briefcase build android`, Gradle (la herramienta de " +"compilación de la plataforma Android) imprimirá `CONFIGURING: 100%`, y " +"parecerá que no está haciendo nada. No te preocupes, no está atascado - está " +"descargando más componentes del SDK de Android. Dependiendo de la velocidad " +"de su conexión a Internet, esto puede tardar otros 10 minutos (o más). Este " +"retraso sólo debería ocurrir la primera vez que ejecutes `build`; las " +"herramientas se almacenan en caché, y en tu próxima compilación, se " +"utilizarán las versiones almacenadas en caché." + +#: docs/en/tutorial/tutorial-5/android.md:194 +msgid "Run the app on a virtual device" +msgstr "Ejecutar la aplicación en un dispositivo virtual" -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Dispositivo virtual Android totalmente iniciado, en la pantalla del lanzador" +#: docs/en/tutorial/tutorial-5/android.md:196 +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" +"Ahora estamos listos para ejecutar nuestra aplicación. Puedes utilizar el " +"comando `run` de Briefcase para ejecutar la aplicación en un dispositivo " +"Android. Empecemos ejecutando en un emulador de Android." -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "La aplicación se iniciará. Verás una pantalla de bienvenida mientras se inicia la aplicación:" +#: docs/en/tutorial/tutorial-5/android.md:200 +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" +"Para ejecutar tu aplicación, ejecuta `briefcase run android`. Al hacerlo, se " +"te pedirá una lista de dispositivos en los que podrías ejecutar la " +"aplicación. El último elemento será siempre una opción para crear un nuevo " +"emulador de Android." -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -msgid "App splash screen" -msgstr "Pantalla de inicio de la aplicación" +#: docs/en/tutorial/tutorial-5/android.md:246 +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "" +"Ahora podemos elegir el dispositivo deseado. Selecciona la opción " +"\"Crear un nuevo emulador de Android\", y acepta la opción por defecto para " +"el nombre del dispositivo (`beePhone`)." -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -msgid "The emulator didn't start!" -msgstr "¡El emulador no arranca!" +#: docs/en/tutorial/tutorial-5/android.md:250 +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "" +"Briefcase `run` arrancará automáticamente el dispositivo virtual. Cuando el " +"dispositivo esté arrancando, verás el logo de Android:" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "El emulador de Android es un software complejo que depende de una serie de características del hardware y del sistema operativo, características que pueden no estar disponibles o habilitadas en máquinas más antiguas. Si tiene dificultades para iniciar el emulador de Android, consulte la sección [Requerimientos y recomendaciones]{1} de la documentación para desarrolladores de Android." +#: docs/en/tutorial/tutorial-5/android.md:259 +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "" +"Una vez que el dispositivo haya terminado de arrancar, Briefcase instalará " +"tu aplicación en el dispositivo. Verás brevemente una pantalla de inicio:" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "La primera vez que se inicia la aplicación, tiene que desempaquetarse en el dispositivo. Esto puede tardar unos segundos. Una vez desempaquetada, verás la versión para Android de nuestra aplicación de escritorio:" +#: docs/en/tutorial/tutorial-5/android.md:269 +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "" +"La aplicación se iniciará. Verás una pantalla de bienvenida mientras se " +"inicia la aplicación:" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -msgid "App from Tutorial 2, fully launched" -msgstr "Aplicación del Tutorial 2, totalmente lanzada" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -msgid "Demo app fully launched" -msgstr "Lanzamiento completo de la aplicación de demostración" +#: docs/en/tutorial/tutorial-5/android.md:280 +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" +"El emulador de Android es un software complejo que depende de una serie de " +"características del hardware y del sistema operativo, características que " +"pueden no estar disponibles o habilitadas en máquinas más antiguas. Si tiene " +"dificultades para iniciar el emulador de Android, consulte la sección " +"[Requerimientos y recomendaciones]{1} de la documentación para " +"desarrolladores de Android." + +#: docs/en/tutorial/tutorial-5/android.md:290 +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "" +"La primera vez que se inicia la aplicación, tiene que desempaquetarse en el " +"dispositivo. Esto puede tardar unos segundos. Una vez desempaquetada, verás " +"la versión para Android de nuestra aplicación de escritorio:" -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Si no ves que tu aplicación se inicia, es posible que tengas que comprobar el terminal donde ejecutaste `briefcase run` y buscar cualquier mensaje de error." +#: docs/en/tutorial/tutorial-5/android.md:300 +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "" +"Si no ves que tu aplicación se inicia, es posible que tengas que comprobar " +"el terminal donde ejecutaste `briefcase run` y buscar cualquier mensaje de " +"error." -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "En el futuro, si deseas ejecutar en este dispositivo sin usar el menú, puedes proporcionar el nombre del emulador a Briefcase, usando `briefcase run android -d \"@beePhone\"` para ejecutar en el dispositivo virtual directamente." +#: docs/en/tutorial/tutorial-5/android.md:309 +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"En el futuro, si deseas ejecutar en este dispositivo sin usar el menú, " +"puedes proporcionar el nombre del emulador a Briefcase, usando `briefcase " +"run android -d \"@beePhone\"` para ejecutar en el dispositivo virtual " +"directamente." -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 msgid "Run the app on a physical device" msgstr "Ejecutar la aplicación en un dispositivo físico" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Si tienes un teléfono o tableta Android físicos, puedes conectarlos a tu ordenador con un cable USB y, a continuación, utilizar el Maletín para apuntar a tu dispositivo físico." +#: docs/en/tutorial/tutorial-5/android.md:316 +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "" +"Si tienes un teléfono o tableta Android físicos, puedes conectarlos a tu " +"ordenador con un cable USB y, a continuación, utilizar el Maletín para " +"apuntar a tu dispositivo físico." -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android requiere que prepares tu dispositivo antes de que pueda ser utilizado para el desarrollo. Tendrás que realizar 2 cambios en las opciones de tu dispositivo:" +#: docs/en/tutorial/tutorial-5/android.md:320 +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "" +"Android requiere que prepares tu dispositivo antes de que pueda ser " +"utilizado para el desarrollo. Tendrás que realizar 2 cambios en las opciones " +"de tu dispositivo:" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 msgid "Enable developer options" msgstr "Activar opciones de desarrollador" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 msgid "Enable USB debugging" msgstr "Activar la depuración USB" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Los detalles sobre cómo realizar estos cambios se pueden encontrar [en la documentación para desarrolladores de Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Una vez completados estos pasos, tu dispositivo debería aparecer en la lista de dispositivos disponibles cuando ejecutes `briefcase run android`." +#: docs/en/tutorial/tutorial-5/android.md:327 +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" +"Los detalles sobre cómo realizar estos cambios se pueden encontrar " +"[en la documentación para desarrolladores de Android]{1}." -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Aquí podemos ver un nuevo dispositivo físico con su número de serie en la lista de despliegue - en este caso, un Pixel 3a. En el futuro, si desea ejecutar en este dispositivo sin utilizar el menú, puede proporcionar el número de serie del teléfono a Briefcase (en este caso, `briefcase run android -d 94ZZY0LNE8`). Esto se ejecutará en el dispositivo directamente, sin preguntar." +#: docs/en/tutorial/tutorial-5/android.md:330 +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "" +"Una vez completados estos pasos, tu dispositivo debería aparecer en la lista " +"de dispositivos disponibles cuando ejecutes `briefcase run android`." -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -msgid "My device doesn't appear!" -msgstr "¡Mi dispositivo no aparece!" +#: docs/en/tutorial/tutorial-5/android.md:381 +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"Aquí podemos ver un nuevo dispositivo físico con su número de serie en la " +"lista de despliegue - en este caso, un Pixel 3a. En el futuro, si desea " +"ejecutar en este dispositivo sin utilizar el menú, puede proporcionar el " +"número de serie del teléfono a Briefcase (en este caso, `briefcase run " +"android -d 94ZZY0LNE8`). Esto se ejecutará en el dispositivo directamente, " +"sin preguntar." + +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Si tu dispositivo no aparece en esta lista, significa que no has activado la depuración USB (o que el dispositivo no está conectado)." +#: docs/en/tutorial/tutorial-5/android.md:390 +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "" +"Si tu dispositivo no aparece en esta lista, significa que no has activado la " +"depuración USB (o que el dispositivo no está conectado)." -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Si su dispositivo aparece, pero aparece como \"Dispositivo desconocido (no autorizado para el desarrollo)\", el modo de desarrollador no se ha habilitado correctamente. Vuelve a ejecutar [los pasos para habilitar las opciones de desarrollador]{1}, y vuelve a ejecutar `briefcase run android`." +#: docs/en/tutorial/tutorial-5/android.md:393 +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" +"Si su dispositivo aparece, pero aparece como " +"\"Dispositivo desconocido (no autorizado para el desarrollo)\", el modo de " +"desarrollador no se ha habilitado correctamente. Vuelve a ejecutar " +"[los pasos para habilitar las opciones de desarrollador]{1}, y vuelve a " +"ejecutar `briefcase run android`." -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "Tutorial 5 - Movilidad: Android" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po index f74a6122..16718387 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -1,81 +1,146 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-01-17 02:36+0000\n" "Last-Translator: Russell Keith-Magee \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutorial 5 - Para móviles: iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e +#: docs/en/tutorial/tutorial-5/iOS.md:3 #, fuzzy -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." -msgstr "Para compilar aplicaciones para iOS, necesitamos Xcode, que se encuentra disponible de forma gratuita en la [App Store de macOS]{1}. Una vez que Xcode esté instalado, ábrelo desde la carpeta Aplicaciones y acepta el Acuerdo de Licencia de Xcode. A continuación, Xcode mostrará los entornos de simulador que ya vienen integrados y aquellos que puedes descargar. Marca la casilla junto al entorno del simulador de iOS y luego haz clic en \"Continuar\" para descargarlo e instalarlo." - -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." +msgstr "" +"Para compilar aplicaciones para iOS, necesitamos Xcode, que se encuentra " +"disponible de forma gratuita en la [App Store de macOS]{1}. Una vez que " +"Xcode esté instalado, ábrelo desde la carpeta Aplicaciones y acepta el " +"Acuerdo de Licencia de Xcode. A continuación, Xcode mostrará los entornos de " +"simulador que ya vienen integrados y aquellos que puedes descargar. Marca la " +"casilla junto al entorno del simulador de iOS y luego haz clic en " +"\"Continuar\" para descargarlo e instalarlo." + +#: docs/en/tutorial/tutorial-5/iOS.md:13 #, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Una vez que tengamos Xcode instalado, podemos tomar nuestra aplicación e implementarla como una aplicación de iOS." - -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "El proceso de implementación de una aplicación en iOS es muy similar al proceso de implementación como aplicación de escritorio. Primero, ejecuta el comando `create`, pero esta vez especificamos que queremos crear una aplicación para iOS:" +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." +msgstr "" +"Una vez que tengamos Xcode instalado, podemos tomar nuestra aplicación e " +"implementarla como una aplicación de iOS." -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Una vez que esto se complete, tendremos un directorio `build/helloworld/ios/xcode` que contiene un proyecto Xcode, así como las bibliotecas de soporte y el código de aplicación necesario para la aplicación." +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Luego puedes usar Briefcase para compilar tu aplicación usando `briefcase build iOS` (compilar para iOS con Briefcase):" +#: docs/en/tutorial/tutorial-5/iOS.md:46 +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"Una vez que esto se complete, tendremos un directorio `build/helloworld/ios/" +"xcode` que contiene un proyecto Xcode, así como las bibliotecas de soporte y " +"el código de aplicación necesario para la aplicación." -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Ya estamos listos para ejecutar nuestra aplicación, utilizando `briefcase run iOS` (ejecutar iOS con Briefcase). Se te pedirá que selecciones un dispositivo para el cual puedes compilar; si tienes instalados simuladores para varias versiones del SDK de iOS, puede que también se te pregunte a qué versión de iOS quieres apuntar. Las opciones que se le muestren pueden diferir de las que se muestran en esta salida; como mínimo, es probable que la lista de dispositivos sea diferente. Para fines prácticos, no importa qué simulador se elija." +#: docs/en/tutorial/tutorial-5/iOS.md:50 +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "" +"Luego puedes usar Briefcase para compilar tu aplicación usando `briefcase " +"build iOS` (compilar para iOS con Briefcase):" -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Esto iniciará el simulador de iOS, instalará tu aplicación y la iniciará. Vas a observar cómo se inicia el simulador y cómo se abre tu aplicación iOS:" +#: docs/en/tutorial/tutorial-5/iOS.md:66 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"Ya estamos listos para ejecutar nuestra aplicación, utilizando `briefcase " +"run iOS` (ejecutar iOS con Briefcase). Se te pedirá que selecciones un " +"dispositivo para el cual puedes compilar; si tienes instalados simuladores " +"para varias versiones del SDK de iOS, puede que también se te pregunte a qué " +"versión de iOS quieres apuntar. Las opciones que se le muestren pueden " +"diferir de las que se muestran en esta salida; como mínimo, es probable que " +"la lista de dispositivos sea diferente. Para fines prácticos, no importa qué " +"simulador se elija." + +#: docs/en/tutorial/tutorial-5/iOS.md:116 +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "" +"Esto iniciará el simulador de iOS, instalará tu aplicación y la iniciará. " +"Vas a observar cómo se inicia el simulador y cómo se abre tu aplicación iOS:" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Ventana del Tutorial 5 de Hello World, en iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a Briefcase que utilice ese simulador proporcionando una opción `-d` (o `--device`). Utilizando el nombre del dispositivo que seleccionaste cuando creaste tu aplicación, ejecuta:" +#: docs/en/tutorial/tutorial-5/iOS.md:127 +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"Si sabes de antemano a qué simulador iOS quieres dirigirte, puedes decirle a " +"Briefcase que utilice ese simulador proporcionando una opción `-d` (o " +"`--device`). Utilizando el nombre del dispositivo que seleccionaste cuando " +"creaste tu aplicación, ejecuta:" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Si tienes varias versiones de iOS disponibles, Briefcase elegirá la versión de iOS más alta; si quieres elegir una versión de iOS en particular, dile que utilice esa versión específica:" +#: docs/en/tutorial/tutorial-5/iOS.md:136 +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "" +"Si tienes varias versiones de iOS disponibles, Briefcase elegirá la versión " +"de iOS más alta; si quieres elegir una versión de iOS en particular, dile " +"que utilice esa versión específica:" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 msgid "Or, you can name a specific device UDID:" msgstr "O bien, puede nombrar un UDID de dispositivo específico:" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "¡Ya tenemos una aplicación en nuestro teléfono! ¿Hay algún otro lugar donde podamos desplegar una aplicación BeeWare? Visita [Tutorial 6][../tutorial-6] para averiguarlo..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Para compilar aplicaciones de iOS necesitaremos Xcode, que está disponible de forma gratuita en [la App Store de macOS]{1}." +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "Tutorial 5 - Para móviles: iOS" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po index 6293975e..8dd433d0 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -1,46 +1,47 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-18 18:00+0000\n" "Last-Translator: gallegonovato \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" - -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutorial 5 - Móviles" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Hasta ahora, hemos estado ejecutando y probando nuestra aplicación en el escritorio. Sin embargo, BeeWare también es compatible con plataformas móviles, ¡y la aplicación que hemos escrito también puede desplegarse en tu dispositivo móvil!" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "Las aplicaciones de iOS solo pueden compilarse en macOS." +#: docs/en/tutorial/tutorial-5/index.md:3 +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" +msgstr "" +"Hasta ahora, hemos estado ejecutando y probando nuestra aplicación en el " +"escritorio. Sin embargo, BeeWare también es compatible con plataformas " +"móviles, ¡y la aplicación que hemos escrito también puede desplegarse en tu " +"dispositivo móvil!" -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#: docs/en/tutorial/tutorial-5/index.md:9 msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Las aplicaciones Android pueden compilarse en macOS, Windows o Linux." -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[¡Creemos nuestra aplicación para iOS!][iOS]" +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[¡Creemos nuestra aplicación para Android!][android]" +#: docs/en/tutorial/tutorial-5/index.md:13 +msgid "iOS applications can only be compiled on macOS." +msgstr "Las aplicaciones de iOS solo pueden compilarse en macOS." +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "Tutorial 5 - Móviles" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po index 9b2bac86..527e9932 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,101 +2,178 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-18 12:00+0000\n" "Last-Translator: Kamborio \n" "Language-Team: Spanish \n" -"Language: es\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.4-dev\n" -"Generated-By: Babel 2.14.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -#, fuzzy -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - ¡Ponlo en la web!" - -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -#, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Además de ser compatible con plataformas móviles, el conjunto de herramientas de widgets Toga también es compatible con la web Utilizando la misma API que usaste para desplegar tus aplicaciones de escritorio y móviles, puedes desplegar tu aplicación como una aplicación web de una sola página." +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 +#: docs/en/tutorial/tutorial-6.md:3 #, fuzzy -msgid "Proof of Concept" -msgstr "Prueba de concepto" +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." +msgstr "" +"Además de ser compatible con plataformas móviles, el conjunto de " +"herramientas de widgets Toga también es compatible con la web Utilizando la " +"misma API que usaste para desplegar tus aplicaciones de escritorio y " +"móviles, puedes desplegar tu aplicación como una aplicación web de una sola " +"página." + +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +#: docs/en/tutorial/tutorial-6.md:10 #, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "El backend Toga Web es el menos maduro de todos los backends Toga. Es lo suficientemente maduro como para mostrar algunas características, pero es probable que tenga errores, y le faltarán muchos de los widgets que están disponibles en otras plataformas. En este momento, el despliegue Web debe considerarse una \"Prueba de Concepto\" - suficiente para demostrar lo que se puede hacer, pero no lo suficiente como para confiar en él para un desarrollo serio." - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." +msgstr "" +"El backend Toga Web es el menos maduro de todos los backends Toga. Es lo " +"suficientemente maduro como para mostrar algunas características, pero es " +"probable que tenga errores, y le faltarán muchos de los widgets que están " +"disponibles en otras plataformas. En este momento, el despliegue Web debe " +"considerarse una \"Prueba de Concepto\" - suficiente para demostrar lo que " +"se puede hacer, pero no lo suficiente como para confiar en él para un " +"desarrollo serio." + +#: docs/en/tutorial/tutorial-6.md:17 #, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Si tiene problemas con este paso del tutorial, puede pasar a la página siguiente." +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." +msgstr "" +"Si tiene problemas con este paso del tutorial, puede pasar a la página " +"siguiente." + +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#: docs/en/tutorial/tutorial-6.md:22 #, fuzzy msgid "Deploying as a web app" msgstr "Despliegue como aplicación web" -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +#: docs/en/tutorial/tutorial-6.md:24 #, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "El proceso de despliegue de una aplicación web de una sola página sigue el mismo patrón familiar: se crea la aplicación, se compila y se ejecuta. Sin embargo, Briefcase puede ser un poco inteligente; si intentas ejecutar una aplicación, y Briefcase determina que no ha sido creada o construida para la plataforma a la que se dirige, realizará los pasos de creación y construcción por ti. Dado que esta es la primera vez que ejecutamos la aplicación para la web, podemos realizar los tres pasos con un solo comando:" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" +msgstr "" +"El proceso de despliegue de una aplicación web de una sola página sigue el " +"mismo patrón familiar: se crea la aplicación, se compila y se ejecuta. Sin " +"embargo, Briefcase puede ser un poco inteligente; si intentas ejecutar una " +"aplicación, y Briefcase determina que no ha sido creada o construida para la " +"plataforma a la que se dirige, realizará los pasos de creación y " +"construcción por ti. Dado que esta es la primera vez que ejecutamos la " +"aplicación para la web, podemos realizar los tres pasos con un solo comando:" + +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Esto abrirá un navegador web, apuntando a [http://127.0.0.1:8080](http://127.0.0.1:8080):" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Diálogo Hello World Tutorial 6, en un navegador" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#: docs/en/tutorial/tutorial-6.md:156 #, fuzzy msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Si introduce su nombre y pulsa el botón, aparecerá un cuadro de diálogo." +msgstr "" +"Si introduce su nombre y pulsa el botón, aparecerá un cuadro de diálogo." -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#: docs/en/tutorial/tutorial-6.md:158 #, fuzzy msgid "How does this work?" msgstr "¿Como funciona esto?" -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +#: docs/en/tutorial/tutorial-6.md:160 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Esta aplicación web es un sitio web estático - una única página fuente HTML, con algunos CSS y otros recursos. Briefcase ha iniciado un servidor web local para servir esta página y que tu navegador pueda verla. Si quisieras poner esta página web en producción, podrías copiar el contenido de la carpeta `www` en cualquier servidor web que pueda servir contenido estático." +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." +msgstr "" +"Esta aplicación web es un sitio web estático - una única página fuente HTML, " +"con algunos CSS y otros recursos. Briefcase ha iniciado un servidor web " +"local para servir esta página y que tu navegador pueda verla. Si quisieras " +"poner esta página web en producción, podrías copiar el contenido de la " +"carpeta `www` en cualquier servidor web que pueda servir contenido estático." -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +#: docs/en/tutorial/tutorial-6.md:166 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Pero cuando pulsas el botón, estás ejecutando código Python... ¿cómo funciona eso? Toga utiliza [PyScript]{1} para proporcionar un intérprete de Python en el navegador. Briefcase empaqueta el código de tu aplicación como ruedas que PyScript puede cargar en el navegador. Cuando se carga la página, el código de la aplicación se ejecuta en el navegador, construyendo la interfaz de usuario utilizando el DOM del navegador. Cuando pulsas un botón, ese botón ejecuta el código de gestión de eventos en el navegador." - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." +msgstr "" +"Pero cuando pulsas el botón, estás ejecutando código Python... ¿cómo " +"funciona eso? Toga utiliza [PyScript]{1} para proporcionar un intérprete de " +"Python en el navegador. Briefcase empaqueta el código de tu aplicación como " +"ruedas que PyScript puede cargar en el navegador. Cuando se carga la página, " +"el código de la aplicación se ejecuta en el navegador, construyendo la " +"interfaz de usuario utilizando el DOM del navegador. Cuando pulsas un botón, " +"ese botón ejecuta el código de gestión de eventos en el navegador." + +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +#: docs/en/tutorial/tutorial-6.md:176 +#, fuzzy +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." +msgstr "" +"Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, " +"dispositivos móviles y la web, la aplicación es bastante sencilla y no " +"incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python " +"Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7][tutorial-7] " +"para averiguarlo..." + #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, dispositivos móviles y la web, la aplicación es bastante sencilla y no incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7][tutorial-7] para averiguarlo..." +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "Tutorial 6 - ¡Ponlo en la web!" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po index 723a9e04..66875254 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po @@ -1,374 +1,549 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-12 02:04+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutorial 7 - Poner en marcha esta (tercera)fiesta" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#: docs/en/tutorial/tutorial-7.md:3 #, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Hasta ahora, la aplicación que hemos construido sólo ha utilizado nuestro propio código, además del código proporcionado por BeeWare. Sin embargo, en una aplicación del mundo real, es probable que desees utilizar una biblioteca de terceros, descargada del Python Package Index (PyPI)." +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"Hasta ahora, la aplicación que hemos construido sólo ha utilizado nuestro " +"propio código, además del código proporcionado por BeeWare. Sin embargo, en " +"una aplicación del mundo real, es probable que desees utilizar una " +"biblioteca de terceros, descargada del Python Package Index (PyPI)." -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 #, fuzzy msgid "Let's modify our app to include a third-party library." -msgstr "Vamos a modificar nuestra aplicación para incluir una biblioteca de terceros." +msgstr "" +"Vamos a modificar nuestra aplicación para incluir una biblioteca de terceros." -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#: docs/en/tutorial/tutorial-7.md:23 #, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Vamos a añadir una llamada a la API `httpx` a nuestra aplicación. Añade un import al principio de `app.py` para importar `httpx`:" +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "" +"Vamos a añadir una llamada a la API `httpx` a nuestra aplicación. Añade un " +"import al principio de `app.py` para importar `httpx`:" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "Luego modifica el callback `say_hello()` para que se vea así:" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#: docs/en/tutorial/tutorial-7.md:43 #, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Vamos a ejecutar nuestra aplicación actualizada en el modo de desarrollador de Briefcase para comprobar que nuestro cambio ha funcionado." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." +msgstr "" +"Vamos a ejecutar nuestra aplicación actualizada en el modo de desarrollador " +"de Briefcase para comprobar que nuestro cambio ha funcionado." + +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "¿Qué ha pasado? Hemos añadido `httpx` a nuestro *código*, pero no lo hemos añadido a nuestro entorno virtual de desarrollo. Podemos solucionarlo instalando `httpx` con `pip`, y volviendo a ejecutar `briefcase dev`:" +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Cuando introduzcas un nombre y pulses el botón, deberías ver un cuadro de diálogo parecido a:" +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hello World Tutorial 7 diálogo, en macOS" +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#: docs/en/tutorial/tutorial-7.md:126 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Diálogo Hello World Tutorial 7, en Linux" +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"¿Qué ha pasado? Hemos añadido `httpx` a nuestro *código*, pero no lo hemos " +"añadido a nuestro entorno virtual de desarrollo. Podemos solucionarlo " +"instalando `httpx` con `pip`, y volviendo a ejecutar `briefcase dev`:" -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Diálogo Hello World Tutorial 7, en Windows" +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" +"Cuando introduzcas un nombre y pulses el botón, deberías ver un cuadro de " +"diálogo parecido a:" -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#: docs/en/tutorial/tutorial-7.md:192 #, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Ya tenemos una aplicación que funciona, que utiliza una biblioteca de terceros y que se ejecuta en modo de desarrollo" +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" +msgstr "" +"Ya tenemos una aplicación que funciona, que utiliza una biblioteca de " +"terceros y que se ejecuta en modo de desarrollo" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 #, fuzzy msgid "Running the updated app" msgstr "Ejecutar la aplicación actualizada" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Vamos a empaquetar este código de aplicación actualizado como una aplicación independiente. Como hemos hecho cambios en el código, tenemos que seguir los mismos pasos que en [Tutorial 4][tutorial-4]:" +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"Vamos a empaquetar este código de aplicación actualizado como una aplicación " +"independiente. Como hemos hecho cambios en el código, tenemos que seguir los " +"mismos pasos que en [Tutorial 4][tutorial-4]:" -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "Actualice el código en la aplicación empaquetada:" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "Reconstruye la aplicación:" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 msgid "And finally, run the app:" msgstr "Y, por último, ejecute la aplicación:" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola y un cuadro de diálogo de bloqueo:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Fallo de la aplicación Hello World Tutorial 7, en macOS" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" +msgstr "" +"Sin embargo, cuando la aplicación se ejecute, verás un error en la consola y " +"un cuadro de diálogo de bloqueo:" -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Fallo de la aplicación Hello World Tutorial 7, en Windows" +msgstr "" +"Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" -msgstr "Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" +msgstr "" +"Sin embargo, cuando la aplicación se ejecute, verás un error en la consola:" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Una vez más, la aplicación no ha podido iniciarse porque `httpx` ha sido instalado - pero ¿por qué? ¿No hemos instalado ya `httpx`?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Sí, pero sólo en el entorno de desarrollo. Tu entorno de desarrollo es totalmente local a tu máquina - y sólo se activa cuando lo activas explícitamente. Aunque Briefcase tiene un modo de desarrollo, la principal razón por la que utilizarías Briefcase es para empaquetar tu código y poder dárselo a otra persona." +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"Sí, pero sólo en el entorno de desarrollo. Tu entorno de desarrollo es " +"totalmente local a tu máquina - y sólo se activa cuando lo activas " +"explícitamente. Aunque Briefcase tiene un modo de desarrollo, la principal " +"razón por la que utilizarías Briefcase es para empaquetar tu código y poder " +"dárselo a otra persona." -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "La única forma de garantizar que alguien más tenga un entorno Python que contenga todo lo que necesita es construir un entorno Python completamente aislado. Esto significa que hay una instalación de Python completamente aislada, y un conjunto de dependencias completamente aislado. Esto es lo que Briefcase construye cuando ejecutas `briefcase build` - un entorno Python aislado. Esto también explica por qué `httpx` no está instalado - ha sido instalado en tu entorno de *desarrollo*, pero no en la aplicación empaquetada." +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"La única forma de garantizar que alguien más tenga un entorno Python que " +"contenga todo lo que necesita es construir un entorno Python completamente " +"aislado. Esto significa que hay una instalación de Python completamente " +"aislada, y un conjunto de dependencias completamente aislado. Esto es lo que " +"Briefcase construye cuando ejecutas `briefcase build` - un entorno Python " +"aislado. Esto también explica por qué `httpx` no está instalado - ha sido " +"instalado en tu entorno de *desarrollo*, pero no en la aplicación " +"empaquetada." -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Por lo tanto, tenemos que decirle a Briefcase que nuestra aplicación tiene una dependencia externa." +msgstr "" +"Por lo tanto, tenemos que decirle a Briefcase que nuestra aplicación tiene " +"una dependencia externa." -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "Actualización de las dependencias" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "En el directorio raíz de tu aplicación, hay un archivo llamado `pyproject.toml`. Este archivo contiene todos los detalles de configuración de la aplicación que proporcionaste cuando ejecutaste `briefcase new`." +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"En el directorio raíz de tu aplicación, hay un archivo llamado " +"`pyproject.toml`. Este archivo contiene todos los detalles de configuración " +"de la aplicación que proporcionaste cuando ejecutaste `briefcase new`." -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` está dividido en secciones; una de las secciones describe la configuración de tu aplicación:" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" +msgstr "" +"`pyproject.toml` está dividido en secciones; una de las secciones describe " +"la configuración de tu aplicación:" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "La opción `requires` describe las dependencias de nuestra aplicación. Es una lista de cadenas, especificando librerías (y, opcionalmente, versiones) de librerías que quieres que se incluyan con tu app." +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "" +"La opción `requires` describe las dependencias de nuestra aplicación. Es una " +"lista de cadenas, especificando librerías (y, opcionalmente, versiones) de " +"librerías que quieres que se incluyan con tu app." -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "Modifique la configuración `requires` para que diga:" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Al añadir esta opción, le estamos diciendo a Briefcase \"cuando compiles mi aplicación, ejecuta `pip install httpx` en el paquete de la aplicación\". Cualquier cosa que sea una entrada legal para `pip install` se puede utilizar aquí - por lo que podría especificar:" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"Al añadir esta opción, le estamos diciendo a Briefcase \"cuando compiles mi " +"aplicación, ejecuta `pip install httpx` en el paquete de la aplicación\". " +"Cualquier cosa que sea una entrada legal para `pip install` se puede " +"utilizar aquí - por lo que podría especificar:" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Una versión específica de la biblioteca (por ejemplo, `\"httpx==0.19.0\"`);" +msgstr "" +"Una versión específica de la biblioteca (por ejemplo, `\"httpx==0.19.0\"`);" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Un rango de versiones de la biblioteca (por ejemplo, `\"httpx>=0.19\"`);" +msgstr "" +"Un rango de versiones de la biblioteca (por ejemplo, `\"httpx>=0.19\"`);" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Una ruta a un repositorio git (por ejemplo, `\"git+https://github.com/encode/httpx\"`); o bien" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" +msgstr "" +"Una ruta a un repositorio git (por ejemplo, `" +"\"git+https://github.com/encode/httpx\"`); o bien" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#: docs/en/tutorial/tutorial-7.md:519 #, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Una ruta de archivo local (No obstante, ten cuidado: si entregas tu código a otra persona, es probable que esta ruta no exista en su máquina)" +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "" +"Una ruta de archivo local (No obstante, ten cuidado: si entregas tu código a " +"otra persona, es probable que esta ruta no exista en su máquina)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Más abajo en `pyproject.toml`, verás otras secciones que dependen del sistema operativo, como `[tool.briefcase.app.helloworld.macOS]` y `[tool.briefcase.app.helloworld.windows]`. Estas secciones también tienen una configuración `requires`. Estas opciones te permiten definir dependencias adicionales específicas de la plataforma; así, por ejemplo, si necesitas una biblioteca específica de la plataforma para manejar algún aspecto de tu aplicación, puedes especificar esa biblioteca en la sección `requires` específica de la plataforma, y esa opción sólo se utilizará para esa plataforma. Notarás que las librerías `toga` están todas especificadas en la sección `requires` específica de la plataforma - esto es porque las librerías necesarias para mostrar una interfaz de usuario son específicas de la plataforma." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"Más abajo en `pyproject.toml`, verás otras secciones que dependen del " +"sistema operativo, como `[tool.briefcase.app.helloworld.macOS]` y `" +"[tool.briefcase.app.helloworld.windows]`. Estas secciones también tienen una " +"configuración `requires`. Estas opciones te permiten definir dependencias " +"adicionales específicas de la plataforma; así, por ejemplo, si necesitas una " +"biblioteca específica de la plataforma para manejar algún aspecto de tu " +"aplicación, puedes especificar esa biblioteca en la sección `requires` " +"específica de la plataforma, y esa opción sólo se utilizará para esa " +"plataforma. Notarás que las librerías `toga` están todas especificadas en la " +"sección `requires` específica de la plataforma - esto es porque las " +"librerías necesarias para mostrar una interfaz de usuario son específicas de " +"la plataforma." + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "En nuestro caso, queremos que `httpx` se instale en todas las plataformas, por lo que utilizamos el parámetro `requires` a nivel de aplicación. Las dependencias a nivel de aplicación siempre se instalarán; las dependencias específicas de la plataforma se instalan *además* de las dependencias a nivel de aplicación." +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"En nuestro caso, queremos que `httpx` se instale en todas las plataformas, " +"por lo que utilizamos el parámetro `requires` a nivel de aplicación. Las " +"dependencias a nivel de aplicación siempre se instalarán; las dependencias " +"específicas de la plataforma se instalan *además* de las dependencias a " +"nivel de aplicación." -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Ahora que hemos informado a Briefcase sobre nuestros requisitos adicionales, podemos intentar empaquetar nuestra aplicación de nuevo. Asegúrate de que has guardado los cambios en `pyproject.toml`, y luego actualiza tu aplicación de nuevo - esta vez, introduciendo la bandera `-r`. Esto le dice a Briefcase que actualice los requisitos en la aplicación empaquetada:" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"Ahora que hemos informado a Briefcase sobre nuestros requisitos adicionales, " +"podemos intentar empaquetar nuestra aplicación de nuevo. Asegúrate de que " +"has guardado los cambios en `pyproject.toml`, y luego actualiza tu " +"aplicación de nuevo - esta vez, introduciendo la bandera `-r`. Esto le dice " +"a Briefcase que actualice los requisitos en la aplicación empaquetada:" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Una vez que haya actualizado, puede ejecutar `briefcase build` y `briefcase run` - y usted debe ver su aplicación empaquetada, con el nuevo comportamiento de diálogo." +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" +"Una vez que haya actualizado, puede ejecutar `briefcase build` y `briefcase " +"run` - y usted debe ver su aplicación empaquetada, con el nuevo " +"comportamiento de diálogo." + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "La opción `-r` para actualizar los requisitos también es respetada por los comandos `build` y `run`, así que si quieres actualizar, construir y ejecutar en un solo paso, puedes usar `briefcase run -u -r`." +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"La opción `-r` para actualizar los requisitos también es respetada por los " +"comandos `build` y `run`, así que si quieres actualizar, construir y " +"ejecutar en un solo paso, puedes usar `briefcase run -u -r`." -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "En plataformas de escritorio (macOS, Windows, Linux), se puede añadir cualquier `pip`-instalable a sus requisitos. En plataformas móviles y web, [las opciones son ligeramente limitadas]{1}." +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"En plataformas de escritorio (macOS, Windows, Linux), se puede añadir " +"cualquier `pip`-instalable a sus requisitos. En plataformas móviles y web, " +"[las opciones son ligeramente limitadas]{1}." -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#: docs/en/tutorial/tutorial-7.md:719 #, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare puede proporcionar binarios para algunos módulos binarios populares (incluyendo `numpy`, `pandas`, y `cryptography`). Es *normalmente* posible compilar paquetes para plataformas móviles, pero no es fácil de configurar - fuera del alcance de un tutorial introductorio como éste." +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" +"BeeWare puede proporcionar binarios para algunos módulos binarios populares (" +"incluyendo `numpy`, `pandas`, y `cryptography`). Es *normalmente* posible " +"compilar paquetes para plataformas móviles, pero no es fácil de configurar - " +"fuera del alcance de un tutorial introductorio como éste." -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "Acceso a una API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Una tarea común que una aplicación necesitará realizar es hacer una petición a una API web para recuperar datos, y mostrar esos datos al usuario. Esta es una aplicación de juguete, así que no tenemos una API *real* con la que trabajar, así que usaremos la [{JSON} Placeholder API]{1} como fuente de datos." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "El {JSON} Placeholder API tiene una serie de \"falsos\" puntos finales de la API que puede utilizar como datos de prueba. Una de esas API es el punto final `/posts/`, que devuelve entradas de blog falsas. Si abre `https://jsonplaceholder.typicode.com/posts/42` en su navegador, obtendrá una carga útil JSON que describe una única entrada: algo de contenido [Lorum ipsum]{1} para una entrada de blog con ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "La biblioteca estándar de Python contiene todas las herramientas necesarias para acceder a una API. Sin embargo, las API incorporadas son de muy bajo nivel. Son buenas implementaciones del protocolo HTTP, pero requieren que el usuario gestione muchos detalles de bajo nivel, como la redirección de URL, las sesiones, la autenticación y la codificación de la carga útil. Como \"usuario normal de navegador\" probablemente estés acostumbrado a dar por sentado estos detalles, ya que un navegador gestiona estos detalles por ti." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Como resultado, la gente ha desarrollado bibliotecas de terceros que envuelven las APIs integradas y proporcionan una API más simple que se acerca más a la experiencia cotidiana del navegador. Vamos a utilizar una de esas bibliotecas para acceder a la API {JSON} Placeholder - una biblioteca llamada [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Esto cambiará la llamada de retorno `say_hello()` para que cuando sea invocada, lo haga:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "realice una solicitud GET en la API de marcador de posición JSON para obtener el puesto 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "decodificar la respuesta como JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "extraer el cuerpo del mensaje; y" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "incluir el cuerpo de ese mensaje como texto del diálogo." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Algunos paquetes binarios pueden no estar disponibles" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "En resumen; cualquier paquete *puro* de Python (es decir, paquetes que *no* contienen un módulo binario) puede ser utilizado sin dificultad. Sin embargo, si su dependencia contiene un componente binario, debe ser compilado; en este momento, la mayoría de los paquetes de Python no proporcionan soporte de compilación para plataformas que no sean de escritorio." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Ya tenemos una aplicación que utiliza una biblioteca de terceros Sin embargo, te habrás dado cuenta de que cuando pulsas el botón, la aplicación deja de responder. ¿Podemos hacer algo para solucionarlo? Visita [Tutorial 8][tutorial-8] para averiguarlo..." - +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "Tutorial 7 - Poner en marcha esta (tercera-)fiesta" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po index 2b32b197..cf2c52fc 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po @@ -1,368 +1,598 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-12 02:04+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" -"Language: es\n" -"Language-Team: Spanish \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Spanish \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutorial 8 - Suavizar" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." msgstr "" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" +msgstr "" +"Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de " +"eventos `say_hello()` para que se vea así:" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -#, fuzzy -msgid "iOS" -msgstr "Windows" +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A menos que tengas una conexión a Internet *realmente* rápida, puede que notes que cuando pulsas el botón, la GUI de tu aplicación se bloquea un poco. Esto se debe a que la petición web que hemos realizado es *síncrona*. Cuando nuestra aplicación realiza la petición web, espera a que la API devuelva una respuesta antes de continuar. Mientras espera, *no* permite a la aplicación redibujar - y como resultado, la aplicación se bloquea." +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"A menos que tengas una conexión a Internet *realmente* rápida, puede que " +"notes que cuando pulsas el botón, la GUI de tu aplicación se bloquea un " +"poco. Esto se debe a que la petición web que hemos realizado es *síncrona*. " +"Cuando nuestra aplicación realiza la petición web, espera a que la API " +"devuelva una respuesta antes de continuar. Mientras espera, *no* permite a " +"la aplicación redibujar - y como resultado, la aplicación se bloquea." -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +#: docs/en/tutorial/tutorial-8.md:181 #, fuzzy msgid "GUI Event Loops" msgstr "Bucles de eventos GUI" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#: docs/en/tutorial/tutorial-8.md:183 #, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Para entender por qué ocurre esto, tenemos que profundizar en los detalles del funcionamiento de una aplicación GUI. Los detalles varían en función de la plataforma, pero los conceptos de alto nivel son los mismos, independientemente de la plataforma o el entorno GUI que utilices." +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"Para entender por qué ocurre esto, tenemos que profundizar en los detalles " +"del funcionamiento de una aplicación GUI. Los detalles varían en función de " +"la plataforma, pero los conceptos de alto nivel son los mismos, " +"independientemente de la plataforma o el entorno GUI que utilices." -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#: docs/en/tutorial/tutorial-8.md:188 #, fuzzy msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "Una aplicación GUI es, fundamentalmente, un único bucle parecido a:" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Este bucle se llama *Bucle de Evento*. (Estos no son nombres de métodos reales - es una ilustración de lo que está pasando en \"pseudo-código\")." +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "" +"Este bucle se llama *Bucle de Evento*. (Estos no son nombres de métodos " +"reales - es una ilustración de lo que está pasando en \"pseudo-código\")." -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#: docs/en/tutorial/tutorial-8.md:199 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Cuando haces clic en un botón, arrastras una barra de desplazamiento o tecleas una tecla, estás generando un \"evento\". Ese \"evento\" se coloca en una cola, y la aplicación procesará la cola de eventos la próxima vez que tenga la oportunidad de hacerlo. El código de usuario que se activa en respuesta al evento se denomina *manejador de eventos*. Estos manejadores de eventos son invocados como parte de la llamada `process_events()`." +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"Cuando haces clic en un botón, arrastras una barra de desplazamiento o " +"tecleas una tecla, estás generando un \"evento\". Ese \"evento\" se coloca " +"en una cola, y la aplicación procesará la cola de eventos la próxima vez que " +"tenga la oportunidad de hacerlo. El código de usuario que se activa en " +"respuesta al evento se denomina *manejador de eventos*. Estos manejadores de " +"eventos son invocados como parte de la llamada `process_events()`." -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +#: docs/en/tutorial/tutorial-8.md:206 #, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Una vez que una aplicación ha procesado todos los eventos disponibles, `redibujará()` la GUI. Esto tiene en cuenta cualquier cambio que los eventos hayan causado en la pantalla de la aplicación, así como cualquier otra cosa que esté ocurriendo en el sistema operativo - por ejemplo, las ventanas de otra aplicación pueden oscurecer o revelar parte de la ventana de nuestra aplicación, y el redibujado de nuestra aplicación tendrá que reflejar la parte de la ventana que es visible en ese momento." +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"Una vez que una aplicación ha procesado todos los eventos disponibles, " +"`redibujará()` la GUI. Esto tiene en cuenta cualquier cambio que los eventos " +"hayan causado en la pantalla de la aplicación, así como cualquier otra cosa " +"que esté ocurriendo en el sistema operativo - por ejemplo, las ventanas de " +"otra aplicación pueden oscurecer o revelar parte de la ventana de nuestra " +"aplicación, y el redibujado de nuestra aplicación tendrá que reflejar la " +"parte de la ventana que es visible en ese momento." -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +#: docs/en/tutorial/tutorial-8.md:213 #, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "El detalle importante a tener en cuenta: mientras una aplicación está procesando un evento, *no puede redibujar*, y *no puede procesar otros eventos*." +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "" +"El detalle importante a tener en cuenta: mientras una aplicación está " +"procesando un evento, *no puede redibujar*, y *no puede procesar otros " +"eventos*." -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#: docs/en/tutorial/tutorial-8.md:216 #, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Esto significa que cualquier lógica de usuario contenida en un manejador de eventos necesita completarse rápidamente. Cualquier retraso en la finalización del manejador de eventos será observado por el usuario como una ralentización (o detención) en las actualizaciones de la interfaz gráfica de usuario. Si este retraso es lo suficientemente largo, tu sistema operativo puede reportarlo como un problema - los iconos \"beachball\" de macOS y \"spinner\" de Windows son el sistema operativo diciéndote que tu aplicación está tardando demasiado en un manejador de eventos." +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"Esto significa que cualquier lógica de usuario contenida en un manejador de " +"eventos necesita completarse rápidamente. Cualquier retraso en la " +"finalización del manejador de eventos será observado por el usuario como una " +"ralentización (o detención) en las actualizaciones de la interfaz gráfica de " +"usuario. Si este retraso es lo suficientemente largo, tu sistema operativo " +"puede reportarlo como un problema - los iconos \"beachball\" de macOS y " +"\"spinner\" de Windows son el sistema operativo diciéndote que tu aplicación " +"está tardando demasiado en un manejador de eventos." -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +#: docs/en/tutorial/tutorial-8.md:224 #, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Operaciones sencillas como \"actualizar una etiqueta\" o \"volver a calcular el total de las entradas\" son fáciles de completar rápidamente. Sin embargo, hay muchas operaciones que no pueden completarse rápidamente. Si realizas un cálculo matemático complejo, o indexas todos los archivos de un sistema de ficheros, o realizas una petición de red de gran tamaño, no puedes \"hacerlo rápido\": las operaciones son intrínsecamente lentas." +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"Operaciones sencillas como \"actualizar una etiqueta\" o " +"\"volver a calcular el total de las entradas\" son fáciles de completar " +"rápidamente. Sin embargo, hay muchas operaciones que no pueden completarse " +"rápidamente. Si realizas un cálculo matemático complejo, o indexas todos los " +"archivos de un sistema de ficheros, o realizas una petición de red de gran " +"tamaño, no puedes \"hacerlo rápido\": las operaciones son intrínsecamente " +"lentas." -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#: docs/en/tutorial/tutorial-8.md:231 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Entonces, ¿cómo realizar operaciones de larga duración en una aplicación GUI?" +msgstr "" +"Entonces, ¿cómo realizar operaciones de larga duración en una aplicación GUI?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 #, fuzzy msgid "Asynchronous programming" msgstr "Programación asíncrona" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#: docs/en/tutorial/tutorial-8.md:235 #, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Lo que necesitamos es una manera de decirle a una aplicación en medio de un manejador de eventos de larga duración que está bien liberar temporalmente el control de nuevo al bucle de eventos, siempre y cuando podamos reanudar donde lo dejamos. Depende de la aplicación determinar cuándo puede ocurrir esta liberación; pero si la aplicación libera el control al bucle de eventos regularmente, podemos tener un manejador de eventos de larga duración *y* mantener una interfaz de usuario responsiva." +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"Lo que necesitamos es una manera de decirle a una aplicación en medio de un " +"manejador de eventos de larga duración que está bien liberar temporalmente " +"el control de nuevo al bucle de eventos, siempre y cuando podamos reanudar " +"donde lo dejamos. Depende de la aplicación determinar cuándo puede ocurrir " +"esta liberación; pero si la aplicación libera el control al bucle de eventos " +"regularmente, podemos tener un manejador de eventos de larga duración *y* " +"mantener una interfaz de usuario responsiva." -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +#: docs/en/tutorial/tutorial-8.md:242 #, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Podemos hacerlo utilizando *programación asíncrona*. La programación asíncrona es una forma de describir un programa que permite al intérprete ejecutar varias funciones al mismo tiempo, compartiendo recursos entre todas las funciones que se ejecutan simultáneamente." +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" +"Podemos hacerlo utilizando *programación asíncrona*. La programación " +"asíncrona es una forma de describir un programa que permite al intérprete " +"ejecutar varias funciones al mismo tiempo, compartiendo recursos entre todas " +"las funciones que se ejecutan simultáneamente." -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Las funciones asíncronas (conocidas como *corrutinas*) deben declararse explícitamente como asíncronas. También necesitan declarar internamente cuándo existe la oportunidad de cambiar el contexto a otra co-rutina." +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "" +"Las funciones asíncronas (conocidas como *corrutinas*) deben declararse " +"explícitamente como asíncronas. También necesitan declarar internamente " +"cuándo existe la oportunidad de cambiar el contexto a otra co-rutina." -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "En Python, la programación asíncrona se implementa utilizando las palabras clave `async` y `await`, y el módulo [asyncio]{1} de la biblioteca estándar. La palabra clave `async` nos permite declarar que una función es una co-rutina asíncrona. La palabra clave `await` proporciona una forma de declarar cuando existe la oportunidad de cambiar el contexto a otra co-rutina. El módulo [asyncio]{2} proporciona algunas otras herramientas útiles y primitivas para la codificación asíncrona." +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"En Python, la programación asíncrona se implementa utilizando las palabras " +"clave `async` y `await`, y el módulo [asyncio]{1} de la biblioteca estándar. " +"La palabra clave `async` nos permite declarar que una función es una co-" +"rutina asíncrona. La palabra clave `await` proporciona una forma de declarar " +"cuando existe la oportunidad de cambiar el contexto a otra co-rutina. El " +"módulo [asyncio]{2} proporciona algunas otras herramientas útiles y " +"primitivas para la codificación asíncrona." -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "Hacer que el tutorial sea asíncrono" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#: docs/en/tutorial/tutorial-8.md:263 #, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de eventos `say_hello()` para que se vea así:" +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "" +"Para hacer que nuestro tutorial sea asíncrono, modifica el manejador de " +"eventos `say_hello()` para que se vea así:" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" +msgid "" +"There are only three changes to this callback from the previous version:" msgstr "Sólo hay 4 cambios en este código con respecto a la versión anterior:" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#: docs/en/tutorial/tutorial-8.md:284 #, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "El cliente que se crea es un `AsyncClient()` asíncrono, en lugar de un `Client()` síncrono. Esto indica a `httpx` que debe operar en modo asíncrono, en lugar de síncrono." +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"El cliente que se crea es un `AsyncClient()` asíncrono, en lugar de un " +"`Client()` síncrono. Esto indica a `httpx` que debe operar en modo " +"asíncrono, en lugar de síncrono." -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#: docs/en/tutorial/tutorial-8.md:287 #, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "El gestor de contexto utilizado para crear el cliente está marcado como `async`. Esto le indica a Python que existe la oportunidad de liberar el control a medida que se entra y se sale del gestor de contexto." +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "" +"El gestor de contexto utilizado para crear el cliente está marcado como " +"`async`. Esto le indica a Python que existe la oportunidad de liberar el " +"control a medida que se entra y se sale del gestor de contexto." -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga te permite utilizar métodos regulares o co-rutinas asíncronas como manejadores; Toga gestiona todo entre bastidores para asegurarse de que el manejador es invocado o esperado según sea necesario." +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "" +"Toga te permite utilizar métodos regulares o co-rutinas asíncronas como " +"manejadores; Toga gestiona todo entre bastidores para asegurarse de que el " +"manejador es invocado o esperado según sea necesario." -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Si guardas estos cambios y vuelves a ejecutar la aplicación (ya sea con `briefcase dev` en modo desarrollo, o actualizando y volviendo a ejecutar la aplicación empaquetada), no habrá ningún cambio obvio en la aplicación. Sin embargo, al hacer clic en el botón para activar el cuadro de diálogo, puede notar una serie de mejoras sutiles:" +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"Si guardas estos cambios y vuelves a ejecutar la aplicación (ya sea con `" +"briefcase dev` en modo desarrollo, o actualizando y volviendo a ejecutar la " +"aplicación empaquetada), no habrá ningún cambio obvio en la aplicación. Sin " +"embargo, al hacer clic en el botón para activar el cuadro de diálogo, puede " +"notar una serie de mejoras sutiles:" -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#: docs/en/tutorial/tutorial-8.md:314 #, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "El botón vuelve a un estado \"no pulsado\", en lugar de quedar atrapado en un estado \"pulsado\"." +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." +msgstr "" +"El botón vuelve a un estado \"no pulsado\", en lugar de quedar atrapado en " +"un estado \"pulsado\"." -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "El icono \"bola de playa\"/\"spinner\" no aparece" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#: docs/en/tutorial/tutorial-8.md:317 #, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Si mueves o cambias el tamaño de la ventana de la aplicación mientras esperas a que aparezca el cuadro de diálogo, la ventana volverá a dibujarse." +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." +msgstr "" +"Si mueves o cambias el tamaño de la ventana de la aplicación mientras " +"esperas a que aparezca el cuadro de diálogo, la ventana volverá a dibujarse." -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Si intentas abrir el menú de una aplicación, el menú aparecerá inmediatamente." +msgstr "" +"Si intentas abrir el menú de una aplicación, el menú aparecerá " +"inmediatamente." -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "Siguientes pasos" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" -msgstr "Esto ha sido una muestra de lo que puedes hacer con las herramientas proporcionadas por el proyecto BeeWare. En el transcurso de este tutorial, usted tiene:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" +msgstr "" +"Esto ha sido una muestra de lo que puedes hacer con las herramientas " +"proporcionadas por el proyecto BeeWare. En el transcurso de este tutorial, " +"usted tiene:" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "Creado un nuevo proyecto de aplicación GUI;" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "Ejecuta esa aplicación en modo desarrollo;" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "Creé la aplicación como un binario independiente para un sistema operativo de escritorio;" +msgstr "" +"Creé la aplicación como un binario independiente para un sistema operativo " +"de escritorio;" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "Empaquetado de ese proyecto para su distribución a otros;" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "Ejecuta la aplicación en un simulador y/o dispositivo móvil;" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "Ejecute la aplicación como una aplicación web;" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "Has añadido una dependencia de terceros a tu aplicación; y" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "Modificado la aplicación para que siga respondiendo." -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "Entonces - ¿ahora qué?" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." -msgstr "Si quieres ir más allá, hay algunos tutoriales [Tutoriales adicionales][/tutorial/topics/index] que entran en detalle sobre aspectos específicos del desarrollo de aplicaciones." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." +msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -#, fuzzy -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." -msgstr "Si quieres saber más sobre cómo construir interfaces de usuario complejas con Toga, puedes sumergirte en [la documentación de Toga]{1}. Toga también tiene su propio tutorial [demostrando cómo usar varias características del widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." +msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d +#: docs/en/tutorial/tutorial-8.md:393 #, fuzzy -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -msgstr "Si desea saber más sobre las capacidades de Briefcase, puede sumergirse en [la documentación de Briefcase]{1}." - -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Ahora tenemos una aplicación que es ágil y sensible, incluso cuando está esperando en una API lenta. Pero, ¿cómo podemos asegurarnos de que la aplicación sigue funcionando a medida que continuamos desarrollándola? ¿Cómo probamos nuestra aplicación? Visita [Tutorial 9][tutorial-9] para descubrirlo..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "El método se define como `async def`, en lugar de sólo `def`. Esto indica a Python que el método es una co-rutina asíncrona." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "La llamada `get` se hace con una palabra clave `await`. Esto indica a la aplicación que, mientras esperamos la respuesta de la red, puede ceder el control al bucle de eventos." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." +msgstr "" +"Si desea saber más sobre las capacidades de Briefcase, puede sumergirse en " +"[la documentación de Briefcase]{1}." +#, fuzzy +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "Tutorial 8 - Suavizar" diff --git a/locales/fr/LC_MESSAGES/SUMMARY.po b/locales/fr/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/fr/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po index 7bb0d280..9b2f60b8 100644 --- a/locales/fr/LC_MESSAGES/how-to/index.po +++ b/locales/fr/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: fr\n" "Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index 634b8f04..6cfdb4f2 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -1,101 +1,194 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-05-22 02:01+0000\n" "Last-Translator: Hēphaïstos \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Bienvenue dans le didacticiel BeeWare !" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "Bienvenue dans le didacticiel BeeWare ! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 msgid "**Write Python. Run Anywhere.**" msgstr "**Écrire en Python. Exécutez n'importe où.**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Bienvenue à BeeWare ! Dans ce tutoriel, nous allons construire une interface utilisateur graphique en utilisant Python, et la déployer en tant qu'application de bureau, application mobile et application web à page unique. Nous allons également voir comment vous pouvez utiliser les outils de BeeWare pour effectuer certaines tâches courantes pour les développeur d'applications, telles que tester votre application." +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"Bienvenue à BeeWare ! Dans ce tutoriel, nous allons construire une interface " +"utilisateur graphique en utilisant Python, et la déployer en tant " +"qu'application de bureau, application mobile et application web à page " +"unique. Nous allons également voir comment vous pouvez utiliser les outils " +"de BeeWare pour effectuer certaines tâches courantes pour les développeur " +"d'applications, telles que tester votre application." + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Des traductions sont disponibles" +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "Si vous n'êtes pas à l'aise en français, vous pouvez trouver des traductions de ce didacticiel en [English]{1}, [Deutsch]{2}, [Español]{3}, [Português]{4}, and [汉语]{5}." +#: docs/en/index.md:15 +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"Si vous n'êtes pas à l'aise en français, vous pouvez trouver des traductions " +"de ce didacticiel en [English]{1}, [Deutsch]{2}, [Español]{3}, [Português]{4}" +", and [汉语]{5}." + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "Il s'agit d'une traduction automatique !" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Cette version du didacticiel a en partie été générée par une traduction automatique. Nous savons que ce n'est pas la solution idéale, mais nous avons estimé qu'une mauvaise traduction valait mieux que pas de traduction du tout." +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Si vous souhaitez nous aider à améliorer la traduction, n'hésitez pas à nous contacter ! Nous avons un canal `#translations` dans [Discord]{1} ; présentez-vous et nous vous ajouterons à l'équipe de traduction." +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" + +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "" +"Cette version du didacticiel a en partie été générée par une traduction " +"automatique. Nous savons que ce n'est pas la solution idéale, mais nous " +"avons estimé qu'une mauvaise traduction valait mieux que pas de traduction " +"du tout." + +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"Si vous souhaitez nous aider à améliorer la traduction, n'hésitez pas à nous " +"contacter ! Nous avons un canal `#translations` dans [Discord]{1} ; " +"présentez-vous et nous vous ajouterons à l'équipe de traduction." + +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "Il s'agit d'une traduction !" +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Ce document est une traduction de la version anglaise. La traduction a été révisée par des humains, mais des sections plus récentes peuvent être générées par une traduction automatique, ou ne pas être traduites du tout." +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "" +"Ce document est une traduction de la version anglaise. La traduction a été " +"révisée par des humains, mais des sections plus récentes peuvent être " +"générées par une traduction automatique, ou ne pas être traduites du tout." -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:64 msgid "What is BeeWare?" msgstr "Qu'est-ce que BeeWare ?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare n'est pas un produit, un outil ou une bibliothèque unique - c'est une collection d'outils et de bibliothèques, chacun d'entre eux fonctionnant ensemble pour vous aider à écrire des applications Python multiplateformes avec une interface graphique native. Il comprend :" +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"BeeWare n'est pas un produit, un outil ou une bibliothèque unique - c'est " +"une collection d'outils et de bibliothèques, chacun d'entre eux fonctionnant " +"ensemble pour vous aider à écrire des applications Python multiplateformes " +"avec une interface graphique native. Il comprend :" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, une boîte à outils de widgets multiplateforme ;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#: docs/en/index.md:71 #, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, un outil pour empaqueter les projets Python en tant qu'artefacts distribuables pouvant être envoyés aux utilisateurs finaux ;" +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "" +"[Briefcase]{1}, un outil pour empaqueter les projets Python en tant " +"qu'artefacts distribuables pouvant être envoyés aux utilisateurs finaux ;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#: docs/en/index.md:74 #, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Des bibliothèques (telles que [Rubicon ObjC]{1}) pour accéder aux bibliothèques natives des diverses plates-formes ;" +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" +msgstr "" +"Des bibliothèques (telles que [Rubicon ObjC]{1}) pour accéder aux " +"bibliothèques natives des diverses plates-formes ;" -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Des versions pré-compilées de Python pour les plateformes où les programmes d'installation officiels de Python ne sont pas disponibles." +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." +msgstr "" +"Des versions pré-compilées de Python pour les plateformes où les programmes " +"d'installation officiels de Python ne sont pas disponibles." -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "Dans ce tutoriel, nous utiliserons tous ces outils, mais en tant qu'utilisateur, vous n'aurez besoin d'interagir qu'avec les deux premiers (Toga et Briefcase). Cependant, chacun de ces outils peut également être utilisé séparément. Par exemple, vous pouvez utiliser Briefcase pour déployer une application sans utiliser Toga comme boîte à outils GUI." +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"Dans ce tutoriel, nous utiliserons tous ces outils, mais en tant " +"qu'utilisateur, vous n'aurez besoin d'interagir qu'avec les deux premiers (" +"Toga et Briefcase). Cependant, chacun de ces outils peut également être " +"utilisé séparément. Par exemple, vous pouvez utiliser Briefcase pour " +"déployer une application sans utiliser Toga comme boîte à outils GUI." -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "La suite BeeWare est disponible pour macOS, Windows, Linux (avec GTK) ; pour des plateformes mobiles telles qu'Android et iOS ; et pour le Web." +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" +"La suite BeeWare est disponible pour macOS, Windows, Linux (avec GTK) ; pour " +"des plateformes mobiles telles qu'Android et iOS ; et pour le Web." -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "C'est parti !" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Prêt à essayer BeeWare par vous-même ? [Créons une application multiplateforme en Python !][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "Bienvenue dans le didacticiel BeeWare !" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po index 41797195..c1cbe134 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,138 +1,192 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: fr\n" "Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +#: docs/en/tutorial/topics/camera-access.md:3 +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" msgstr "" -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." msgstr "" -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." msgstr "" -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." msgstr "" -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" msgstr "" -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." msgstr "" -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" msgstr "" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +#: docs/en/tutorial/topics/camera-access.md:107 +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." msgstr "" -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." msgstr "" -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." msgstr "" -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." msgstr "" -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." msgstr "" -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#: docs/en/tutorial/topics/camera-access.md:141 +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" msgstr "" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." msgstr "" -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." msgstr "" -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 msgid "Adding more permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po index e04f6929..3859f6eb 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,143 +2,213 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#: docs/en/tutorial/topics/custom-icons.md:3 #, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Jusqu'à présent, notre application utilise l'icône par défaut \"abeille grise\". Comment mettre à jour l'application pour qu'elle utilise notre propre icône ?" +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "" +"Jusqu'à présent, notre application utilise l'icône par défaut " +"\"abeille grise\". Comment mettre à jour l'application pour qu'elle utilise " +"notre propre icône ?" -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 #, fuzzy msgid "Adding an icon" msgstr "Ajouter une icône" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**Bientôt disponible**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Nous avons maintenant une application avec une icône personnalisée sur notre bureau et notre téléphone ! Comment partager cette application avec tout le monde ? Consultez [Tutoriel 11][tutorial-11] pour le découvrir..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutoriel 10 - Créez votre propre application" - -#~ msgid "Next steps" -#~ msgstr "Étapes suivantes" +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." +msgstr "" -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/index.po b/locales/fr/LC_MESSAGES/tutorial/topics/index.po index fd77b17a..f0741380 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/index.po @@ -1,52 +1,54 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: fr\n" "Language-Team: fr \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "" -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "" -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" msgstr "" -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." msgstr "" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" msgstr "" -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" msgstr "" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po index a17ee0c5..03f04e37 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po @@ -1,147 +1,275 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Tutoriel 9 - Temps de test" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#: docs/en/tutorial/topics/testing.md:3 #, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "La plupart des développements de logiciels n'impliquent pas l'écriture d'un nouveau code, mais la modification d'un code existant. S'assurer que le code existant continue à fonctionner comme nous l'attendons est une partie essentielle du processus de développement logiciel. Une façon de s'assurer du comportement de notre application est d'utiliser une *suite de tests*." +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" +"La plupart des développements de logiciels n'impliquent pas l'écriture d'un " +"nouveau code, mais la modification d'un code existant. S'assurer que le code " +"existant continue à fonctionner comme nous l'attendons est une partie " +"essentielle du processus de développement logiciel. Une façon de s'assurer " +"du comportement de notre application est d'utiliser une *suite de tests*." -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 #, fuzzy msgid "Running the test suite" msgstr "Exécution de la suite de tests" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#: docs/en/tutorial/topics/testing.md:10 #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Il s'avère que notre projet possède déjà une suite de tests ! Lorsque nous avons généré notre projet à l'origine, deux répertoires de premier niveau ont été générés : `src` et `tests`. Le dossier `src` contient le code de notre application ; le dossier `tests` contient notre suite de tests. Dans le dossier `tests` se trouve un fichier nommé `test_app.py` avec le contenu suivant: :" +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" +"Il s'avère que notre projet possède déjà une suite de tests ! Lorsque nous " +"avons généré notre projet à l'origine, deux répertoires de premier niveau " +"ont été générés : `src` et `tests`. Le dossier `src` contient le code de " +"notre application ; le dossier `tests` contient notre suite de tests. Dans " +"le dossier `tests` se trouve un fichier nommé `test_app.py` avec le contenu " +"suivant: :" -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#: docs/en/tutorial/topics/testing.md:21 #, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Ceci est un [Pytest]{1} *test case* - un bloc de code qui peut être exécuté pour vérifier un certain comportement de votre application. Dans ce cas, le test est un placeholder, et ne teste rien de notre application - mais c'est un test que nous pouvons effectuer." +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" +"Ceci est un [Pytest]{1} *test case* - un bloc de code qui peut être exécuté " +"pour vérifier un certain comportement de votre application. Dans ce cas, le " +"test est un placeholder, et ne teste rien de notre application - mais c'est " +"un test que nous pouvons effectuer." -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#: docs/en/tutorial/topics/testing.md:26 #, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Nous pouvons lancer cette suite de tests en utilisant l'option `--test` de `briefcase dev`. Comme c'est la première fois que nous lançons des tests, nous devons également passer l'option `-r` pour nous assurer que les exigences de test sont également installées :" +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" +"Nous pouvons lancer cette suite de tests en utilisant l'option `--test` de `" +"briefcase dev`. Comme c'est la première fois que nous lançons des tests, " +"nous devons également passer l'option `-r` pour nous assurer que les " +"exigences de test sont également installées :" -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#: docs/en/tutorial/topics/testing.md:112 #, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Succès ! Nous venons d'exécuter un seul test qui vérifie que les mathématiques Python fonctionnent de la manière attendue (Quel soulagement !)." +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "" +"Succès ! Nous venons d'exécuter un seul test qui vérifie que les " +"mathématiques Python fonctionnent de la manière attendue (Quel soulagement " +"!)." -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#: docs/en/tutorial/topics/testing.md:115 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Remplaçons ce placeholder test par un test pour vérifier que notre méthode `greeting()` se comporte comme nous l'attendons. Remplacez le contenu de `test_app.py` par ce qui suit: :" +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" +"Remplaçons ce placeholder test par un test pour vérifier que notre méthode " +"`greeting()` se comporte comme nous l'attendons. Remplacez le contenu de " +"`test_app.py` par ce qui suit: :" -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#: docs/en/tutorial/topics/testing.md:133 #, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Ceci définit deux nouveaux tests, vérifiant les deux comportements que nous attendons : la sortie lorsqu'un nom est fourni, et la sortie lorsque le nom est vide." +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "" +"Ceci définit deux nouveaux tests, vérifiant les deux comportements que nous " +"attendons : la sortie lorsqu'un nom est fourni, et la sortie lorsque le nom " +"est vide." -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#: docs/en/tutorial/topics/testing.md:137 #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Nous pouvons maintenant réexécuter la suite de tests. Cette fois, nous n'avons pas besoin de fournir l'option `-r`, puisque les pré-requis pour les tests ont déjà été installés ; nous avons seulement besoin d'utiliser l'option `--test` :" +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "" +"Nous pouvons maintenant réexécuter la suite de tests. Cette fois, nous " +"n'avons pas besoin de fournir l'option `-r`, puisque les pré-requis pour les " +"tests ont déjà été installés ; nous avons seulement besoin d'utiliser " +"l'option `--test` :" -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#: docs/en/tutorial/topics/testing.md:199 #, fuzzy msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Excellent ! Notre méthode utilitaire `greeting()` fonctionne comme prévu." +msgstr "" +"Excellent ! Notre méthode utilitaire `greeting()` fonctionne comme prévu." -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 #, fuzzy msgid "Test driven development" msgstr "Développement piloté par les tests" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#: docs/en/tutorial/topics/testing.md:203 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Maintenant que nous disposons d'une suite de tests, nous pouvons l'utiliser pour développer de nouvelles fonctionnalités. Modifions notre application pour avoir un message d'accueil spécial pour un utilisateur particulier. Nous pouvons commencer par ajouter un scénario de test pour le nouveau comportement que nous aimerions voir au bas de `test_app.py`: :" +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" +"Maintenant que nous disposons d'une suite de tests, nous pouvons l'utiliser " +"pour développer de nouvelles fonctionnalités. Modifions notre application " +"pour avoir un message d'accueil spécial pour un utilisateur particulier. " +"Nous pouvons commencer par ajouter un scénario de test pour le nouveau " +"comportement que nous aimerions voir au bas de `test_app.py`: :" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 #, fuzzy msgid "Then, run the test suite with this new test:" msgstr "Ensuite, exécutez la suite de tests avec ce nouveau test :" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#: docs/en/tutorial/topics/testing.md:320 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Cette fois, nous voyons un échec du test - et la sortie explique la source de l'échec : le test attend la sortie \"BeeWare the IDEs of Python !\", mais notre implémentation de `greeting()` retourne \"Hello, Brutus\". Modifions l'implémentation de `greeting()` dans `src/helloworld/app.py` pour avoir le nouveau comportement: :" +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" +"Cette fois, nous voyons un échec du test - et la sortie explique la source " +"de l'échec : le test attend la sortie \"BeeWare the IDEs of Python !\", mais " +"notre implémentation de `greeting()` retourne \"Hello, Brutus\". Modifions " +"l'implémentation de `greeting()` dans `src/helloworld/app.py` pour avoir le " +"nouveau comportement: :" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 #, fuzzy msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Si nous exécutons à nouveau les tests, nous constatons qu'ils sont réussis :" +msgstr "" +"Si nous exécutons à nouveau les tests, nous constatons qu'ils sont réussis :" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 #, fuzzy msgid "Runtime tests" msgstr "Tests d'exécution" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#: docs/en/tutorial/topics/testing.md:400 #, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Jusqu'à présent, nous avons exécuté les tests en mode développement. C'est particulièrement utile lorsque vous développez de nouvelles fonctionnalités, car vous pouvez rapidement itérer sur l'ajout de tests et l'ajout de code pour faire passer ces tests. Cependant, à un moment donné, vous voudrez vérifier que votre code s'exécute correctement dans l'environnement de l'application groupée." +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" +"Jusqu'à présent, nous avons exécuté les tests en mode développement. C'est " +"particulièrement utile lorsque vous développez de nouvelles fonctionnalités, " +"car vous pouvez rapidement itérer sur l'ajout de tests et l'ajout de code " +"pour faire passer ces tests. Cependant, à un moment donné, vous voudrez " +"vérifier que votre code s'exécute correctement dans l'environnement de " +"l'application groupée." -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#: docs/en/tutorial/topics/testing.md:406 #, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Les options `--test` et `-r` peuvent également être passées à la commande `run`. Si vous utilisez `briefcase run --test -r`, la même suite de tests s'exécutera, mais elle s'exécutera dans le paquetage de l'application plutôt que dans votre environnement de développement :" +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" +"Les options `--test` et `-r` peuvent également être passées à la commande " +"`run`. Si vous utilisez `briefcase run --test -r`, la même suite de tests " +"s'exécutera, mais elle s'exécutera dans le paquetage de l'application plutôt " +"que dans votre environnement de développement :" -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#: docs/en/tutorial/topics/testing.md:529 #, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Comme pour `briefcase dev --test`, l'option `-r` n'est nécessaire que la première fois que vous exécutez la suite de tests pour vous assurer que les dépendances des tests sont présentes. Lors des exécutions suivantes, vous pouvez omettre cette option." +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" +"Comme pour `briefcase dev --test`, l'option `-r` n'est nécessaire que la " +"première fois que vous exécutez la suite de tests pour vous assurer que les " +"dépendances des tests sont présentes. Lors des exécutions suivantes, vous " +"pouvez omettre cette option." -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#: docs/en/tutorial/topics/testing.md:533 #, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Vous pouvez également utiliser l'option `--test` sur les backends mobiles : - ainsi `briefcase run iOS --test` et `briefcase run android --test` fonctionneront tous les deux, lançant la suite de tests sur l'appareil mobile que vous avez sélectionné." +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" +"Vous pouvez également utiliser l'option `--test` sur les backends mobiles : -" +" ainsi `briefcase run iOS --test` et `briefcase run android --test` " +"fonctionneront tous les deux, lançant la suite de tests sur l'appareil " +"mobile que vous avez sélectionné." -#~ msgid "Next steps" -#~ msgstr "Étapes suivantes" +#, fuzzy +#~ msgid "Testing times" +#~ msgstr "Tutoriel 9 - Temps de test" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po index 3d0745e6..ea8a6858 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po @@ -1,235 +1,363 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutoriel 0 - Préparons-nous !" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Avant de créer notre première application BeeWare, nous devons nous assurer que nous disposons de tous les prérequis pour le fonctionnement de BeeWare." +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "" +"Avant de créer notre première application BeeWare, nous devons nous assurer " +"que nous disposons de tous les prérequis pour le fonctionnement de BeeWare." -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 msgid "Install Python" msgstr "Installer Python" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 msgid "The first thing we'll need is a working Python interpreter." -msgstr "La première chose dont nous avons besoin est un interpréteur Python fonctionnel." +msgstr "" +"La première chose dont nous avons besoin est un interpréteur Python " +"fonctionnel." -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#: docs/en/tutorial/tutorial-0.md:12 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" +"Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à " +"partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle " +"version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter " +"les versions alpha, beta et release candidates à moins que vous ne sachiez " +"*vraiment* ce que vous faites." -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#: docs/en/tutorial/tutorial-0.md:18 #, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Il existe de nombreuses façons d'installer Python. Vous pouvez installer Python via [homebrew]{1}. Vous pouvez utiliser [pyenv]{2} pour gérer plusieurs installations de Python sur la même machine. Les utilisateurs de Windows peuvent installer Python à partir du Windows App Store. Les utilisateurs ayant une formation en science des données pourraient préfèrer utiliser [Anaconda]{3} ou [Miniconda]{4}." - -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"Il existe de nombreuses façons d'installer Python. Vous pouvez installer " +"Python via [homebrew]{1}. Vous pouvez utiliser [pyenv]{2} pour gérer " +"plusieurs installations de Python sur la même machine. Les utilisateurs de " +"Windows peuvent installer Python à partir du Windows App Store. Les " +"utilisateurs ayant une formation en science des données pourraient préfèrer " +"utiliser [Anaconda]{3} ou [Miniconda]{4}." + +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Si vous êtes sous Linux, vous installerez Python en utilisant le gestionnaire de paquets du système (`apt` sur Debian/Ubuntu/Mint, `dnf` sur Fedora, ou `pacman` sur Arch)." +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"Si vous êtes sous Linux, vous installerez Python en utilisant le " +"gestionnaire de paquets du système (`apt` sur Debian/Ubuntu/Mint, `dnf` sur " +"Fedora, ou `pacman` sur Arch)." -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Vous devez vous assurer que le Python du système est Python 3.8 ou plus récent ; si ce n'est pas le cas (par exemple, Ubuntu 18.04 est livré avec Python 3.6), vous devrez mettre à jour votre distribution Linux vers quelque chose de plus récent." +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"Vous devez vous assurer que le Python du système est Python 3.8 ou plus " +"récent ; si ce n'est pas le cas (par exemple, Ubuntu 18.04 est livré avec " +"Python 3.6), vous devrez mettre à jour votre distribution Linux vers quelque " +"chose de plus récent." -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 msgid "Support for Raspberry Pi is limited at this time." msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à " +"partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle " +"version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter " +"les versions alpha, beta et release candidates à moins que vous ne sachiez " +"*vraiment* ce que vous faites." -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "La prise en charge du Raspberry Pi est limitée pour le moment." -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Si vous êtes sous macOS ou Windows, peu importe *comment* vous avez installé Python – ce qui compte c'est que vous puissiez lancer `python3` à partir de l'invite de commande/terminal de votre système d'exploitation, et obtenir un interpréteur Python fonctionnel." +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"Si vous êtes sous macOS ou Windows, peu importe *comment* vous avez installé " +"Python – ce qui compte c'est que vous puissiez lancer `python3` à partir de " +"l'invite de commande/terminal de votre système d'exploitation, et obtenir un " +"interpréteur Python fonctionnel." -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 msgid "Install dependencies" msgstr "Installer les dépendances" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Ensuite, installez les dépendances supplémentaires nécessaires à votre système d'exploitation :" +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" +msgstr "" +"Ensuite, installez les dépendances supplémentaires nécessaires à votre " +"système d'exploitation :" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 msgid "Building BeeWare apps on macOS requires:" msgstr "La construction d'applications BeeWare sur macOS nécessite :" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." msgstr "" -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Pour permettre le développement local, vous allez devoir installer certains paquets système. La liste des paquets requis varie en fonction de votre distribution :" +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "" +"Pour permettre le développement local, vous allez devoir installer certains " +"paquets système. La liste des paquets requis varie en fonction de votre " +"distribution :" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 #, fuzzy msgid "**Ubuntu / Debian**" msgstr "**Ubuntu 20.04+ / Debian 10+**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 #, fuzzy msgid "**Arch / Manjaro**" msgstr "**Arch, Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 msgid "Building BeeWare apps on Windows requires:" msgstr "La création d'applications BeeWare sur Windows nécessite :" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, un système de contrôle de version. Vous pouvez télécharger Git à partir de [git-scm.com]{1}." +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." +msgstr "" +"**Git**, un système de contrôle de version. Vous pouvez télécharger Git à " +"partir de [git-scm.com]{1}." -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Après avoir installé ces outils, assurez-vous de redémarrer toutes les sessions de terminal. Sous Windows, les nouveaux outils installés ne seront accessibles qu'aux terminaux démarrés *après* la fin de l'installation." +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "" +"Après avoir installé ces outils, assurez-vous de redémarrer toutes les " +"sessions de terminal. Sous Windows, les nouveaux outils installés ne seront " +"accessibles qu'aux terminaux démarrés *après* la fin de l'installation." -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 msgid "Set up a virtual environment" msgstr "Mise en place d'un environnement virtuel" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Nous allons maintenant créer un environnement virtuel – un \"bac à sable\" (sandbox) que nous pouvons utiliser pour isoler notre travail sur ce tutoriel de notre installation Python principale. Si nous installons des paquets dans l'environnement virtuel, notre installation principale de Python (et tout autre projet Python sur notre ordinateur) ne sera pas affectée. Si nous provoquons un désordre complet dans notre environnement virtuel, nous pourrons simplement l'effacer et recommencer, sans affecter aucun autre projet Python sur notre ordinateur, et sans avoir besoin de réinstaller Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"Nous allons maintenant créer un environnement virtuel – un \"bac à sable\" " +"(sandbox) que nous pouvons utiliser pour isoler notre travail sur ce " +"tutoriel de notre installation Python principale. Si nous installons des " +"paquets dans l'environnement virtuel, notre installation principale de " +"Python (et tout autre projet Python sur notre ordinateur) ne sera pas " +"affectée. Si nous provoquons un désordre complet dans notre environnement " +"virtuel, nous pourrons simplement l'effacer et recommencer, sans affecter " +"aucun autre projet Python sur notre ordinateur, et sans avoir besoin de " +"réinstaller Python." + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Erreurs lors de l'exécution de scripts PowerShell" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 msgid "If you're using PowerShell, and you receive the error:" msgstr "Si vous utilisez PowerShell et que vous recevez l'erreur :" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Votre compte Windows n'a pas les autorisations nécessaires pour exécuter des scripts. Pour y remédier :" +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "" +"Votre compte Windows n'a pas les autorisations nécessaires pour exécuter des " +"scripts. Pour y remédier :" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "Exécutez `set-executionpolicy RemoteSigned`" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 msgid "Select `Y` to change the execution policy." msgstr "Sélectionnez \"O\" pour modifier la politique d'exécution." -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Une fois que vous avez fait cela, vous pouvez exécuter à nouveau `beeware-venv\\Scripts\\activate.ps1` dans votre session PowerShell d'origine (ou dans une nouvelle session dans le même répertoire)." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Si cela a fonctionné, votre prompt devrait maintenant être modifié – il devrait avoir un préfixe `(beeware-venv)`. Cela vous permet de savoir que vous êtes actuellement dans votre environnement virtuel BeeWare. Chaque fois que vous travaillerez sur ce tutoriel, vous devrez vous assurer que votre environnement virtuel est activé. Si ce n'est pas le cas, relancez la dernière commande (la commande `activate`) pour réactiver votre environnement." +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"Une fois que vous avez fait cela, vous pouvez exécuter à nouveau `beeware-" +"venv\\Scripts\\activate.ps1` dans votre session PowerShell d'origine (ou " +"dans une nouvelle session dans le même répertoire)." -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Environnements virtuels alternatifs" +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"Si cela a fonctionné, votre prompt devrait maintenant être modifié – il " +"devrait avoir un préfixe `(beeware-venv)`. Cela vous permet de savoir que " +"vous êtes actuellement dans votre environnement virtuel BeeWare. Chaque fois " +"que vous travaillerez sur ce tutoriel, vous devrez vous assurer que votre " +"environnement virtuel est activé. Si ce n'est pas le cas, relancez la " +"dernière commande (la commande `activate`) pour réactiver votre " +"environnement." + +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Si vous utilisez Anaconda ou miniconda, vous êtes peut-être plus familier avec l'utilisation des environnements conda. Vous avez peut-être aussi entendu parler de `virtualenv`, un prédécesseur du module intégré `venv` de Python. De même pour les installations de Python – si vous êtes sous macOS ou Windows, peu importe *comment* vous créez votre environnement virtuel, tant que vous en avez un. Si vous êtes sous Linux, vous devriez vous en tenir à `venv` et au Python du système." +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Nous avons maintenant mis en place notre environnement. Nous sommes prêts à [créer notre première application BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Exécutez Windows PowerShell en tant qu'administrateur." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, un système de contrôle de version. Il est inclus dans Xcode ou dans les outils de développement en ligne de commande, que vous avez installés précédemment." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distributions alternatives de Python" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Si vous êtes sous Linux, vous devez utiliser le Python fourni par votre système d'exploitation. Vous pourrez réaliser *la majeure partie* de ce tutoriel en utilisant un Python non système, mais vous ne pourrez pas empaqueter votre application pour la distribuer à d'autres." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Si vous utilisez macOS, une version récente de Python est incluse dans Xcode ou dans les outils de développement en ligne de commande. Pour vérifier si vous l'avez déjà, exécutez la commande suivante :" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Si Python est installé, vous verrez son numéro de version. Sinon, vous serez invité à installer les outils de développement en ligne de commande." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Si vous êtes sous Windows, vous pouvez obtenir l'installateur officiel à partir du [site web de Python]{1}. Vous pouvez utiliser n'importe quelle version stable de Python à partir de la 3.8. Nous vous conseillons d'éviter les versions alpha, beta et release candidates à moins que vous ne sachiez *vraiment* ce que vous faites." +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "" +"Nous avons maintenant mis en place notre environnement. Nous sommes prêts à " +"[créer notre première application BeeWare][tutorial-1]." +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "Tutoriel 0 - Préparons-nous !" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po index e586f217..778e2bf4 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po @@ -1,191 +1,315 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Charles Bousseau \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutoriel 1 - Votre première application" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 msgid "We're ready to create our first application." msgstr "Nous sommes prêts à créer notre première application." -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 msgid "Install the BeeWare tools" msgstr "Installer les outils BeeWare" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Tout d'abord, nous devons installer **Briefcase**. Briefcase est un outil BeeWare qui peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux – mais il peut également être utilisé pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire `beeware-tutorial` que vous avez créé lors du [Tutorial 0][tutorial-0], avec l'environnement virtuel `beeware-venv` activé, et exécutez :" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Erreurs possibles lors de l'installation" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Si vous rencontrez des erreurs pendant l'installation, c'est très certainement parce que certains des prérequis du système n'ont pas été installés. Assurez-vous d'avoir [installé tous les prérequis de la plateforme ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "Il est important que vous utilisiez `python -m pip`, plutôt qu'un simple `pip`. Briefcase doit s'assurer qu'il a une version à jour de `pip` et de `setuptools`, et une simple utilisation de `pip` ne peut pas se mettre à jour d'elle-même. Si vous voulez en savoir plus, [Brett Cannon a publié un billet de blog détaillé sur ce sujet]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"Tout d'abord, nous devons installer **Briefcase**. Briefcase est un outil " +"BeeWare qui peut être utilisé pour empaqueter votre application afin de la " +"distribuer aux utilisateurs finaux – mais il peut également être utilisé " +"pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire " +"`beeware-tutorial` que vous avez créé lors du [Tutorial 0][tutorial-0], avec " +"l'environnement virtuel `beeware-venv` activé, et exécutez :" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"Il est important que vous utilisiez `python -m pip`, plutôt qu'un simple " +"`pip`. Briefcase doit s'assurer qu'il a une version à jour de `pip` et de " +"`setuptools`, et une simple utilisation de `pip` ne peut pas se mettre à " +"jour d'elle-même. Si vous voulez en savoir plus, " +"[Brett Cannon a publié un billet de blog détaillé sur ce sujet]{1}." + +#: docs/en/tutorial/tutorial-1.md:57 msgid "Bootstrap a new project" msgstr "Créer un nouveau projet" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Commençons notre premier projet BeeWare ! Nous allons utiliser la commande `new` de Briefcase pour créer une application appelée **Hello World**. Exécutez la commande suivante à partir de votre invite de commande :" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase nous demandera quelques détails sur notre nouvelle application. Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :" +#: docs/en/tutorial/tutorial-1.md:87 +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "" +"Briefcase nous demandera quelques détails sur notre nouvelle application. " +"Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "**Formal Name** (Nom formel) – Acceptez la valeur par défaut : `Hello World`." +msgstr "" +"**Formal Name** (Nom formel) – Acceptez la valeur par défaut : `Hello World`." -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "**App Name** (Nom de l'application) - Acceptez la valeur par défaut : `helloworld`." +msgstr "" +"**App Name** (Nom de l'application) - Acceptez la valeur par défaut : " +"`helloworld`." -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#: docs/en/tutorial/tutorial-1.md:92 #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Si vous possédez votre propre domaine, entrez ce domaine en ordre inverse. (Par exemple, si vous possédez le domaine \"cupcakes.com\", entrez `com.cupcakes` comme bundle). Si vous ne possédez pas votre propre domaine, acceptez le bundle par défaut (`com.example`)." +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" +"**Bundle** - Si vous possédez votre propre domaine, entrez ce domaine en " +"ordre inverse. (Par exemple, si vous possédez le domaine \"cupcakes.com\", " +"entrez `com.cupcakes` comme bundle). Si vous ne possédez pas votre propre " +"domaine, acceptez le bundle par défaut (`com.example`)." -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "**Project Name** (Nom du projet) - Acceptez la valeur par défaut : `Hello World`." +msgstr "" +"**Project Name** (Nom du projet) - Acceptez la valeur par défaut : `Hello " +"World`." -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +#: docs/en/tutorial/tutorial-1.md:97 #, fuzzy -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Description** - Acceptez la valeur par défaut (ou, si vous voulez être vraiment créatif, trouvez votre propre description !)" +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "" +"**Description** - Acceptez la valeur par défaut (ou, si vous voulez être " +"vraiment créatif, trouvez votre propre description !)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 msgid "**Author** - Enter your own name here." msgstr "** Author** (Auteur) - Entrez votre propre nom ici." -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#: docs/en/tutorial/tutorial-1.md:100 #, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Author's email** (adresse email) - Entrez votre propre adresse email. Elle sera utilisée dans le fichier de configuration, dans le texte d'aide, et partout où un email est requis lors de la soumission de l'application à un app store (magasin d'applications)." +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "" +"**Author's email** (adresse email) - Entrez votre propre adresse email. Elle " +"sera utilisée dans le fichier de configuration, dans le texte d'aide, et " +"partout où un email est requis lors de la soumission de l'application à un " +"app store (magasin d'applications)." -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#: docs/en/tutorial/tutorial-1.md:103 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - L'URL de la page d'accueil de votre application. Encore une fois, si vous possédez votre propre domaine, entrez une URL sur ce domaine (y compris le `https://`). Sinon, acceptez l'URL par défaut (`https://example.com/helloworld`). Cette URL n'a pas besoin d'exister (pour l'instant) ; elle ne sera utilisée que si vous publiez votre application dans un magasin d'applications." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" +"**URL** - L'URL de la page d'accueil de votre application. Encore une fois, " +"si vous possédez votre propre domaine, entrez une URL sur ce domaine (y " +"compris le `https://`). Sinon, acceptez l'URL par défaut (`https://" +"example.com/helloworld`). Cette URL n'a pas besoin d'exister (pour l'instant)" +" ; elle ne sera utilisée que si vous publiez votre application dans un " +"magasin d'applications." + +#: docs/en/tutorial/tutorial-1.md:109 #, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**License** (Licence) - Acceptez la licence par défaut (BSD). Cela n'affecte en rien le fonctionnement du tutoriel, donc si vous avez des opinions fortes à ce sujet, n'hésitez pas à en choisir une autre." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI framework** (framework d'interface utilisateur graphique) - Acceptez l'option par défaut, Toga (la boîte à outils GUI de BeeWare)." +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" +"**License** (Licence) - Acceptez la licence par défaut (BSD). Cela n'affecte " +"en rien le fonctionnement du tutoriel, donc si vous avez des opinions fortes " +"à ce sujet, n'hésitez pas à en choisir une autre." -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase va alors générer un squelette de projet que vous pourrez utiliser. Si vous avez suivi ce tutoriel jusqu'ici, et accepté les paramètres par défaut tels que décrits, votre système de fichiers devrait ressembler à quelque chose comme ceci :" +#: docs/en/tutorial/tutorial-1.md:113 +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." +msgstr "" +"**GUI framework** (framework d'interface utilisateur graphique) - Acceptez " +"l'option par défaut, Toga (la boîte à outils GUI de BeeWare)." -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Ce squelette est en fait une application pleinement fonctionnelle, sans avoir rien à ajouter d'autre. Le dossier `src` contient tout le code de l'application, le dossier `tests` contient une suite de tests initiale, et le fichier `pyproject.toml` décrit comment empaqueter l'application pour la distribuer. Si vous ouvrez `pyproject.toml` dans un éditeur, vous verrez les détails de la configuration que vous venez de fournir à Briefcase." +#: docs/en/tutorial/tutorial-1.md:116 +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" +"Briefcase va alors générer un squelette de projet que vous pourrez utiliser. " +"Si vous avez suivi ce tutoriel jusqu'ici, et accepté les paramètres par " +"défaut tels que décrits, votre système de fichiers devrait ressembler à " +"quelque chose comme ceci :" -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Maintenant que nous avons une ébauche d'application, nous pouvons utiliser Briefcase pour l'exécuter." +#: docs/en/tutorial/tutorial-1.md:142 +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" +"Ce squelette est en fait une application pleinement fonctionnelle, sans " +"avoir rien à ajouter d'autre. Le dossier `src` contient tout le code de " +"l'application, le dossier `tests` contient une suite de tests initiale, et " +"le fichier `pyproject.toml` décrit comment empaqueter l'application pour la " +"distribuer. Si vous ouvrez `pyproject.toml` dans un éditeur, vous verrez les " +"détails de la configuration que vous venez de fournir à Briefcase." + +#: docs/en/tutorial/tutorial-1.md:149 +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." +msgstr "" +"Maintenant que nous avons une ébauche d'application, nous pouvons utiliser " +"Briefcase pour l'exécuter." -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 msgid "Run the app in developer mode" msgstr "Exécuter l'application en mode développeur" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Entrez dans le répertoire du projet `helloworld` et faites démarrer le projet en mode développeur (ou `dev`) par briefcase :" +#: docs/en/tutorial/tutorial-1.md:154 +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "" +"Entrez dans le répertoire du projet `helloworld` et faites démarrer le " +"projet en mode développeur (ou `dev`) par briefcase :" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 msgid "This should open a GUI window:" msgstr "Cela devrait ouvrir une fenêtre GUI :" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Fenêtre Tutoriel 1 Hello World, sur macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Fenêtre Tutoriel 1 Hello World, sous Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Fenêtre Tutoriel 1 Hello World, sur Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -#, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Appuyez sur le bouton de fermeture (ou sélectionnez Quitter dans le menu d'application), et c'est terminé ! Félicitations, vous venez d'écrire une application native et autonome en Python !" +#: docs/en/tutorial/tutorial-1.md:248 +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "" -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Nous avons maintenant une application fonctionnelle, s'exécutant en mode développeur. Nous pouvons maintenant ajouter notre propre logique pour que notre application fasse quelque chose d'un peu plus intéressant. Dans [Tutoriel 2][tutorial-2], nous allons ajouter à notre application une interface utilisateur plus utile." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "L'un des outils de BeeWare est **Briefcase**. Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer aux utilisateurs finaux, mais il peut également être utilisé pour démarrer un nouveau projet." - +#: docs/en/tutorial/tutorial-1.md:256 +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" +"Nous avons maintenant une application fonctionnelle, s'exécutant en mode " +"développeur. Nous pouvons maintenant ajouter notre propre logique pour que " +"notre application fasse quelque chose d'un peu plus intéressant. Dans " +"[Tutoriel 2][tutorial-2], nous allons ajouter à notre application une " +"interface utilisateur plus utile." + +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "Tutoriel 1 - Votre première application" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po index e700315c..ab8e3bdb 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -1,262 +1,468 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Charles Bousseau \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutoriel 2 - Rendre les choses intéressantes" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "Dans le [Tutoriel 1][tutorial-1], nous avons généré une ébauche de projet capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. Jetons un coup d'œil à ce qui a été généré pour nous." +#: docs/en/tutorial/tutorial-2.md:3 +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" +"Dans le [Tutoriel 1][tutorial-1], nous avons généré une ébauche de projet " +"capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. " +"Jetons un coup d'œil à ce qui a été généré pour nous." -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 msgid "What was generated" msgstr "Ce qui a été généré" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "Dans le répertoire `src/helloworld`, vous devriez voir 3 fichiers : `__init__.py`, `__main__.py` et `app.py`." +#: docs/en/tutorial/tutorial-2.md:9 +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" +"Dans le répertoire `src/helloworld`, vous devriez voir 3 fichiers : " +"`__init__.py`, `__main__.py` et `app.py`." -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` marque le répertoire `helloworld` comme un module Python importable. C'est un fichier vide ; le simple fait qu'il existe indique à l'interpréteur Python que le répertoire `helloworld` définit un module." +#: docs/en/tutorial/tutorial-2.md:12 +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` marque le répertoire `helloworld` comme un module Python " +"importable. C'est un fichier vide ; le simple fait qu'il existe indique à " +"l'interpréteur Python que le répertoire `helloworld` définit un module." -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "Le fichier `__main__.py` marque le module `helloworld` comme un type spécial de module - un module exécutable. Si vous essayez d'exécuter le module `helloworld'' en utilisant `python -m helloworld'', le fichier `__main__.py` est l'endroit où Python commencera à s'exécuter. Le contenu de `__main__.py` est relativement simple :" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#: docs/en/tutorial/tutorial-2.md:31 #, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Il importe la méthode `main` de l'application `helloworld`, et s'il est exécuté en tant que point d'entrée, il appelle la méthode main(), et démarre la boucle principale de l'application. La boucle principale est la façon dont une application GUI écoute les entrées de l'utilisateur (comme les clics de souris et les pressions sur le clavier)." +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" +"Il importe la méthode `main` de l'application `helloworld`, et s'il est " +"exécuté en tant que point d'entrée, il appelle la méthode main(), et démarre " +"la boucle principale de l'application. La boucle principale est la façon " +"dont une application GUI écoute les entrées de l'utilisateur (comme les " +"clics de souris et les pressions sur le clavier)." -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "Le fichier le plus intéressant est `app.py` - il contient la logique responsable de la création de notre fenêtre d'application :" +#: docs/en/tutorial/tutorial-2.md:35 +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" +msgstr "" +"Le fichier le plus intéressant est `app.py` - il contient la logique " +"responsable de la création de notre fenêtre d'application :" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 msgid "Let's go through this line by line:" msgstr "Examinons-le ligne par ligne :" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#: docs/en/tutorial/tutorial-2.md:61 #, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Tout d'abord, nous importons la boîte à outils `toga`, ainsi que quelques classes et constantes utilitaires liées au style. Notre code ne les utilise pas encore, mais nous les utiliserons bientôt." +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "" +"Tout d'abord, nous importons la boîte à outils `toga`, ainsi que quelques " +"classes et constantes utilitaires liées au style. Notre code ne les utilise " +"pas encore, mais nous les utiliserons bientôt." -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 msgid "Then, we define a class:" msgstr "Ensuite, nous définissons une classe :" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Chaque application Toga possède une seule instance `toga.App`, représentant l'entité en cours d'exécution, c'est-à-dire notre application. L'application peut gérer plusieurs fenêtres, mais pour les applications simples, il n'y aura qu'une seule fenêtre principale." +#: docs/en/tutorial/tutorial-2.md:71 +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"Chaque application Toga possède une seule instance `toga.App`, représentant " +"l'entité en cours d'exécution, c'est-à-dire notre application. L'application " +"peut gérer plusieurs fenêtres, mais pour les applications simples, il n'y " +"aura qu'une seule fenêtre principale." -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 msgid "Next, we define a `startup()` method:" msgstr "Ensuite, nous définissons une méthode de démarrage `startup()` :" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "La première chose que fait la méthode de démarrage est de définir une boîte principale. Le schéma de présentation de Toga est similaire à celui du HTML. Vous construisez une application en construisant une collection de boîtes, chacune d'entre elles contenant d'autres boîtes, ou de véritables widgets. Vous appliquez ensuite des styles à ces boîtes pour définir la manière dont elles utiliseront l'espace disponible dans la fenêtre." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "Dans cette application, nous définissons une seule boîte, mais nous n'y mettons rien." +#: docs/en/tutorial/tutorial-2.md:83 +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" +"La première chose que fait la méthode de démarrage est de définir une boîte " +"principale. Le schéma de présentation de Toga est similaire à celui du HTML. " +"Vous construisez une application en construisant une collection de boîtes, " +"chacune d'entre elles contenant d'autres boîtes, ou de véritables widgets. " +"Vous appliquez ensuite des styles à ces boîtes pour définir la manière dont " +"elles utiliseront l'espace disponible dans la fenêtre." + +#: docs/en/tutorial/tutorial-2.md:89 +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." +msgstr "" +"Dans cette application, nous définissons une seule boîte, mais nous n'y " +"mettons rien." -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 msgid "Next, we define a window into which we can put this empty box:" -msgstr "Ensuite, nous définissons une fenêtre dans laquelle nous pouvons placer cette boîte vide :" +msgstr "" +"Ensuite, nous définissons une fenêtre dans laquelle nous pouvons placer " +"cette boîte vide :" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#: docs/en/tutorial/tutorial-2.md:98 #, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Cela crée une instance de `toga.MainWindow`, qui aura un titre correspondant au nom de l'application. Une fenêtre principale est un type spécial de fenêtre dans Toga - c'est une fenêtre qui est étroitement liée au cycle de vie de l'application. Lorsque la fenêtre principale est fermée, l'application se termine. La fenêtre principale est également la fenêtre qui contient le menu de l'application (si vous êtes sur une plateforme comme Windows où les barres de menu font partie des fenêtres)." +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"Cela crée une instance de `toga.MainWindow`, qui aura un titre correspondant " +"au nom de l'application. Une fenêtre principale est un type spécial de " +"fenêtre dans Toga - c'est une fenêtre qui est étroitement liée au cycle de " +"vie de l'application. Lorsque la fenêtre principale est fermée, " +"l'application se termine. La fenêtre principale est également la fenêtre qui " +"contient le menu de l'application (si vous êtes sur une plateforme comme " +"Windows où les barres de menu font partie des fenêtres)." + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Nous ajoutons ensuite notre boîte vide au contenu de la fenêtre principale et demandons à l'application d'afficher notre fenêtre :" +#: docs/en/tutorial/tutorial-2.md:115 +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" +msgstr "" +"Nous ajoutons ensuite notre boîte vide au contenu de la fenêtre principale " +"et demandons à l'application d'afficher notre fenêtre :" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#: docs/en/tutorial/tutorial-2.md:123 #, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Enfin, nous définissons une méthode `main()`. C'est elle qui crée l'instance de notre application :" +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" +msgstr "" +"Enfin, nous définissons une méthode `main()`. C'est elle qui crée l'instance " +"de notre application :" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Cette méthode `main()` est celle qui est importée et invoquée par `main__.py`. Elle crée et retourne une instance de notre application `HelloWorld`." +#: docs/en/tutorial/tutorial-2.md:131 +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "" +"Cette méthode `main()` est celle qui est importée et invoquée par `main__.py`" +". Elle crée et retourne une instance de notre application `HelloWorld`." -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "C'est l'application Toga la plus simple possible. Bous allons ajouter notre propre contenu à l'application, et faire en sorte qu'elle fasse quelque chose de plus intéressant." +#: docs/en/tutorial/tutorial-2.md:135 +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "" +"C'est l'application Toga la plus simple possible. Bous allons ajouter notre " +"propre contenu à l'application, et faire en sorte qu'elle fasse quelque " +"chose de plus intéressant." -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 msgid "Adding some content of our own" msgstr "Ajouter notre propre contenu" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Ne supprimez pas les imports en haut du fichier, ni le `main()` en bas. Vous n'avez besoin de mettre à jour que la classe `HelloWorld`." +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "" +"Ne supprimez pas les imports en haut du fichier, ni le `main()` en bas. Vous " +"n'avez besoin de mettre à jour que la classe `HelloWorld`." -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modifiez votre classe `HelloWorld` dans `src/helloworld/app.py` pour qu'elle ressemble à ceci :" +#: docs/en/tutorial/tutorial-2.md:150 +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" +msgstr "" +"Modifiez votre classe `HelloWorld` dans `src/helloworld/app.py` pour qu'elle " +"ressemble à ceci :" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 msgid "Let's look in detail at what has changed." msgstr "Examinons en détail ce qui a changé." -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Nous sommes toujours en train de créer une boîte principale, mais nous appliquons maintenant un style :" +msgstr "" +"Nous sommes toujours en train de créer une boîte principale, mais nous " +"appliquons maintenant un style :" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#: docs/en/tutorial/tutorial-2.md:193 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Le système de mise en page intégré à Toga s'appelle \"Pack\". Il se comporte en grande partie comme CSS. Vous définissez des objets dans une hiérarchie - en HTML, les objets sont `
`, ``, et d'autres éléments DOM ; dans Toga, ce sont des widgets et des boîtes. Vous pouvez ensuite attribuer des styles aux différents éléments. Dans ce cas, nous indiquons qu'il s'agit d'une boîte `COLUMN` - c'est-à-dire qu'il s'agit d'une boîte qui utilisera toute la largeur disponible, et qui augmentera sa hauteur au fur et à mesure que du contenu sera ajouté, mais qui essaiera d'être aussi courte que possible." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" +"Le système de mise en page intégré à Toga s'appelle \"Pack\". Il se comporte " +"en grande partie comme CSS. Vous définissez des objets dans une hiérarchie - " +"en HTML, les objets sont `
`, ``, et d'autres éléments DOM ; dans " +"Toga, ce sont des widgets et des boîtes. Vous pouvez ensuite attribuer des " +"styles aux différents éléments. Dans ce cas, nous indiquons qu'il s'agit " +"d'une boîte `COLUMN` - c'est-à-dire qu'il s'agit d'une boîte qui utilisera " +"toute la largeur disponible, et qui augmentera sa hauteur au fur et à mesure " +"que du contenu sera ajouté, mais qui essaiera d'être aussi courte que " +"possible." + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 msgid "Next, we define a couple of widgets:" msgstr "Ensuite, nous définissons quelques widgets :" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#: docs/en/tutorial/tutorial-2.md:223 #, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Ici, nous définissons un Label (widget de texte) et un TextInput (widget de saisie de texte). Les deux widgets sont associés à des styles ; le Label aura un espace de 5 px à gauche et à droite, et aucun espace en haut et en bas. Le TextInput est marqué comme étant flexible, c'est-à-dire qu'il absorbera tout l'espace disponible dans son axe de mise en page." +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" +"Ici, nous définissons un Label (widget de texte) et un TextInput (widget de " +"saisie de texte). Les deux widgets sont associés à des styles ; le Label " +"aura un espace de 5 px à gauche et à droite, et aucun espace en haut et en " +"bas. Le TextInput est marqué comme étant flexible, c'est-à-dire qu'il " +"absorbera tout l'espace disponible dans son axe de mise en page." -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "Le TextInput est assigné en tant que variable d'instance d classe. Cela nous permet d'accéder facilement à l'instance du widget, ce que nous utiliserons dans un instant." +#: docs/en/tutorial/tutorial-2.md:229 +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "" +"Le TextInput est assigné en tant que variable d'instance d classe. Cela nous " +"permet d'accéder facilement à l'instance du widget, ce que nous utiliserons " +"dans un instant." -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 msgid "Next, we define a box to hold these two widgets:" msgstr "Ensuite, nous définissons une boîte pour contenir ces deux widgets :" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#: docs/en/tutorial/tutorial-2.md:241 #, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "La `name_box` est une boîte comme la boîte principale, mais cette fois, c'est une boîte `ROW` (rangée). Cela signifie que le contenu sera ajouté horizontalement, et qu'il essaiera d'être le moins large possible. La boîte a également un peu de padding (espace) - 5px sur tous les côtés." +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"La `name_box` est une boîte comme la boîte principale, mais cette fois, " +"c'est une boîte `ROW` (rangée). Cela signifie que le contenu sera ajouté " +"horizontalement, et qu'il essaiera d'être le moins large possible. La boîte " +"a également un peu de padding (espace) - 5px sur tous les côtés." -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 msgid "Now we define a button:" msgstr "Nous définissons maintenant un bouton :" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "Le bouton est également doté d'un espace de 5 px sur tous les côtés. Nous définissons également un *handler* - une méthode à invoquer lorsque le bouton est pressé." +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 msgid "Then, we add the name box and the button to the main box:" -msgstr "Ensuite, nous ajoutons la boîte de nom et le bouton à la boîte principale :" +msgstr "" +"Ensuite, nous ajoutons la boîte de nom et le bouton à la boîte principale :" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#: docs/en/tutorial/tutorial-2.md:266 #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Le reste de la méthode de démarrage est identique à la précédente : définition d'une fenêtre principale et attribution de la boîte principale en tant que contenu de la fenêtre :" +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "" +"Le reste de la méthode de démarrage est identique à la précédente : " +"définition d'une fenêtre principale et attribution de la boîte principale en " +"tant que contenu de la fenêtre :" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#: docs/en/tutorial/tutorial-2.md:276 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "Notre dernière action est de définir le gestionnaire du bouton. Un gestionnaire peut être n'importe quelle méthode, générateur ou co-routine asynchrone ; il accepte le widget qui a généré l'événement comme argument, et sera invoqué chaque fois que le bouton est pressé :" +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" +"Notre dernière action est de définir le gestionnaire du bouton. Un " +"gestionnaire peut être n'importe quelle méthode, générateur ou co-routine " +"asynchrone ; il accepte le widget qui a généré l'événement comme argument, " +"et sera invoqué chaque fois que le bouton est pressé :" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "Le corps de la méthode est une simple instruction d'affichage (print). Cependant, elle interroge la valeur actuelle de l'entrée name et utilise ce contenu comme texte à imprimer." +#: docs/en/tutorial/tutorial-2.md:286 +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "" +"Le corps de la méthode est une simple instruction d'affichage (print). " +"Cependant, elle interroge la valeur actuelle de l'entrée name et utilise ce " +"contenu comme texte à imprimer." -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Maintenant que nous avons effectué ces changements, nous pouvons voir à quoi ils ressemblent en relançant l'application. Comme précédemment, nous utiliserons le mode développeur :" +#: docs/en/tutorial/tutorial-2.md:290 +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "" +"Maintenant que nous avons effectué ces changements, nous pouvons voir à quoi " +"ils ressemblent en relançant l'application. Comme précédemment, nous " +"utiliserons le mode développeur :" -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#: docs/en/tutorial/tutorial-2.md:326 #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Vous remarquerez que cette fois-ci, briefcase n'installe pas de dépendances. Briefcase peut détecter que l'application a déjà été exécutée auparavant, et pour gagner du temps, il n'exécutera que l'application. Si vous ajoutez de nouvelles dépendances à votre application, vous pouvez vous assurer qu'elles soient installées en passant une option `-r` lorsque vous lancez `briefcase dev`." - -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" +"Vous remarquerez que cette fois-ci, briefcase n'installe pas de dépendances. " +"Briefcase peut détecter que l'application a déjà été exécutée auparavant, et " +"pour gagner du temps, il n'exécutera que l'application. Si vous ajoutez de " +"nouvelles dépendances à votre application, vous pouvez vous assurer qu'elles " +"soient installées en passant une option `-r` lorsque vous lancez `briefcase " +"dev`." + +#: docs/en/tutorial/tutorial-2.md:332 msgid "This should open a GUI window:" msgstr "Cela devrait ouvrir une fenêtre GUI :" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Fenêtre Hello World Tutorial 2, sur macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Fenêtre Hello World Tutorial 2, sous Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Fenêtre Hello World Tutorial 2, sur Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Si vous saisissez un nom dans la zone de texte et que vous appuyez sur le bouton GUI, vous devriez voir apparaître une sortie dans la console où vous avez démarré l'application." +#: docs/en/tutorial/tutorial-2.md:358 +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "" +"Si vous saisissez un nom dans la zone de texte et que vous appuyez sur le " +"bouton GUI, vous devriez voir apparaître une sortie dans la console où vous " +"avez démarré l'application." -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Nous avons maintenant une application qui fait quelque chose d'un peu plus intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons empaqueter cette application pour la distribuer. Dans [Tutoriel 3][tutorial-3], nous allons empaqueter notre application sous la forme d'un programme d'installation autonome que nous pourrons envoyer à un ami, un client, ou télécharger sur un App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld`` app." -#~ msgstr "" - +#: docs/en/tutorial/tutorial-2.md:369 +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" +"Nous avons maintenant une application qui fait quelque chose d'un peu plus " +"intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons " +"empaqueter cette application pour la distribuer. Dans [Tutoriel 3]" +"[tutorial-3], nous allons empaqueter notre application sous la forme d'un " +"programme d'installation autonome que nous pourrons envoyer à un ami, un " +"client, ou télécharger sur un App Store." + +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "Tutoriel 2 - Rendre les choses intéressantes" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po index 66446caa..97f11080 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po @@ -1,313 +1,652 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutoriel 3 - Emballage pour la distribution" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#: docs/en/tutorial/tutorial-3.md:3 #, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Jusqu'à présent, nous avons exécuté notre application en \"mode développeur\". Cela nous permet d'exécuter facilement notre application localement - mais ce que nous voulons vraiment, c'est pouvoir donner notre application à d'autres personnes." +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" +"Jusqu'à présent, nous avons exécuté notre application en \"mode développeur\"" +". Cela nous permet d'exécuter facilement notre application localement - mais " +"ce que nous voulons vraiment, c'est pouvoir donner notre application à " +"d'autres personnes." -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#: docs/en/tutorial/tutorial-3.md:7 #, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Cependant, nous ne voulons pas avoir à apprendre à nos utilisateurs comment installer Python, créer un environnement virtuel, cloner un dépôt git, et lancer Briefcase en mode développeur. Nous préférons leur donner un programme d'installation et faire en sorte que l'application fonctionne tout simplement." +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"Cependant, nous ne voulons pas avoir à apprendre à nos utilisateurs comment " +"installer Python, créer un environnement virtuel, cloner un dépôt git, et " +"lancer Briefcase en mode développeur. Nous préférons leur donner un " +"programme d'installation et faire en sorte que l'application fonctionne tout " +"simplement." -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#: docs/en/tutorial/tutorial-3.md:12 #, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase peut être utilisé pour empaqueter votre application afin de la distribuer de cette manière." +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." +msgstr "" +"Briefcase peut être utilisé pour empaqueter votre application afin de la " +"distribuer de cette manière." -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 #, fuzzy msgid "Creating your application scaffold" msgstr "Création de l'échafaudage de l'application" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#: docs/en/tutorial/tutorial-3.md:17 #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Puisque c'est la première fois que nous empaquetons notre application, nous devons créer quelques fichiers de configuration et autres échafaudages pour supporter le processus d'empaquetage. Depuis le répertoire `helloworld`, exécutez :" +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "" +"Puisque c'est la première fois que nous empaquetons notre application, nous " +"devons créer quelques fichiers de configuration et autres échafaudages pour " +"supporter le processus d'empaquetage. Depuis le répertoire `helloworld`, " +"exécutez :" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" msgstr "" -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +#: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" msgstr "" -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#: docs/en/tutorial/tutorial-3.md:124 #, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Vous venez probablement de voir défiler des pages de contenu dans votre terminal... que s'est-il passé ? Briefcase a fait ce qui suit :" +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "" +"Vous venez probablement de voir défiler des pages de contenu dans votre " +"terminal... que s'est-il passé ? Briefcase a fait ce qui suit :" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Il **génère un modèle d'application**. Il y a beaucoup de fichiers et de configurations nécessaires pour construire un installateur natif, en plus du code de votre application réelle. Cet échafaudage supplémentaire est presque le même pour chaque application sur la même plateforme, à l'exception du nom de l'application réelle en cours de construction - Briefcase fournit donc un modèle d'application pour chaque plateforme qu'il supporte. Cette étape déploie le modèle, en substituant le nom de votre application, l'ID du bundle, et d'autres propriétés de votre fichier de configuration comme requis pour supporter la plateforme sur laquelle vous construisez." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"Il **génère un modèle d'application**. Il y a beaucoup de fichiers et de " +"configurations nécessaires pour construire un installateur natif, en plus du " +"code de votre application réelle. Cet échafaudage supplémentaire est presque " +"le même pour chaque application sur la même plateforme, à l'exception du nom " +"de l'application réelle en cours de construction - Briefcase fournit donc un " +"modèle d'application pour chaque plateforme qu'il supporte. Cette étape " +"déploie le modèle, en substituant le nom de votre application, l'ID du " +"bundle, et d'autres propriétés de votre fichier de configuration comme " +"requis pour supporter la plateforme sur laquelle vous construisez." + +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Si vous n'êtes pas satisfait du modèle fourni par Briefcase, vous pouvez créer votre propre modèle. Cependant, vous ne voudrez probablement pas faire cela avant d'avoir un peu plus d'expérience dans l'utilisation du modèle par défaut de Briefcase." +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" +"Si vous n'êtes pas satisfait du modèle fourni par Briefcase, vous pouvez " +"créer votre propre modèle. Cependant, vous ne voudrez probablement pas faire " +"cela avant d'avoir un peu plus d'expérience dans l'utilisation du modèle par " +"défaut de Briefcase." -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Il **télécharge et installe un paquetage de support**. L'approche d'empaquetage adoptée par Briefcase est décrite comme \"la chose la plus simple qui puisse fonctionner\" - elle fournit un interpréteur Python complet et isolé dans le cadre de chaque application qu'elle construit. Cette approche est légèrement inefficace en termes d'espace - si vous avez 5 applications empaquetées avec Briefcase, vous aurez 5 copies de l'interpréteur Python. Cependant, cette approche garantit que chaque application est complètement indépendante, utilisant une version spécifique de Python connue pour fonctionner avec l'application." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"Il **télécharge et installe un paquetage de support**. L'approche " +"d'empaquetage adoptée par Briefcase est décrite comme " +"\"la chose la plus simple qui puisse fonctionner\" - elle fournit un " +"interpréteur Python complet et isolé dans le cadre de chaque application " +"qu'elle construit. Cette approche est légèrement inefficace en termes " +"d'espace - si vous avez 5 applications empaquetées avec Briefcase, vous " +"aurez 5 copies de l'interpréteur Python. Cependant, cette approche garantit " +"que chaque application est complètement indépendante, utilisant une version " +"spécifique de Python connue pour fonctionner avec l'application." + +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Encore une fois, Briefcase fournit un paquetage de support par défaut pour chaque plateforme ; si vous le souhaitez, vous pouvez fournir votre propre paquetage de support, et faire en sorte que ce paquetage soit inclus dans le processus de construction. Vous pouvez faire cela si vous avez des options particulières dans l'interpréteur Python que vous devez activer, ou si vous voulez retirer de la bibliothèque standard les modules dont vous n'avez pas besoin au moment de l'exécution." +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"Encore une fois, Briefcase fournit un paquetage de support par défaut pour " +"chaque plateforme ; si vous le souhaitez, vous pouvez fournir votre propre " +"paquetage de support, et faire en sorte que ce paquetage soit inclus dans le " +"processus de construction. Vous pouvez faire cela si vous avez des options " +"particulières dans l'interpréteur Python que vous devez activer, ou si vous " +"voulez retirer de la bibliothèque standard les modules dont vous n'avez pas " +"besoin au moment de l'exécution." -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase maintient un cache local des paquets de support, de sorte qu'une fois que vous avez téléchargé un paquet de support spécifique, cette copie en cache sera utilisée dans les futures versions." +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "" +"Briefcase maintient un cache local des paquets de support, de sorte qu'une " +"fois que vous avez téléchargé un paquet de support spécifique, cette copie " +"en cache sera utilisée dans les futures versions." -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." msgstr "" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#: docs/en/tutorial/tutorial-3.md:168 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Il **installe les exigences de l'application**. Votre application peut spécifier tous les modules tiers qui sont nécessaires à l'exécution. Ceux-ci seront installés en utilisant `pip` dans l'installeur de votre application." +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" +"Il **installe les exigences de l'application**. Votre application peut " +"spécifier tous les modules tiers qui sont nécessaires à l'exécution. Ceux-ci " +"seront installés en utilisant `pip` dans l'installeur de votre application." -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#: docs/en/tutorial/tutorial-3.md:172 #, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Il **installe le code de votre application**. Votre application aura son propre code et ses propres ressources (par exemple, les images nécessaires à l'exécution) ; ces fichiers sont copiés dans le programme d'installation." +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "" +"Il **installe le code de votre application**. Votre application aura son " +"propre code et ses propres ressources (par exemple, les images nécessaires à " +"l'exécution) ; ces fichiers sont copiés dans le programme d'installation." -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#: docs/en/tutorial/tutorial-3.md:176 #, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Il **installe les ressources nécessaires à votre application.** Enfin, il ajoute toutes les ressources supplémentaires nécessaires à l'installateur lui-même. Cela inclut des choses comme les icônes qui doivent être attachées à l'application finale et les images de l'écran d'accueil." +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "" +"Il **installe les ressources nécessaires à votre application.** Enfin, il " +"ajoute toutes les ressources supplémentaires nécessaires à l'installateur " +"lui-même. Cela inclut des choses comme les icônes qui doivent être attachées " +"à l'application finale et les images de l'écran d'accueil." -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#: docs/en/tutorial/tutorial-3.md:181 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Une fois cette opération terminée, si vous regardez dans le répertoire du projet, vous devriez voir un répertoire correspondant à votre plateforme (`macOS`, `linux`, ou `windows`) qui contient des fichiers supplémentaires. C'est la configuration de l'empaquetage spécifique à la plate-forme pour votre application." +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"Une fois cette opération terminée, si vous regardez dans le répertoire du " +"projet, vous devriez voir un répertoire correspondant à votre plateforme " +"(`macOS`, `linux`, ou `windows`) qui contient des fichiers supplémentaires. " +"C'est la configuration de l'empaquetage spécifique à la plate-forme pour " +"votre application." -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 #, fuzzy msgid "Building your application" msgstr "Construire votre application" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#: docs/en/tutorial/tutorial-3.md:188 #, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Vous pouvez maintenant compiler votre application. Cette étape permet d'effectuer toute compilation binaire nécessaire pour que votre application soit exécutable sur votre plate-forme cible." +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "" +"Vous pouvez maintenant compiler votre application. Cette étape permet " +"d'effectuer toute compilation binaire nécessaire pour que votre application " +"soit exécutable sur votre plate-forme cible." -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#: docs/en/tutorial/tutorial-3.md:205 #, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Sous macOS, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit signer le contenu du binaire pour qu'il puisse être exécuté. Cette signature est une signature *ad hoc* - elle ne fonctionnera que sur *votre* machine ; si vous voulez distribuer l'application à d'autres, vous devrez fournir une signature complète." +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"Sous macOS, la commande `build` n'a pas besoin de *compiler* quoi que ce " +"soit, mais elle doit signer le contenu du binaire pour qu'il puisse être " +"exécuté. Cette signature est une signature *ad hoc* - elle ne fonctionnera " +"que sur *votre* machine ; si vous voulez distribuer l'application à " +"d'autres, vous devrez fournir une signature complète." -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#: docs/en/tutorial/tutorial-3.md:239 #, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Une fois cette étape terminée, le dossier `build` contiendra un dossier `helloworld-0.0.1` qui contient un miroir du système de fichiers Linux `/usr`. Ce miroir du système de fichiers contiendra un dossier `bin` avec un binaire `helloworld`, ainsi que les dossiers `lib` et `share` nécessaires pour supporter le binaire." +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"Une fois cette étape terminée, le dossier `build` contiendra un dossier " +"`helloworld-0.0.1` qui contient un miroir du système de fichiers Linux `/usr`" +". Ce miroir du système de fichiers contiendra un dossier `bin` avec un " +"binaire `helloworld`, ainsi que les dossiers `lib` et `share` nécessaires " +"pour supporter le binaire." -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#: docs/en/tutorial/tutorial-3.md:256 #, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Sous Windows, la commande `build` n'a pas besoin de *compiler* quoi que ce soit, mais elle doit écrire quelques métadonnées pour que l'application connaisse son nom, sa version, et ainsi de suite." +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "" +"Sous Windows, la commande `build` n'a pas besoin de *compiler* quoi que ce " +"soit, mais elle doit écrire quelques métadonnées pour que l'application " +"connaisse son nom, sa version, et ainsi de suite." -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Déclenchement de l'antivirus" +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#: docs/en/tutorial/tutorial-3.md:262 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Puisque ces métadonnées sont écrites directement dans le binaire précompilé déployé à partir du modèle pendant la commande `create`, cela peut déclencher un logiciel antivirus fonctionnant sur votre machine et empêcher les métadonnées d'être écrites. Dans ce cas, demandez à l'antivirus d'autoriser l'outil (nommé `rcedit-x64.exe`) à s'exécuter et relancez la commande ci-dessus." +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"Puisque ces métadonnées sont écrites directement dans le binaire précompilé " +"déployé à partir du modèle pendant la commande `create`, cela peut " +"déclencher un logiciel antivirus fonctionnant sur votre machine et empêcher " +"les métadonnées d'être écrites. Dans ce cas, demandez à l'antivirus " +"d'autoriser l'outil (nommé `rcedit-x64.exe`) à s'exécuter et relancez la " +"commande ci-dessus." -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:273 #, fuzzy msgid "Running your app" msgstr "Exécution de l'application" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 #, fuzzy msgid "You can now use Briefcase to run your application:" -msgstr "Vous pouvez maintenant utiliser Briefcase pour exécuter votre application :" +msgstr "" +"Vous pouvez maintenant utiliser Briefcase pour exécuter votre application :" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#: docs/en/tutorial/tutorial-3.md:354 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Ceci lancera l'exécution de votre application native, en utilisant la sortie de la commande `build`." +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." +msgstr "" +"Ceci lancera l'exécution de votre application native, en utilisant la sortie " +"de la commande `build`." -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#: docs/en/tutorial/tutorial-3.md:357 #, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Il se peut que vous remarquiez de petites différences dans l'apparence de votre application lorsqu'elle est en cours d'exécution. Par exemple, les icônes et le nom affichés par le système d'exploitation peuvent être légèrement différents de ceux que vous avez vus lors de l'exécution en mode développeur. Cela s'explique également par le fait que vous utilisez l'application packagée et que vous ne vous contentez pas d'exécuter du code Python. Du point de vue du système d'exploitation, vous exécutez maintenant \"une application\" et non \"un programme Python\", ce qui se reflète dans l'apparence de l'application." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"Il se peut que vous remarquiez de petites différences dans l'apparence de " +"votre application lorsqu'elle est en cours d'exécution. Par exemple, les " +"icônes et le nom affichés par le système d'exploitation peuvent être " +"légèrement différents de ceux que vous avez vus lors de l'exécution en mode " +"développeur. Cela s'explique également par le fait que vous utilisez " +"l'application packagée et que vous ne vous contentez pas d'exécuter du code " +"Python. Du point de vue du système d'exploitation, vous exécutez maintenant " +"\"une application\" et non \"un programme Python\", ce qui se reflète dans " +"l'apparence de l'application." + +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 #, fuzzy msgid "Building your installer" msgstr "Construction du programme d'installation" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#: docs/en/tutorial/tutorial-3.md:372 #, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Vous pouvez maintenant empaqueter votre application pour la distribuer, en utilisant la commande `package`. La commande package effectue toutes les compilations nécessaires pour convertir le projet d'échafaudage en un produit final distribuable. Selon la plateforme, cela peut impliquer la compilation d'un installateur, la signature du code, ou d'autres tâches de pré-distribution." +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"Vous pouvez maintenant empaqueter votre application pour la distribuer, en " +"utilisant la commande `package`. La commande package effectue toutes les " +"compilations nécessaires pour convertir le projet d'échafaudage en un " +"produit final distribuable. Selon la plateforme, cela peut impliquer la " +"compilation d'un installateur, la signature du code, ou d'autres tâches de " +"pré-distribution." -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#: docs/en/tutorial/tutorial-3.md:410 #, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "Le dossier `dist` contiendra un fichier nommé `Hello World-0.0.1.dmg`. Si vous localisez ce fichier dans le Finder, et que vous double-cliquez sur son icône, vous monterez le DMG, ce qui vous donnera une copie de l'application Hello World, et un lien vers votre dossier Applications pour faciliter l'installation. Faites glisser le fichier de l'application dans Applications, et vous aurez installé votre application. Envoyez le fichier DMG à un ami, qui devrait pouvoir faire de même." +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"Le dossier `dist` contiendra un fichier nommé `Hello World-0.0.1.dmg`. Si " +"vous localisez ce fichier dans le Finder, et que vous double-cliquez sur son " +"icône, vous monterez le DMG, ce qui vous donnera une copie de l'application " +"Hello World, et un lien vers votre dossier Applications pour faciliter " +"l'installation. Faites glisser le fichier de l'application dans " +"Applications, et vous aurez installé votre application. Envoyez le fichier " +"DMG à un ami, qui devrait pouvoir faire de même." -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#: docs/en/tutorial/tutorial-3.md:417 #, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire " +"que nous signons notre application avec des informations d'identification *" +"ad hoc* - des informations d'identification temporaires qui ne " +"fonctionneront que sur votre machine. Nous avons fait cela pour que le " +"tutoriel reste simple. La mise en place d'identités de signature de code est " +"un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez " +"l'intention de distribuer votre application à d'autres personnes. Si nous " +"publiions une application réelle pour que d'autres puissent l'utiliser, nous " +"devrions spécifier de vraies informations d'identification." + +#: docs/en/tutorial/tutorial-3.md:425 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" +"Lorsque vous êtes prêt à publier une application réelle, consultez le guide " +"Briefcase How-To sur [Setting up a macOS code signing identity]{1}" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#: docs/en/tutorial/tutorial-3.md:433 #, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "Le résultat de l'étape du paquetage sera légèrement différent selon votre distribution Linux. Si vous êtes sur une distribution dérivée de Debian, vous verrez :" +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "" +"Le résultat de l'étape du paquetage sera légèrement différent selon votre " +"distribution Linux. Si vous êtes sur une distribution dérivée de Debian, " +"vous verrez :" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 #, fuzzy msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "Le dossier `dist` contiendra le fichier `.deb` qui a été généré." -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 #, fuzzy msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "Si vous utilisez une distribution basée sur RHEL, vous verrez :" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 #, fuzzy msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "Le dossier `dist` contiendra le fichier `.rpm` qui a été généré." -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 #, fuzzy msgid "If you're on an Arch-based distribution, you'll see:" msgstr "Si vous êtes sur une distribution basée sur Arch, vous verrez :" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#: docs/en/tutorial/tutorial-3.md:504 #, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "Le dossier `dist` contiendra le fichier `.pkg.tar.zst` qui a été généré." +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "" +"Le dossier `dist` contiendra le fichier `.pkg.tar.zst` qui a été généré." -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 #, fuzzy msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Les autres distributions Linux ne sont actuellement pas prises en charge pour l'empaquetage." +msgstr "" +"Les autres distributions Linux ne sont actuellement pas prises en charge " +"pour l'empaquetage." -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#: docs/en/tutorial/tutorial-3.md:509 #, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Si vous souhaitez créer un paquet pour une distribution Linux autre que celle que vous utilisez, Briefcase peut également vous aider - mais vous devrez installer Docker." +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "" +"Si vous souhaitez créer un paquet pour une distribution Linux autre que " +"celle que vous utilisez, Briefcase peut également vous aider - mais vous " +"devrez installer Docker." -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#: docs/en/tutorial/tutorial-3.md:513 #, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Des installateurs officiels pour [Docker Engine]{1} sont disponibles pour une série de distributions Unix. Suivez les instructions correspondant à votre plate-forme, mais assurez-vous de ne pas installer Docker en mode \"sans racine\"." +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"Des installateurs officiels pour [Docker Engine]{1} sont disponibles pour " +"une série de distributions Unix. Suivez les instructions correspondant à " +"votre plate-forme, mais assurez-vous de ne pas installer Docker en mode " +"\"sans racine\"." -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#: docs/en/tutorial/tutorial-3.md:517 #, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Une fois que vous avez installé Docker, vous devriez être en mesure de démarrer un conteneur Linux - par exemple :" +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" +msgstr "" +"Une fois que vous avez installé Docker, vous devriez être en mesure de " +"démarrer un conteneur Linux - par exemple :" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#: docs/en/tutorial/tutorial-3.md:524 #, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "vous montrera une invite Unix (quelque chose comme `root@84444e31cff9:/#`) à l'intérieur d'un conteneur Docker Ubuntu 22.04. Tapez Ctrl-D pour quitter Docker et revenir à votre shell local." +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"vous montrera une invite Unix (quelque chose comme `root@84444e31cff9:/#`) à " +"l'intérieur d'un conteneur Docker Ubuntu 22.04. Tapez Ctrl-D pour quitter " +"Docker et revenir à votre shell local." -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#: docs/en/tutorial/tutorial-3.md:528 #, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Une fois que vous avez installé Docker, vous pouvez utiliser Briefcase pour construire un paquet pour n'importe quelle distribution Linux que Briefcase supporte en passant une image Docker comme argument. Par exemple, pour construire un paquet DEB pour Ubuntu 22.04 (Jammy), quel que soit le système d'exploitation sur lequel vous êtes, vous pouvez exécuter :" +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"Une fois que vous avez installé Docker, vous pouvez utiliser Briefcase pour " +"construire un paquet pour n'importe quelle distribution Linux que Briefcase " +"supporte en passant une image Docker comme argument. Par exemple, pour " +"construire un paquet DEB pour Ubuntu 22.04 (Jammy), quel que soit le système " +"d'exploitation sur lequel vous êtes, vous pouvez exécuter :" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#: docs/en/tutorial/tutorial-3.md:538 #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Ceci téléchargera l'image Docker pour le système d'exploitation choisi, créera un conteneur capable d'exécuter les builds de Briefcase, et construira le paquetage de l'application à l'intérieur de l'image. Une fois terminé, le dossier `dist` contiendra le paquet pour la distribution Linux cible." +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"Ceci téléchargera l'image Docker pour le système d'exploitation choisi, " +"créera un conteneur capable d'exécuter les builds de Briefcase, et " +"construira le paquetage de l'application à l'intérieur de l'image. Une fois " +"terminé, le dossier `dist` contiendra le paquet pour la distribution Linux " +"cible." -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#: docs/en/tutorial/tutorial-3.md:575 #, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire que nous signons notre application avec des informations d'identification *ad hoc* - des informations d'identification temporaires qui ne fonctionneront que sur votre machine. Nous avons fait cela pour que le tutoriel reste simple. La mise en place d'identités de signature de code est un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez l'intention de distribuer votre application à d'autres personnes. Si nous publiions une application réelle pour que d'autres puissent l'utiliser, nous devrions spécifier de vraies informations d'identification." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"Dans cet exemple, nous avons utilisé l'option `--adhoc-sign` - c'est-à-dire " +"que nous signons notre application avec des informations d'identification *" +"ad hoc* - des informations d'identification temporaires qui ne " +"fonctionneront que sur votre machine. Nous avons fait cela pour que le " +"tutoriel reste simple. La mise en place d'identités de signature de code est " +"un peu fastidieuse, et elles ne sont *nécessaires* que si vous avez " +"l'intention de distribuer votre application à d'autres personnes. Si nous " +"publiions une application réelle pour que d'autres puissent l'utiliser, nous " +"devrions spécifier de vraies informations d'identification." + +#: docs/en/tutorial/tutorial-3.md:585 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Lorsque vous êtes prêt à publier une application réelle, consultez le guide Briefcase How-To sur [Setting up a macOS code signing identity]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" +"Lorsque vous êtes prêt à publier une application réelle, consultez le guide " +"Briefcase How-To sur [Setting up a macOS code signing identity]{1}" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#: docs/en/tutorial/tutorial-3.md:589 #, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Une fois cette étape terminée, le dossier `dist` contiendra un fichier nommé `Hello_World-0.0.1.msi`. Si vous double-cliquez sur ce programme d'installation pour le lancer, vous devriez passer par un processus d'installation Windows familier. Une fois l'installation terminée, il y aura une entrée \"Hello World\" dans votre menu de démarrage." +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"Une fois cette étape terminée, le dossier `dist` contiendra un fichier nommé " +"`Hello_World-0.0.1.msi`. Si vous double-cliquez sur ce programme " +"d'installation pour le lancer, vous devriez passer par un processus " +"d'installation Windows familier. Une fois l'installation terminée, il y aura " +"une entrée \"Hello World\" dans votre menu de démarrage." -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau. Mais que se passe-t-il lorsque nous devons mettre à jour le code de notre application ? Comment intégrer ces mises à jour dans notre application packagée ? Consultez [Tutoriel 4][./tutorial-4] pour le découvrir..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "Tutoriel 3 - Emballage pour la distribution" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po index cec1c51e..5c940741 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po @@ -1,172 +1,295 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "Tutoriel 4 - Mise à jour de votre application" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#: docs/en/tutorial/tutorial-4.md:3 #, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "Dans le dernier tutoriel, nous avons packagé notre application en tant qu'application native. Si vous avez affaire à une application réelle, l'histoire ne s'arrêtera pas là : vous ferez probablement des tests, découvrirez des problèmes et devrez apporter des modifications. Même si votre application est parfaite, vous finirez par vouloir publier la version 2 de votre application avec des améliorations." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" +"Dans le dernier tutoriel, nous avons packagé notre application en tant " +"qu'application native. Si vous avez affaire à une application réelle, " +"l'histoire ne s'arrêtera pas là : vous ferez probablement des tests, " +"découvrirez des problèmes et devrez apporter des modifications. Même si " +"votre application est parfaite, vous finirez par vouloir publier la version " +"2 de votre application avec des améliorations." + +#: docs/en/tutorial/tutorial-4.md:10 #, fuzzy msgid "So - how do you update your installed app when you make code changes?" -msgstr "Alors, comment mettre à jour l'application installée lorsque vous modifiez le code ?" +msgstr "" +"Alors, comment mettre à jour l'application installée lorsque vous modifiez " +"le code ?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 #, fuzzy msgid "Updating application code" msgstr "Mise à jour du code de l'application" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#: docs/en/tutorial/tutorial-4.md:14 #, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Notre application imprime actuellement sur la console lorsque vous appuyez sur le bouton. Cependant, les applications d'interface graphique ne devraient pas vraiment utiliser la console pour la sortie. Elles doivent utiliser des boîtes de dialogue pour communiquer avec les utilisateurs." +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "" +"Notre application imprime actuellement sur la console lorsque vous appuyez " +"sur le bouton. Cependant, les applications d'interface graphique ne " +"devraient pas vraiment utiliser la console pour la sortie. Elles doivent " +"utiliser des boîtes de dialogue pour communiquer avec les utilisateurs." -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#: docs/en/tutorial/tutorial-4.md:18 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Ajoutons une boîte de dialogue pour dire bonjour, au lieu d'écrire dans la console. Modifiez le callback `say_hello` pour qu'il ressemble à ceci: :" +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "" +"Ajoutons une boîte de dialogue pour dire bonjour, au lieu d'écrire dans la " +"console. Modifiez le callback `say_hello` pour qu'il ressemble à ceci: :" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#: docs/en/tutorial/tutorial-4.md:36 #, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Toga ouvre ainsi une boîte de dialogue modale lorsque le bouton est enfoncé." +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." +msgstr "" +"Toga ouvre ainsi une boîte de dialogue modale lorsque le bouton est enfoncé." -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#: docs/en/tutorial/tutorial-4.md:38 #, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Si vous lancez `briefcase dev`, entrez un nom et appuyez sur le bouton, vous verrez la nouvelle boîte de dialogue :" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" +msgstr "" +"Si vous lancez `briefcase dev`, entrez un nom et appuyez sur le bouton, vous " +"verrez la nouvelle boîte de dialogue :" -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Tutoriel Hello World 4 dialogue, sur macOS" +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Tutoriel Hello World 4 dialogue, sur Linux" +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Tutoriel Hello World 4 dialogue, sur Windows" +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:69 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Cependant, si vous exécutez `briefcase run`, la boîte de dialogue n'apparaîtra pas." +msgstr "" +"Cependant, si vous exécutez `briefcase run`, la boîte de dialogue " +"n'apparaîtra pas." -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Pourquoi ? Eh bien, `briefcase dev` fonctionne en exécutant votre code en place - il essaie de produire un environnement d'exécution aussi réaliste que possible pour votre code, mais il ne fournit ni n'utilise aucune des infrastructures de la plate-forme pour envelopper votre code en tant qu'application. Une partie du processus d'emballage de votre application implique de copier votre code *dans* le paquet d'application - et pour le moment, votre application contient toujours l'ancien code." +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#: docs/en/tutorial/tutorial-4.md:79 #, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Nous devons donc demander à Briefcase de mettre à jour votre application, en copiant la nouvelle version du code. Nous pourrions le faire en supprimant l'ancien répertoire de la plateforme et en repartant de zéro. Cependant, Briefcase offre un moyen plus simple - vous pouvez mettre à jour le code de votre application groupée existante :" +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" +"Nous devons donc demander à Briefcase de mettre à jour votre application, en " +"copiant la nouvelle version du code. Nous pourrions le faire en supprimant " +"l'ancien répertoire de la plateforme et en repartant de zéro. Cependant, " +"Briefcase offre un moyen plus simple - vous pouvez mettre à jour le code de " +"votre application groupée existante :" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#: docs/en/tutorial/tutorial-4.md:140 #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Si Briefcase ne trouve pas le modèle échafaudé, il invoquera automatiquement `create` pour générer un nouvel échafaudage." +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." +msgstr "" +"Si Briefcase ne trouve pas le modèle échafaudé, il invoquera automatiquement " +"`create` pour générer un nouvel échafaudage." -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#: docs/en/tutorial/tutorial-4.md:143 #, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Maintenant que nous avons mis à jour le code de l'installateur, nous pouvons lancer `briefcase build` pour recompiler l'application, `briefcase run` pour exécuter l'application mise à jour, et `briefcase package` pour reconditionner l'application en vue de sa distribution." +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" +"Maintenant que nous avons mis à jour le code de l'installateur, nous pouvons " +"lancer `briefcase build` pour recompiler l'application, `briefcase run` pour " +"exécuter l'application mise à jour, et `briefcase package` pour " +"reconditionner l'application en vue de sa distribution." -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#: docs/en/tutorial/tutorial-4.md:148 #, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Utilisateurs de macOS, rappelez-vous que comme indiqué dans [Tutoriel 3][tutorial-3], pour le tutoriel nous recommandons d'exécuter `briefcase package` avec le drapeau `--adhoc-sign` pour éviter la complexité de la mise en place d'une identité de signature de code et garder le tutoriel aussi simple que possible)" +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" +"(Utilisateurs de macOS, rappelez-vous que comme indiqué dans [Tutoriel 3]" +"[tutorial-3], pour le tutoriel nous recommandons d'exécuter `briefcase " +"package` avec le drapeau `--adhoc-sign` pour éviter la complexité de la mise " +"en place d'une identité de signature de code et garder le tutoriel aussi " +"simple que possible)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 #, fuzzy msgid "Update and run in one step" msgstr "Mise à jour et exécution en une seule étape" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Si vous effectuez rapidement des changements de code, vous voudrez probablement faire un changement de code, mettre à jour l'application et la réexécuter immédiatement. Dans la plupart des cas, le mode développeur (`briefcase dev`) sera le moyen le plus facile de faire ce genre d'itération rapide ; cependant, si vous testez quelque chose sur la façon dont votre application fonctionne en tant que binaire natif, ou si vous chassez un bogue qui ne se manifeste que lorsque votre application est sous forme de paquetage, vous pouvez avoir besoin d'utiliser des appels répétés à `briefcase run`. Pour simplifier le processus de mise à jour et d'exécution de l'application packagée, Briefcase dispose d'un raccourci pour supporter ce schéma d'utilisation - l'option `-u` (ou `--update`) de la commande `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"Si vous effectuez rapidement des changements de code, vous voudrez " +"probablement faire un changement de code, mettre à jour l'application et la " +"réexécuter immédiatement. Dans la plupart des cas, le mode développeur (`" +"briefcase dev`) sera le moyen le plus facile de faire ce genre d'itération " +"rapide ; cependant, si vous testez quelque chose sur la façon dont votre " +"application fonctionne en tant que binaire natif, ou si vous chassez un " +"bogue qui ne se manifeste que lorsque votre application est sous forme de " +"paquetage, vous pouvez avoir besoin d'utiliser des appels répétés à `" +"briefcase run`. Pour simplifier le processus de mise à jour et d'exécution " +"de l'application packagée, Briefcase dispose d'un raccourci pour supporter " +"ce schéma d'utilisation - l'option `-u` (ou `--update`) de la commande `run`." + +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Essayons d'apporter une autre modification. Vous avez peut-être remarqué que si vous ne tapez pas de nom dans la zone de saisie, la boîte de dialogue dira \"Hello, \". Modifions à nouveau la fonction `say_hello` pour gérer ce cas particulier." +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" +"Essayons d'apporter une autre modification. Vous avez peut-être remarqué que " +"si vous ne tapez pas de nom dans la zone de saisie, la boîte de dialogue " +"dira \"Hello, \". Modifions à nouveau la fonction `say_hello` pour gérer ce " +"cas particulier." -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#: docs/en/tutorial/tutorial-4.md:170 #, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "En haut du fichier, entre les imports et la définition de `class HelloWorld`, ajoutez une méthode utilitaire pour générer un message d'accueil approprié en fonction de la valeur du nom qui a été fourni: :" +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "" +"En haut du fichier, entre les imports et la définition de `class HelloWorld`" +", ajoutez une méthode utilitaire pour générer un message d'accueil approprié " +"en fonction de la valeur du nom qui a été fourni: :" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Ensuite, modifiez le callback `say_hello` pour utiliser cette nouvelle méthode utilitaire: :" +msgstr "" +"Ensuite, modifiez le callback `say_hello` pour utiliser cette nouvelle " +"méthode utilitaire: :" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#: docs/en/tutorial/tutorial-4.md:194 #, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Exécutez votre application en mode développement (avec `briefcase dev`) pour confirmer que la nouvelle logique fonctionne ; puis mettez à jour, compilez et exécutez l'application avec une seule commande :" +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "" +"Exécutez votre application en mode développement (avec `briefcase dev`) pour " +"confirmer que la nouvelle logique fonctionne ; puis mettez à jour, compilez " +"et exécutez l'application avec une seule commande :" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#: docs/en/tutorial/tutorial-4.md:268 #, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "La commande package accepte aussi l'argument `-u`, donc si vous faites un changement dans le code de votre application et que vous voulez repackager immédiatement, vous pouvez lancer `briefcase package -u`." +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" +"La commande package accepte aussi l'argument `-u`, donc si vous faites un " +"changement dans le code de votre application et que vous voulez repackager " +"immédiatement, vous pouvez lancer `briefcase package -u`." -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#: docs/en/tutorial/tutorial-4.md:274 #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Notre application est désormais prête à être distribuée sur les plates-formes de bureau et nous avons pu mettre à jour le code de notre application." +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "" +"Notre application est désormais prête à être distribuée sur les plates-" +"formes de bureau et nous avons pu mettre à jour le code de notre application." -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Mais qu'en est-il de l'application mobile ? Dans [Tutoriel 5][tutorial-5/index], nous allons convertir notre application en une application mobile, et la déployer sur un simulateur d'appareil, et sur un téléphone." +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "Tutoriel 4 - Mise à jour de votre application" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po index a9fbb3cc..ecb8d629 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -1,252 +1,389 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutoriel 5 - Le mobile : Android" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#: docs/en/tutorial/tutorial-5/android.md:3 #, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Nous allons maintenant prendre notre application et la déployer en tant qu'application Android." +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." +msgstr "" +"Nous allons maintenant prendre notre application et la déployer en tant " +"qu'application Android." -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#: docs/en/tutorial/tutorial-5/android.md:6 #, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "Le processus de déploiement d'une application sur Android est très similaire au processus de déploiement d'une application de bureau. Briefcase prend en charge l'installation des dépendances pour Android, y compris le SDK Android, l'émulateur Android et un compilateur Java." +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"Le processus de déploiement d'une application sur Android est très similaire " +"au processus de déploiement d'une application de bureau. Briefcase prend en " +"charge l'installation des dépendances pour Android, y compris le SDK " +"Android, l'émulateur Android et un compilateur Java." -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 #, fuzzy msgid "Create an Android app and compile it" msgstr "Créer une application Android et la compiler" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#: docs/en/tutorial/tutorial-5/android.md:13 #, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Tout d'abord, lancez la commande `create`. Celle-ci télécharge un modèle d'application Android et y ajoute votre code Python." +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "" +"Tout d'abord, lancez la commande `create`. Celle-ci télécharge un modèle " +"d'application Android et y ajoute votre code Python." + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#: docs/en/tutorial/tutorial-5/android.md:104 #, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Lorsque vous lancez `briefcase create android` pour la première fois, Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers et le temps de téléchargement peuvent être considérables ; cela peut prendre un certain temps (10 minutes ou plus, selon la vitesse de votre connexion Internet). Une fois le téléchargement terminé, vous serez invité à accepter la licence Android SDK de Google." +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"Lorsque vous lancez `briefcase create android` pour la première fois, " +"Briefcase télécharge un JDK Java et le SDK Android. La taille des fichiers " +"et le temps de téléchargement peuvent être considérables ; cela peut prendre " +"un certain temps (10 minutes ou plus, selon la vitesse de votre connexion " +"Internet). Une fois le téléchargement terminé, vous serez invité à accepter " +"la licence Android SDK de Google." -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#: docs/en/tutorial/tutorial-5/android.md:113 #, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Une fois cette opération terminée, nous aurons un répertoire `buildhelloworld\\android\\gradle` dans notre projet, qui contiendra un projet Android avec une configuration de construction Gradle. Ce projet contiendra le code de votre application, ainsi qu'un package de support contenant l'interpréteur Python." +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"Une fois cette opération terminée, nous aurons un répertoire `" +"buildhelloworld\\android\\gradle` dans notre projet, qui contiendra un " +"projet Android avec une configuration de construction Gradle. Ce projet " +"contiendra le code de votre application, ainsi qu'un package de support " +"contenant l'interpréteur Python." -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +#: docs/en/tutorial/tutorial-5/android.md:118 #, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Nous pouvons ensuite utiliser la commande `build` de Briefcase pour compiler ce fichier dans un fichier d'application APK Android." +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "" +"Nous pouvons ensuite utiliser la commande `build` de Briefcase pour compiler " +"ce fichier dans un fichier d'application APK Android." -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "Gradle peut sembler bloqué" +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +#: docs/en/tutorial/tutorial-5/android.md:184 #, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Pendant l'étape `briefcase build android`, Gradle (l'outil de construction de la plateforme Android) affiche `CONFIGURING : 100%`, et semble ne rien faire. Ne vous inquiétez pas, il n'est pas bloqué - il est en train de télécharger plus de composants du SDK Android. Selon la vitesse de votre connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce décalage ne devrait se produire que la première fois que vous lancez `build` ; les outils sont mis en cache, et lors de votre prochain build, les versions mises en cache seront utilisées." +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"Pendant l'étape `briefcase build android`, Gradle (l'outil de construction " +"de la plateforme Android) affiche `CONFIGURING : 100%`, et semble ne rien " +"faire. Ne vous inquiétez pas, il n'est pas bloqué - il est en train de " +"télécharger plus de composants du SDK Android. Selon la vitesse de votre " +"connexion Internet, cela peut prendre encore 10 minutes (ou plus). Ce " +"décalage ne devrait se produire que la première fois que vous lancez `build` " +"; les outils sont mis en cache, et lors de votre prochain build, les " +"versions mises en cache seront utilisées." -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#: docs/en/tutorial/tutorial-5/android.md:194 #, fuzzy msgid "Run the app on a virtual device" msgstr "Exécuter l'application sur un appareil virtuel" -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -#, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Nous sommes maintenant prêts à exécuter notre application. Vous pouvez utiliser la commande `run` de Briefcase pour exécuter l'application sur un appareil Android. Commençons par l'exécuter sur un émulateur Android." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#: docs/en/tutorial/tutorial-5/android.md:196 #, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Pour lancer votre application, exécutez `briefcase run android`. Vous obtiendrez alors une liste d'appareils sur lesquels vous pouvez faire fonctionner l'application. Le dernier élément sera toujours une option pour créer un nouvel émulateur Android." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Nous pouvons maintenant choisir l'appareil que nous souhaitons. Sélectionnez l'option \"Créer un nouvel émulateur Android\", et acceptez le choix par défaut du nom de l'appareil (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -#, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` démarrera automatiquement l'appareil virtuel. Lorsque l'appareil démarre, vous verrez le logo Android :" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -#, fuzzy -msgid "Android virtual device booting" -msgstr "Démarrage d'un dispositif virtuel Android" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -#, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Une fois que l'appareil a fini de démarrer, Briefcase installera votre application sur l'appareil. Vous verrez brièvement un écran de lancement :" +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" +"Nous sommes maintenant prêts à exécuter notre application. Vous pouvez " +"utiliser la commande `run` de Briefcase pour exécuter l'application sur un " +"appareil Android. Commençons par l'exécuter sur un émulateur Android." -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 +#: docs/en/tutorial/tutorial-5/android.md:200 #, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Appareil virtuel Android entièrement démarré, sur l'écran du lanceur" +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" +"Pour lancer votre application, exécutez `briefcase run android`. Vous " +"obtiendrez alors une liste d'appareils sur lesquels vous pouvez faire " +"fonctionner l'application. Le dernier élément sera toujours une option pour " +"créer un nouvel émulateur Android." -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#: docs/en/tutorial/tutorial-5/android.md:246 #, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "L'application démarre alors. Vous verrez un écran de démarrage pendant que l'application démarre :" +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "" +"Nous pouvons maintenant choisir l'appareil que nous souhaitons. Sélectionnez " +"l'option \"Créer un nouvel émulateur Android\", et acceptez le choix par " +"défaut du nom de l'appareil (`beePhone`)." -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 +#: docs/en/tutorial/tutorial-5/android.md:250 #, fuzzy -msgid "App splash screen" -msgstr "Écran d'accueil de l'application" +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "" +"Briefcase `run` démarrera automatiquement l'appareil virtuel. Lorsque " +"l'appareil démarre, vous verrez le logo Android :" -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#: docs/en/tutorial/tutorial-5/android.md:259 #, fuzzy -msgid "The emulator didn't start!" -msgstr "L'émulateur n'a pas démarré !" +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "" +"Une fois que l'appareil a fini de démarrer, Briefcase installera votre " +"application sur l'appareil. Vous verrez brièvement un écran de lancement :" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#: docs/en/tutorial/tutorial-5/android.md:269 #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "L'émulateur Android est un logiciel complexe qui s'appuie sur un certain nombre de caractéristiques du matériel et du système d'exploitation - des caractéristiques qui peuvent ne pas être disponibles ou activées sur des machines plus anciennes. Si vous rencontrez des difficultés au démarrage de l'émulateur Android, consultez la section [Exigences et recommandations]{1} de la documentation destinée aux développeurs Android." +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "" +"L'application démarre alors. Vous verrez un écran de démarrage pendant que " +"l'application démarre :" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "La première fois que l'application démarre, elle doit se décompresser sur l'appareil. Cela peut prendre quelques secondes. Une fois qu'elle est décompressée, vous verrez la version Android de notre application de bureau :" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#: docs/en/tutorial/tutorial-5/android.md:280 #, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "Application du didacticiel 2, entièrement lancée" +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" +"L'émulateur Android est un logiciel complexe qui s'appuie sur un certain " +"nombre de caractéristiques du matériel et du système d'exploitation - des " +"caractéristiques qui peuvent ne pas être disponibles ou activées sur des " +"machines plus anciennes. Si vous rencontrez des difficultés au démarrage de " +"l'émulateur Android, consultez la section [Exigences et recommandations]{1} " +"de la documentation destinée aux développeurs Android." -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#: docs/en/tutorial/tutorial-5/android.md:290 #, fuzzy -msgid "Demo app fully launched" -msgstr "Lancement de l'application de démonstration" +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "" +"La première fois que l'application démarre, elle doit se décompresser sur " +"l'appareil. Cela peut prendre quelques secondes. Une fois qu'elle est " +"décompressée, vous verrez la version Android de notre application de bureau :" -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#: docs/en/tutorial/tutorial-5/android.md:300 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Si vous ne voyez pas votre application se lancer, vous devrez peut-être vérifier le terminal où vous avez lancé `briefcase run` et rechercher les messages d'erreur." +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "" +"Si vous ne voyez pas votre application se lancer, vous devrez peut-être " +"vérifier le terminal où vous avez lancé `briefcase run` et rechercher les " +"messages d'erreur." -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#: docs/en/tutorial/tutorial-5/android.md:309 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "A l'avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, vous pouvez fournir le nom de l'émulateur à Briefcase, en utilisant `briefcase run android -d @beePhone` pour utiliser directement l'appareil virtuel." +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"A l'avenir, si vous souhaitez utiliser cet appareil sans utiliser le menu, " +"vous pouvez fournir le nom de l'émulateur à Briefcase, en utilisant `" +"briefcase run android -d @beePhone` pour utiliser directement l'appareil " +"virtuel." -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 #, fuzzy msgid "Run the app on a physical device" msgstr "Exécuter l'application sur un appareil physique" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#: docs/en/tutorial/tutorial-5/android.md:316 #, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Si vous avez un téléphone ou une tablette Android physique, vous pouvez le connecter à votre ordinateur à l'aide d'un câble USB, puis utiliser la mallette pour cibler votre appareil physique." +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "" +"Si vous avez un téléphone ou une tablette Android physique, vous pouvez le " +"connecter à votre ordinateur à l'aide d'un câble USB, puis utiliser la " +"mallette pour cibler votre appareil physique." -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#: docs/en/tutorial/tutorial-5/android.md:320 #, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android exige que vous prépariez votre appareil avant de pouvoir l'utiliser pour le développement. Vous devrez apporter deux modifications aux options de votre appareil :" +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "" +"Android exige que vous prépariez votre appareil avant de pouvoir l'utiliser " +"pour le développement. Vous devrez apporter deux modifications aux options " +"de votre appareil :" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 #, fuzzy msgid "Enable developer options" msgstr "Activer les options pour les développeurs" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 #, fuzzy msgid "Enable USB debugging" msgstr "Activer le débogage USB" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Les détails sur la manière d'effectuer ces changements peuvent être trouvés [dans la documentation du développeur Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#: docs/en/tutorial/tutorial-5/android.md:327 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Une fois ces étapes terminées, votre appareil devrait apparaître dans la liste des appareils disponibles lorsque vous lancez `briefcase run android`." +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" +"Les détails sur la manière d'effectuer ces changements peuvent être trouvés " +"[dans la documentation du développeur Android]{1}." -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#: docs/en/tutorial/tutorial-5/android.md:330 #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série sur la liste de déploiement - dans ce cas, un Pixel 3a. À l'avenir, si vous souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez fournir le numéro de série du téléphone à Briefcase (dans ce cas, `briefcase run android -d 94ZZY0LNE8`). Cela lancera l'application directement sur l'appareil, sans l'inviter à le faire." +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "" +"Une fois ces étapes terminées, votre appareil devrait apparaître dans la " +"liste des appareils disponibles lorsque vous lancez `briefcase run android`." -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#: docs/en/tutorial/tutorial-5/android.md:381 #, fuzzy -msgid "My device doesn't appear!" -msgstr "Mon appareil n'apparaît pas !" +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"Ici, nous pouvons voir un nouvel appareil physique avec son numéro de série " +"sur la liste de déploiement - dans ce cas, un Pixel 3a. À l'avenir, si vous " +"souhaitez exécuter sur cet appareil sans utiliser le menu, vous pouvez " +"fournir le numéro de série du téléphone à Briefcase (dans ce cas, `briefcase " +"run android -d 94ZZY0LNE8`). Cela lancera l'application directement sur " +"l'appareil, sans l'inviter à le faire." + +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#: docs/en/tutorial/tutorial-5/android.md:390 #, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Si votre appareil n'apparaît pas du tout dans cette liste, c'est que vous n'avez pas activé le débogage USB (ou que l'appareil n'est pas branché !)." +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "" +"Si votre appareil n'apparaît pas du tout dans cette liste, c'est que vous " +"n'avez pas activé le débogage USB (ou que l'appareil n'est pas branché !)." -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 -#, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run `the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Si votre appareil apparaît, mais qu'il est listé comme \"Unknown device (not authorized for development)\", le mode développeur n'a pas été correctement activé. Réexécutez [les étapes pour activer les options de développement]{1}, et réexécutez `briefcase run android`." +#: docs/en/tutorial/tutorial-5/android.md:393 +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "Tutoriel 5 - Le mobile : Android" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po index a64d2e20..e613a568 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -1,94 +1,147 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" -"Language: fr\n" -"Language-Team: French \n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" +"Language-Team: French \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutoriel 5 - Le mobile : iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#: docs/en/tutorial/tutorial-5/iOS.md:13 #, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Une fois Xcode installé, nous pouvons prendre notre application et la déployer en tant qu'application iOS." +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." +msgstr "" +"Une fois Xcode installé, nous pouvons prendre notre application et la " +"déployer en tant qu'application iOS." -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "Le processus de déploiement d'une application sur iOS est très similaire au processus de déploiement d'une application de bureau. Tout d'abord, vous exécutez la commande `create` - mais cette fois, nous spécifions que nous voulons créer une application iOS :" +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#: docs/en/tutorial/tutorial-5/iOS.md:46 #, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Une fois cette opération terminée, nous aurons un répertoire `build/helloworld/ios/xcode` contenant un projet Xcode, ainsi que les bibliothèques de support et le code nécessaire à l'application." +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"Une fois cette opération terminée, nous aurons un répertoire `build/" +"helloworld/ios/xcode` contenant un projet Xcode, ainsi que les bibliothèques " +"de support et le code nécessaire à l'application." -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#: docs/en/tutorial/tutorial-5/iOS.md:50 #, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Vous pouvez ensuite utiliser Briefcase pour compiler votre application en utilisant `briefcase build iOS` :" +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "" +"Vous pouvez ensuite utiliser Briefcase pour compiler votre application en " +"utilisant `briefcase build iOS` :" -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#: docs/en/tutorial/tutorial-5/iOS.md:66 #, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Nous sommes maintenant prêts à exécuter notre application, en utilisant `briefcase run iOS`. Il vous sera demandé de sélectionner un appareil pour lequel compiler ; si vous avez installé des simulateurs pour plusieurs versions du SDK iOS, il vous sera peut-être demandé quelle version d'iOS vous voulez cibler. Les options affichées peuvent différer de celles présentées dans cette sortie - au moins, la liste des appareils sera probablement différente. En ce qui nous concerne, le simulateur choisi n'a pas d'importance." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"Nous sommes maintenant prêts à exécuter notre application, en utilisant `" +"briefcase run iOS`. Il vous sera demandé de sélectionner un appareil pour " +"lequel compiler ; si vous avez installé des simulateurs pour plusieurs " +"versions du SDK iOS, il vous sera peut-être demandé quelle version d'iOS " +"vous voulez cibler. Les options affichées peuvent différer de celles " +"présentées dans cette sortie - au moins, la liste des appareils sera " +"probablement différente. En ce qui nous concerne, le simulateur choisi n'a " +"pas d'importance." + +#: docs/en/tutorial/tutorial-5/iOS.md:116 #, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Ceci lancera le simulateur iOS, installera votre application et la démarrera. Vous devriez voir le simulateur démarrer, puis ouvrir votre application iOS :" +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "" +"Ceci lancera le simulateur iOS, installera votre application et la " +"démarrera. Vous devriez voir le simulateur démarrer, puis ouvrir votre " +"application iOS :" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World Tutorial 5 window, sur iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#: docs/en/tutorial/tutorial-5/iOS.md:127 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Si vous savez à l'avance quel simulateur iOS vous voulez cibler, vous pouvez dire à Briefcase d'utiliser ce simulateur en fournissant une option `-d` (ou `--device`). En utilisant le nom de l'appareil que vous avez sélectionné lorsque vous avez créé votre application, exécutez :" +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"Si vous savez à l'avance quel simulateur iOS vous voulez cibler, vous pouvez " +"dire à Briefcase d'utiliser ce simulateur en fournissant une option `-d` (ou " +"`--device`). En utilisant le nom de l'appareil que vous avez sélectionné " +"lorsque vous avez créé votre application, exécutez :" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#: docs/en/tutorial/tutorial-5/iOS.md:136 #, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Si vous avez plusieurs versions iOS disponibles, Briefcase choisira la version iOS la plus élevée ; si vous voulez choisir une version iOS particulière, vous lui direz d'utiliser cette version spécifique :" +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "" +"Si vous avez plusieurs versions iOS disponibles, Briefcase choisira la " +"version iOS la plus élevée ; si vous voulez choisir une version iOS " +"particulière, vous lui direz d'utiliser cette version spécifique :" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 #, fuzzy msgid "Or, you can name a specific device UDID:" msgstr "Vous pouvez également nommer un appareil spécifique UDID :" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Nous avons maintenant une application sur notre téléphone ! Y a-t-il un autre endroit où nous pouvons déployer une application BeeWare ? Consultez [Tutoriel 6][../tutorial-6] pour le savoir..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Pour compiler les applications iOS, nous avons besoin de Xcode, qui est disponible gratuitement sur [le macOS App Store]{1}." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "Tutoriel 5 - Le mobile : iOS" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po index e326658e..03ea22f5 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,45 +2,47 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutoriel 5 - Rendre votre application mobile" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Jusqu'à présent, nous avons exécuté et testé notre application sur un ordinateur de bureau. Cependant, BeeWare prend également en charge les plates-formes mobiles - et l'application que nous avons écrite peut également être déployée sur votre appareil mobile !" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "Les applications iOS ne peuvent être compilées que sur macOS." +#: docs/en/tutorial/tutorial-5/index.md:3 +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" +msgstr "" +"Jusqu'à présent, nous avons exécuté et testé notre application sur un " +"ordinateur de bureau. Cependant, BeeWare prend également en charge les " +"plates-formes mobiles - et l'application que nous avons écrite peut " +"également être déployée sur votre appareil mobile !" -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#: docs/en/tutorial/tutorial-5/index.md:9 msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Les applications Android peuvent être compilées sur macOS, Windows ou Linux." +msgstr "" +"Les applications Android peuvent être compilées sur macOS, Windows ou Linux." + +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Créons notre application pour iOS !][iOS]" +#: docs/en/tutorial/tutorial-5/index.md:13 +msgid "iOS applications can only be compiled on macOS." +msgstr "Les applications iOS ne peuvent être compilées que sur macOS." -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Créons notre application pour Android !][android]" +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "Tutoriel 5 - Rendre votre application mobile" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po index 5585c4d4..609907be 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,101 +2,181 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" "Language-Team: French \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.4-dev\n" -"Generated-By: Babel 2.14.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -#, fuzzy -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutoriel 6 - Mettez-le sur le web !" +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b +#: docs/en/tutorial/tutorial-6.md:3 #, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "En plus de prendre en charge les plateformes mobiles, la boîte à outils Toga widget prend également en charge le web ! En utilisant la même API que celle utilisée pour déployer vos applications de bureau et mobiles, vous pouvez déployer votre application en tant qu'application web à page unique." +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." +msgstr "" +"En plus de prendre en charge les plateformes mobiles, la boîte à outils Toga " +"widget prend également en charge le web ! En utilisant la même API que celle " +"utilisée pour déployer vos applications de bureau et mobiles, vous pouvez " +"déployer votre application en tant qu'application web à page unique." -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -#, fuzzy -msgid "Proof of Concept" -msgstr "Preuve de concept" +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 +#: docs/en/tutorial/tutorial-6.md:10 #, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "Le backend de Toga Web est le moins mature de tous les backends de Toga. Il est suffisamment mature pour présenter quelques fonctionnalités, mais il est probable qu'il soit bogué et qu'il manque de nombreux widgets disponibles sur d'autres plates-formes. À ce stade, le déploiement sur le Web doit être considéré comme une \"preuve de concept\" - suffisante pour démontrer ce qui peut être fait, mais pas assez pour être utilisée pour un développement sérieux." - -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." +msgstr "" +"Le backend de Toga Web est le moins mature de tous les backends de Toga. Il " +"est suffisamment mature pour présenter quelques fonctionnalités, mais il est " +"probable qu'il soit bogué et qu'il manque de nombreux widgets disponibles " +"sur d'autres plates-formes. À ce stade, le déploiement sur le Web doit être " +"considéré comme une \"preuve de concept\" - suffisante pour démontrer ce qui " +"peut être fait, mais pas assez pour être utilisée pour un développement " +"sérieux." + +#: docs/en/tutorial/tutorial-6.md:17 #, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Si vous avez des problèmes avec cette étape du tutoriel, vous pouvez passer à la page suivante." +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." +msgstr "" +"Si vous avez des problèmes avec cette étape du tutoriel, vous pouvez passer " +"à la page suivante." + +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#: docs/en/tutorial/tutorial-6.md:22 #, fuzzy msgid "Deploying as a web app" msgstr "Déploiement en tant qu'application web" -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d +#: docs/en/tutorial/tutorial-6.md:24 #, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "Le processus de déploiement en tant qu'application web à page unique suit le même schéma familier - vous créez l'application, vous la construisez, puis vous l'exécutez. Cependant, Briefcase peut être un peu plus intelligent ; si vous essayez d'exécuter une application et que Briefcase détermine qu'elle n'a pas été créée ou construite pour la plateforme ciblée, il effectuera les étapes de création et de construction pour vous. Puisque c'est la première fois que nous lançons l'application pour le web, nous pouvons exécuter les trois étapes en une seule commande :" - -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" +msgstr "" +"Le processus de déploiement en tant qu'application web à page unique suit le " +"même schéma familier - vous créez l'application, vous la construisez, puis " +"vous l'exécutez. Cependant, Briefcase peut être un peu plus intelligent ; si " +"vous essayez d'exécuter une application et que Briefcase détermine qu'elle " +"n'a pas été créée ou construite pour la plateforme ciblée, il effectuera les " +"étapes de création et de construction pour vous. Puisque c'est la première " +"fois que nous lançons l'application pour le web, nous pouvons exécuter les " +"trois étapes en une seule commande :" + +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Cela ouvrira un navigateur web, pointant sur [http://127.0.0.1:8080](http://127.0.0.1:8080) :" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Tutoriel Hello World 6 dialogue, dans un navigateur" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#: docs/en/tutorial/tutorial-6.md:156 #, fuzzy msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Si vous entrez votre nom et cliquez sur le bouton, une boîte de dialogue apparaît." +msgstr "" +"Si vous entrez votre nom et cliquez sur le bouton, une boîte de dialogue " +"apparaît." -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#: docs/en/tutorial/tutorial-6.md:158 #, fuzzy msgid "How does this work?" msgstr "Comment ça marche ?" -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 +#: docs/en/tutorial/tutorial-6.md:160 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Cette application web est un site web statique - une seule page source HTML, avec quelques feuilles de style CSS et d'autres ressources. Briefcase a démarré un serveur web local pour servir cette page afin que votre navigateur puisse la voir. Si vous voulez mettre cette page web en production, vous pouvez copier le contenu du dossier `www` sur n'importe quel serveur web qui peut servir du contenu statique." - -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." +msgstr "" +"Cette application web est un site web statique - une seule page source HTML, " +"avec quelques feuilles de style CSS et d'autres ressources. Briefcase a " +"démarré un serveur web local pour servir cette page afin que votre " +"navigateur puisse la voir. Si vous voulez mettre cette page web en " +"production, vous pouvez copier le contenu du dossier `www` sur n'importe " +"quel serveur web qui peut servir du contenu statique." + +#: docs/en/tutorial/tutorial-6.md:166 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Mais lorsque vous appuyez sur le bouton, vous exécutez du code Python... Comment cela fonctionne-t-il ? Toga utilise [PyScript]{1} pour fournir un interprète Python dans le navigateur. Briefcase présente le code de votre application sous forme de roues que PyScript peut charger dans le navigateur. Lorsque la page est chargée, le code de l'application s'exécute dans le navigateur, construisant l'interface utilisateur en utilisant le DOM du navigateur. Lorsque vous cliquez sur un bouton, ce bouton exécute le code de gestion des événements dans le navigateur." - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." +msgstr "" +"Mais lorsque vous appuyez sur le bouton, vous exécutez du code Python... " +"Comment cela fonctionne-t-il ? Toga utilise [PyScript]{1} pour fournir un " +"interprète Python dans le navigateur. Briefcase présente le code de votre " +"application sous forme de roues que PyScript peut charger dans le " +"navigateur. Lorsque la page est chargée, le code de l'application s'exécute " +"dans le navigateur, construisant l'interface utilisateur en utilisant le DOM " +"du navigateur. Lorsque vous cliquez sur un bouton, ce bouton exécute le code " +"de gestion des événements dans le navigateur." + +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde +#: docs/en/tutorial/tutorial-6.md:176 +#, fuzzy +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." +msgstr "" +"Bien que nous ayons maintenant déployé cette application sur les ordinateurs " +"de bureau, les téléphones portables et le web, l'application est assez " +"simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des " +"bibliothèques du Python Package Index (PyPI) dans notre application ? " +"Consultez [Tutoriel 7][tutorial-7] pour le savoir..." + #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Bien que nous ayons maintenant déployé cette application sur les ordinateurs de bureau, les téléphones portables et le web, l'application est assez simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des bibliothèques du Python Package Index (PyPI) dans notre application ? Consultez [Tutoriel 7][tutorial-7] pour le savoir..." +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "Tutoriel 6 - Mettez-le sur le web !" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po index 26d715ee..8798e7d0 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po @@ -2,373 +2,559 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutoriel n° 7 - Démarrer cette (troisième) partie" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#: docs/en/tutorial/tutorial-7.md:3 #, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Jusqu'à présent, l'application que nous avons construite n'a utilisé que notre propre code, ainsi que le code fourni par BeeWare. Cependant, dans une application réelle, vous voudrez probablement utiliser une bibliothèque tierce, téléchargée à partir du Python Package Index (PyPI)." +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"Jusqu'à présent, l'application que nous avons construite n'a utilisé que " +"notre propre code, ainsi que le code fourni par BeeWare. Cependant, dans une " +"application réelle, vous voudrez probablement utiliser une bibliothèque " +"tierce, téléchargée à partir du Python Package Index (PyPI)." -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 #, fuzzy msgid "Let's modify our app to include a third-party library." msgstr "Modifions notre application pour y inclure une bibliothèque tierce." -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#: docs/en/tutorial/tutorial-7.md:23 #, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Ajoutons un appel API `httpx` à notre application. Ajoutez un import au début de `app.py` pour importer `httpx`: :" +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "" +"Ajoutons un appel API `httpx` à notre application. Ajoutez un import au " +"début de `app.py` pour importer `httpx`: :" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Ensuite, modifiez le callback `say_hello()` pour qu'il ressemble à ceci: :" +msgstr "" +"Ensuite, modifiez le callback `say_hello()` pour qu'il ressemble à ceci: :" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#: docs/en/tutorial/tutorial-7.md:43 #, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Exécutons notre application mise à jour dans le mode développeur de Briefcase pour vérifier que notre changement a fonctionné." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." +msgstr "" +"Exécutons notre application mise à jour dans le mode développeur de " +"Briefcase pour vérifier que notre changement a fonctionné." + +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "Qu'est-ce qui s'est passé ? Nous avons ajouté `httpx` à notre *code*, mais nous ne l'avons pas ajouté à notre environnement virtuel de développement. Nous pouvons corriger cela en installant `httpx` avec `pip`, puis en relançant `briefcase dev` :" +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Lorsque vous entrez un nom et que vous appuyez sur le bouton, une boîte de dialogue doit s'afficher :" +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Tutoriel Hello World 7 dialogue, sur macOS" +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#: docs/en/tutorial/tutorial-7.md:126 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Tutoriel Hello World 7 dialogue, sur Linux" +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"Qu'est-ce qui s'est passé ? Nous avons ajouté `httpx` à notre *code*, mais " +"nous ne l'avons pas ajouté à notre environnement virtuel de développement. " +"Nous pouvons corriger cela en installant `httpx` avec `pip`, puis en " +"relançant `briefcase dev` :" -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Tutoriel Hello World 7 dialogue, sur Windows" +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" +"Lorsque vous entrez un nom et que vous appuyez sur le bouton, une boîte de " +"dialogue doit s'afficher :" -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#: docs/en/tutorial/tutorial-7.md:192 #, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Nous avons maintenant une application fonctionnelle, utilisant une bibliothèque tierce, fonctionnant en mode développement !" +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" +msgstr "" +"Nous avons maintenant une application fonctionnelle, utilisant une " +"bibliothèque tierce, fonctionnant en mode développement !" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 #, fuzzy msgid "Running the updated app" msgstr "Exécution de l'application mise à jour" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Nous allons faire en sorte que ce code d'application mis à jour soit empaqueté en tant qu'application autonome. Puisque nous avons modifié le code, nous devons suivre les mêmes étapes que dans [Tutoriel 4][tutorial-4] :" +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"Nous allons faire en sorte que ce code d'application mis à jour soit " +"empaqueté en tant qu'application autonome. Puisque nous avons modifié le " +"code, nous devons suivre les mêmes étapes que dans [Tutoriel 4][tutorial-4] :" -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "Mettre à jour le code dans l'application packagée :" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "Reconstruire l'application :" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 #, fuzzy msgid "And finally, run the app:" msgstr "Enfin, lancez l'application :" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 -#, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Cependant, lorsque l'application s'exécute, vous verrez une erreur dans la console, ainsi qu'une boîte de dialogue de plantage :" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Plantage de l'application Hello World Tutorial 7, sur macOS" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" +msgstr "" +"Cependant, lorsque l'application s'exécute, vous verrez une erreur dans la " +"console, ainsi qu'une boîte de dialogue de plantage :" -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans la console :" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Plantage de l'application Hello World Tutorial 7, sous Windows" +msgstr "" +"Cependant, lorsque l'application s'exécute, une erreur apparaît dans la " +"console :" -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" -msgstr "Cependant, lorsque l'application s'exécute, une erreur apparaît dans la console :" +msgstr "" +"Cependant, lorsque l'application s'exécute, une erreur apparaît dans la " +"console :" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Une fois de plus, l'application n'a pas pu démarrer parce que `httpx` a été installé - mais pourquoi ? N'avons-nous pas déjà installé [httpx` ?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Nous l'avons fait, mais uniquement dans l'environnement de développement. Votre environnement de développement est entièrement local à votre machine - et n'est activé que lorsque vous l'activez explicitement. Bien que Briefcase dispose d'un mode de développement, la principale raison pour laquelle vous utilisez Briefcase est d'empaqueter votre code afin de le donner à quelqu'un d'autre." +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"Nous l'avons fait, mais uniquement dans l'environnement de développement. " +"Votre environnement de développement est entièrement local à votre machine - " +"et n'est activé que lorsque vous l'activez explicitement. Bien que Briefcase " +"dispose d'un mode de développement, la principale raison pour laquelle vous " +"utilisez Briefcase est d'empaqueter votre code afin de le donner à quelqu'un " +"d'autre." -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "La seule façon de garantir que quelqu'un d'autre disposera d'un environnement Python contenant tout ce dont il a besoin est de construire un environnement Python complètement isolé. Cela signifie qu'il y a une installation Python complètement isolée, et un ensemble de dépendances complètement isolé. C'est ce que Briefcase construit quand vous lancez `briefcase build` - un environnement Python isolé. Cela explique aussi pourquoi `httpx` n'est pas installé - il a été installé dans votre environnement de *développement*, mais pas dans l'application packagée." +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"La seule façon de garantir que quelqu'un d'autre disposera d'un " +"environnement Python contenant tout ce dont il a besoin est de construire un " +"environnement Python complètement isolé. Cela signifie qu'il y a une " +"installation Python complètement isolée, et un ensemble de dépendances " +"complètement isolé. C'est ce que Briefcase construit quand vous lancez `" +"briefcase build` - un environnement Python isolé. Cela explique aussi " +"pourquoi `httpx` n'est pas installé - il a été installé dans votre " +"environnement de *développement*, mais pas dans l'application packagée." -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Nous devons donc indiquer à Briefcase que notre application a une dépendance externe." +msgstr "" +"Nous devons donc indiquer à Briefcase que notre application a une dépendance " +"externe." -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "Mise à jour des dépendances" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "Dans le répertoire racine de votre application, il y a un fichier nommé `pyproject.toml`. Ce fichier contient tous les détails de configuration de l'application que vous avez fournis lorsque vous avez lancé `briefcase new`." +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"Dans le répertoire racine de votre application, il y a un fichier nommé " +"`pyproject.toml`. Ce fichier contient tous les détails de configuration de " +"l'application que vous avez fournis lorsque vous avez lancé `briefcase new`." -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "`pyproject.toml` est divisé en sections ; l'une d'entre elles décrit les paramètres de votre application: :" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" +msgstr "" +"`pyproject.toml` est divisé en sections ; l'une d'entre elles décrit les " +"paramètres de votre application: :" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "L'option `requires` décrit les dépendances de notre application. C'est une liste de chaînes de caractères, spécifiant les bibliothèques (et, optionnellement, les versions) des bibliothèques que vous voulez inclure dans votre application." +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "" +"L'option `requires` décrit les dépendances de notre application. C'est une " +"liste de chaînes de caractères, spécifiant les bibliothèques (et, " +"optionnellement, les versions) des bibliothèques que vous voulez inclure " +"dans votre application." -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "Modifiez le paramètre `requires` de façon à ce qu'il se lise: :" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "En ajoutant ce paramètre, nous disons à Briefcase \"lorsque vous compilez mon application, lancez `pip install httpx` dans le bundle de l'application\". Tout ce qui serait une entrée légale pour `pip install` peut être utilisé ici - ainsi, vous pourriez spécifier :" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"En ajoutant ce paramètre, nous disons à Briefcase \"lorsque vous compilez " +"mon application, lancez `pip install httpx` dans le bundle de l'application\"" +". Tout ce qui serait une entrée légale pour `pip install` peut être utilisé " +"ici - ainsi, vous pourriez spécifier :" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Une version spécifique de la bibliothèque (par exemple, `\"httpx==0.19.0\"`) ;" +msgstr "" +"Une version spécifique de la bibliothèque (par exemple, `\"httpx==0.19.0\"`) " +";" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Une gamme de versions de la bibliothèque (par exemple, `\"httpx>=0.19\"`) ;" +msgstr "" +"Une gamme de versions de la bibliothèque (par exemple, `\"httpx>=0.19\"`) ;" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Un chemin vers un dépôt git (par exemple, `\"git+https://github.com/encode/httpx\"`) ; ou" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" +msgstr "" +"Un chemin vers un dépôt git (par exemple, `" +"\"git+https://github.com/encode/httpx\"`) ; ou" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#: docs/en/tutorial/tutorial-7.md:519 #, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Un chemin d'accès à un fichier local (Cependant, attention : si vous donnez votre code à quelqu'un d'autre, ce chemin d'accès n'existera probablement pas sur sa machine !)" +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "" +"Un chemin d'accès à un fichier local (Cependant, attention : si vous donnez " +"votre code à quelqu'un d'autre, ce chemin d'accès n'existera probablement " +"pas sur sa machine !)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Plus loin dans `pyproject.toml`, vous remarquerez d'autres sections qui dépendent du système d'exploitation, comme `[tool.briefcase.app.helloworld.macOS]` et `[tool.briefcase.app.helloworld.windows]`. Ces sections ont *également* un paramètre `requires`. Ces paramètres vous permettent de définir des dépendances supplémentaires spécifiques à une plate-forme - ainsi, par exemple, si vous avez besoin d'une bibliothèque spécifique à une plate-forme pour gérer un aspect de votre application, vous pouvez spécifier cette bibliothèque dans la section `requires'' spécifique à la plate-forme, et ce paramètre ne sera utilisé que pour cette plate-forme. Vous remarquerez que les bibliothèques `toga` sont toutes spécifiées dans la section `requires` spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires pour afficher une interface utilisateur sont spécifiques à la plate-forme." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"Plus loin dans `pyproject.toml`, vous remarquerez d'autres sections qui " +"dépendent du système d'exploitation, comme `" +"[tool.briefcase.app.helloworld.macOS]` et `" +"[tool.briefcase.app.helloworld.windows]`. Ces sections ont *également* un " +"paramètre `requires`. Ces paramètres vous permettent de définir des " +"dépendances supplémentaires spécifiques à une plate-forme - ainsi, par " +"exemple, si vous avez besoin d'une bibliothèque spécifique à une plate-forme " +"pour gérer un aspect de votre application, vous pouvez spécifier cette " +"bibliothèque dans la section `requires'' spécifique à la plate-forme, et ce " +"paramètre ne sera utilisé que pour cette plate-forme. Vous remarquerez que " +"les bibliothèques `toga` sont toutes spécifiées dans la section `requires` " +"spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires " +"pour afficher une interface utilisateur sont spécifiques à la plate-forme." + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "Dans notre cas, nous voulons que `httpx` soit installé sur toutes les plateformes, donc nous utilisons le paramètre `requires` au niveau de l'application. Les dépendances au niveau de l'application seront toujours installées ; les dépendances spécifiques à la plate-forme sont installées *en plus* de celles au niveau de l'application." +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"Dans notre cas, nous voulons que `httpx` soit installé sur toutes les " +"plateformes, donc nous utilisons le paramètre `requires` au niveau de " +"l'application. Les dépendances au niveau de l'application seront toujours " +"installées ; les dépendances spécifiques à la plate-forme sont installées *" +"en plus* de celles au niveau de l'application." -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Maintenant que nous avons informé Briefcase de nos exigences supplémentaires, nous pouvons essayer d'empaqueter à nouveau notre application. Assurez-vous que vous avez sauvegardé vos changements dans `pyproject.toml`, puis mettez à jour votre application à nouveau - cette fois-ci, en passant le drapeau `-r`. Cela indique à Briefcase de mettre à jour les exigences dans l'application packagée :" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"Maintenant que nous avons informé Briefcase de nos exigences " +"supplémentaires, nous pouvons essayer d'empaqueter à nouveau notre " +"application. Assurez-vous que vous avez sauvegardé vos changements dans " +"`pyproject.toml`, puis mettez à jour votre application à nouveau - cette " +"fois-ci, en passant le drapeau `-r`. Cela indique à Briefcase de mettre à " +"jour les exigences dans l'application packagée :" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Une fois la mise à jour effectuée, vous pouvez lancer `briefcase build` et `briefcase run` - et vous devriez voir votre application packagée, avec le nouveau comportement du dialogue." +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" +"Une fois la mise à jour effectuée, vous pouvez lancer `briefcase build` et `" +"briefcase run` - et vous devriez voir votre application packagée, avec le " +"nouveau comportement du dialogue." + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "L'option `-r` pour la mise à jour des exigences est également honorée par les commandes `build` et `run`, donc si vous voulez mettre à jour, compiler et exécuter en une seule étape, vous pouvez utiliser `briefcase run -u -r`." +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"L'option `-r` pour la mise à jour des exigences est également honorée par " +"les commandes `build` et `run`, donc si vous voulez mettre à jour, compiler " +"et exécuter en une seule étape, vous pouvez utiliser `briefcase run -u -r`." -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Sur les plateformes de bureau (macOS, Windows, Linux), tout `pip`-installable peut être ajouté à vos exigences. Sur les plateformes mobiles et web, [vos options sont légèrement limitées]{1}." +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"Sur les plateformes de bureau (macOS, Windows, Linux), tout `pip`-" +"installable peut être ajouté à vos exigences. Sur les plateformes mobiles et " +"web, [vos options sont légèrement limitées]{1}." -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#: docs/en/tutorial/tutorial-7.md:719 #, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare peut fournir des binaires pour certains modules binaires populaires (y compris `numpy`, `pandas`, et `cryptographie`). Il est *habituellement* possible de compiler des paquets pour les plateformes mobiles, mais ce n'est pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel d'introduction comme celui-ci." +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" +"BeeWare peut fournir des binaires pour certains modules binaires populaires (" +"y compris `numpy`, `pandas`, et `cryptographie`). Il est *habituellement* " +"possible de compiler des paquets pour les plateformes mobiles, mais ce n'est " +"pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel " +"d'introduction comme celui-ci." -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "Accéder à une API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Une tâche courante qu'une application doit effectuer est de faire une requête sur une API web pour récupérer des données, et afficher ces données à l'utilisateur. Comme il s'agit d'une application jouet, nous n'avons pas de *vraie* API à utiliser. Nous utiliserons donc la [{JSON} Placeholder API]{1} comme source de données." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "L'API {JSON} Placeholder possède un certain nombre de \"faux\" points de terminaison d'API que vous pouvez utiliser comme données de test. L'une de ces API est le point de terminaison `/posts/`, qui renvoie de faux billets de blog. Si vous ouvrez `https://jsonplaceholder.typicode.com/posts/42` dans votre navigateur, vous obtiendrez un fichier JSON décrivant un seul article - un contenu [Lorum ipsum]{1} pour un article de blog avec l'ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "La bibliothèque standard de Python contient tous les outils dont vous avez besoin pour accéder à une API. Cependant, les API intégrées sont de très bas niveau. Ce sont de bonnes implémentations du protocole HTTP, mais elles exigent de l'utilisateur qu'il gère de nombreux détails de bas niveau, comme la redirection d'URL, les sessions, l'authentification et l'encodage des données utiles. En tant qu'\"utilisateur normal de navigateur\", vous avez probablement l'habitude de considérer ces détails comme allant de soi, car le navigateur les gère pour vous." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "En conséquence, des bibliothèques tierces ont été développées pour envelopper les API intégrées et fournir une API plus simple qui correspond mieux à l'expérience quotidienne du navigateur. Nous allons utiliser l'une de ces bibliothèques pour accéder à l'API {JSON} Placeholder - une bibliothèque appelée [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Cela modifiera le callback `say_hello()` de telle sorte que lorsqu'il est invoqué, il le fera :" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "effectuer une requête GET sur l'API JSON pour obtenir le poste 42 ;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "décoder la réponse en JSON ;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "extraire le corps du message ; et" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "inclure le corps de ce message dans le texte du dialogue." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Certains paquets binaires peuvent ne pas être disponibles" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "En bref, tout paquetage *pure Python* (c'est-à-dire les paquetages qui ne contiennent pas de module binaire) peut être utilisé sans difficulté. Cependant, si votre dépendance contient un composant binaire, il doit être compilé ; à l'heure actuelle, la plupart des paquets Python ne fournissent pas de support de compilation pour les plates-formes autres que les ordinateurs de bureau." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Nous avons maintenant une application qui utilise une bibliothèque tierce ! Cependant, vous avez peut-être remarqué que lorsque vous appuyez sur le bouton, l'application ne répond plus vraiment. Pouvons-nous faire quelque chose pour résoudre ce problème ? Consultez [Tutoriel 8][tutorial-8] pour le savoir..." +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "Tutoriel n° 7 - Démarrer cette (troisième-)partie" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po index ec377fd0..0a6e8ffe 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,370 +2,599 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French \n" -"Language: fr\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutoriel 8 - Le rendre lisse" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." msgstr "" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" +msgstr "" +"Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement " +"`say_hello()` pour qu'il ressemble à ceci: :" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A moins que vous ne disposiez d'une connexion internet *très* rapide, vous remarquerez peut-être que lorsque vous appuyez sur le bouton, l'interface graphique de votre application se bloque pendant un petit moment. C'est parce que la requête web que nous avons faite est *synchrone*. Lorsque notre application effectue la requête web, elle attend que l'API renvoie une réponse avant de continuer. Pendant cette attente, l'API ne permet pas à l'application de se redessiner, ce qui a pour effet de bloquer l'application." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"A moins que vous ne disposiez d'une connexion internet *très* rapide, vous " +"remarquerez peut-être que lorsque vous appuyez sur le bouton, l'interface " +"graphique de votre application se bloque pendant un petit moment. C'est " +"parce que la requête web que nous avons faite est *synchrone*. Lorsque notre " +"application effectue la requête web, elle attend que l'API renvoie une " +"réponse avant de continuer. Pendant cette attente, l'API ne permet pas à " +"l'application de se redessiner, ce qui a pour effet de bloquer l'application." + +#: docs/en/tutorial/tutorial-8.md:181 #, fuzzy msgid "GUI Event Loops" msgstr "Boucles d'événements de l'interface graphique" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#: docs/en/tutorial/tutorial-8.md:183 #, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Pour comprendre pourquoi cela se produit, nous devons entrer dans les détails du fonctionnement d'une application GUI. Les spécificités varient en fonction de la plate-forme, mais les concepts de haut niveau sont les mêmes, quelle que soit la plate-forme ou l'environnement d'interface graphique que vous utilisez." - -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"Pour comprendre pourquoi cela se produit, nous devons entrer dans les " +"détails du fonctionnement d'une application GUI. Les spécificités varient en " +"fonction de la plate-forme, mais les concepts de haut niveau sont les mêmes, " +"quelle que soit la plate-forme ou l'environnement d'interface graphique que " +"vous utilisez." + +#: docs/en/tutorial/tutorial-8.md:188 #, fuzzy msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Une application GUI est, fondamentalement, une boucle unique qui ressemble à quelque chose comme: :" +msgstr "" +"Une application GUI est, fondamentalement, une boucle unique qui ressemble à " +"quelque chose comme: :" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Cette boucle est appelée *boucle d'événements*. (Il ne s'agit pas de noms de méthodes réels, mais d'une illustration de ce qui se passe dans le \"pseudo-code\")." +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "" +"Cette boucle est appelée *boucle d'événements*. (Il ne s'agit pas de noms de " +"méthodes réels, mais d'une illustration de ce qui se passe dans le " +"\"pseudo-code\")." -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#: docs/en/tutorial/tutorial-8.md:199 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Lorsque vous cliquez sur un bouton, faites glisser une barre de défilement ou tapez une touche, vous générez un \"événement\". Cet \"événement\" est placé dans une file d'attente, et l'application traitera la file d'événements lorsqu'elle en aura l'occasion. Le code utilisateur déclenché en réponse à l'événement est appelé \"gestionnaire d'événement\". Ces gestionnaires d'événements sont invoqués dans le cadre de l'appel `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"Lorsque vous cliquez sur un bouton, faites glisser une barre de défilement " +"ou tapez une touche, vous générez un \"événement\". Cet \"événement\" est " +"placé dans une file d'attente, et l'application traitera la file " +"d'événements lorsqu'elle en aura l'occasion. Le code utilisateur déclenché " +"en réponse à l'événement est appelé \"gestionnaire d'événement\". Ces " +"gestionnaires d'événements sont invoqués dans le cadre de l'appel " +"`process_events()`." + +#: docs/en/tutorial/tutorial-8.md:206 #, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Une fois qu'une application a traité tous les événements disponibles, elle va `redraw()` l'interface graphique. Cela prend en compte tous les changements que les événements ont causés à l'affichage de l'application, ainsi que tout ce qui se passe dans le système d'exploitation - par exemple, les fenêtres d'une autre application peuvent masquer ou révéler une partie de la fenêtre de notre application, et le redessin de notre application devra refléter la partie de la fenêtre qui est actuellement visible." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"Une fois qu'une application a traité tous les événements disponibles, elle " +"va `redraw()` l'interface graphique. Cela prend en compte tous les " +"changements que les événements ont causés à l'affichage de l'application, " +"ainsi que tout ce qui se passe dans le système d'exploitation - par exemple, " +"les fenêtres d'une autre application peuvent masquer ou révéler une partie " +"de la fenêtre de notre application, et le redessin de notre application " +"devra refléter la partie de la fenêtre qui est actuellement visible." + +#: docs/en/tutorial/tutorial-8.md:213 #, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "Détail important : pendant qu'une application traite un événement, *elle ne peut pas redessiner*, et *elle ne peut pas traiter d'autres événements*." +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "" +"Détail important : pendant qu'une application traite un événement, *elle ne " +"peut pas redessiner*, et *elle ne peut pas traiter d'autres événements*." -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#: docs/en/tutorial/tutorial-8.md:216 #, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Cela signifie que toute logique utilisateur contenue dans un gestionnaire d'événements doit être exécutée rapidement. Tout retard dans l'exécution du gestionnaire d'événements sera observé par l'utilisateur sous la forme d'un ralentissement (ou d'un arrêt) des mises à jour de l'interface graphique. Si ce délai est suffisamment long, votre système d'exploitation peut signaler qu'il s'agit d'un problème - les icônes macOS \"beachball\" et Windows \"spinner\" indiquent que votre application prend trop de temps dans un gestionnaire d'événements." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"Cela signifie que toute logique utilisateur contenue dans un gestionnaire " +"d'événements doit être exécutée rapidement. Tout retard dans l'exécution du " +"gestionnaire d'événements sera observé par l'utilisateur sous la forme d'un " +"ralentissement (ou d'un arrêt) des mises à jour de l'interface graphique. Si " +"ce délai est suffisamment long, votre système d'exploitation peut signaler " +"qu'il s'agit d'un problème - les icônes macOS \"beachball\" et Windows " +"\"spinner\" indiquent que votre application prend trop de temps dans un " +"gestionnaire d'événements." + +#: docs/en/tutorial/tutorial-8.md:224 #, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Des opérations simples comme \"mettre à jour une étiquette\" ou \"recalculer le total des entrées\" sont faciles à réaliser rapidement. Cependant, de nombreuses opérations ne peuvent pas être effectuées rapidement. Si vous effectuez un calcul mathématique complexe, si vous indexez tous les fichiers d'un système de fichiers ou si vous effectuez une requête réseau importante, vous ne pouvez pas \"faire vite\" - les opérations sont intrinsèquement lentes." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"Des opérations simples comme \"mettre à jour une étiquette\" ou " +"\"recalculer le total des entrées\" sont faciles à réaliser rapidement. " +"Cependant, de nombreuses opérations ne peuvent pas être effectuées " +"rapidement. Si vous effectuez un calcul mathématique complexe, si vous " +"indexez tous les fichiers d'un système de fichiers ou si vous effectuez une " +"requête réseau importante, vous ne pouvez pas \"faire vite\" - les " +"opérations sont intrinsèquement lentes." + +#: docs/en/tutorial/tutorial-8.md:231 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Alors, comment effectuer des opérations à long terme dans une application GUI ?" +msgstr "" +"Alors, comment effectuer des opérations à long terme dans une application " +"GUI ?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 #, fuzzy msgid "Asynchronous programming" msgstr "Programmation asynchrone" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#: docs/en/tutorial/tutorial-8.md:235 #, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Ce dont nous avons besoin, c'est d'un moyen de dire à une application au milieu d'un gestionnaire d'événements de longue durée qu'il est acceptable de relâcher temporairement le contrôle dans la boucle d'événements, tant que nous pouvons reprendre là où nous nous sommes arrêtés. C'est à l'application de déterminer quand cette libération peut avoir lieu ; mais si l'application libère le contrôle dans la boucle d'événements régulièrement, nous pouvons avoir un gestionnaire d'événements de longue durée *et* maintenir une interface utilisateur réactive." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"Ce dont nous avons besoin, c'est d'un moyen de dire à une application au " +"milieu d'un gestionnaire d'événements de longue durée qu'il est acceptable " +"de relâcher temporairement le contrôle dans la boucle d'événements, tant que " +"nous pouvons reprendre là où nous nous sommes arrêtés. C'est à l'application " +"de déterminer quand cette libération peut avoir lieu ; mais si l'application " +"libère le contrôle dans la boucle d'événements régulièrement, nous pouvons " +"avoir un gestionnaire d'événements de longue durée *et* maintenir une " +"interface utilisateur réactive." + +#: docs/en/tutorial/tutorial-8.md:242 #, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Nous pouvons le faire en utilisant la *programmation asynchrone*. La programmation asynchrone est une façon de décrire un programme qui permet à l'interpréteur d'exécuter plusieurs fonctions en même temps, en partageant les ressources entre toutes les fonctions qui s'exécutent simultanément." +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" +"Nous pouvons le faire en utilisant la *programmation asynchrone*. La " +"programmation asynchrone est une façon de décrire un programme qui permet à " +"l'interpréteur d'exécuter plusieurs fonctions en même temps, en partageant " +"les ressources entre toutes les fonctions qui s'exécutent simultanément." -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Les fonctions asynchrones (appelées *co-routines*) doivent être explicitement déclarées comme étant asynchrones. Elles doivent également déclarer en interne lorsqu'il est possible de changer de contexte et de passer à une autre co-routine." +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "" +"Les fonctions asynchrones (appelées *co-routines*) doivent être " +"explicitement déclarées comme étant asynchrones. Elles doivent également " +"déclarer en interne lorsqu'il est possible de changer de contexte et de " +"passer à une autre co-routine." -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "En Python, la programmation asynchrone est implémentée à l'aide des mots-clés `async` et `await`, et du module [asyncio]{1} dans la bibliothèque standard. Le mot-clé `async` nous permet de déclarer qu'une fonction est une co-routine asynchrone. Le mot-clé `await` permet de déclarer qu'il existe une opportunité de changer de contexte vers une autre co-routine. Le module `asyncio]{2} fournit d'autres outils et primitives utiles pour le codage asynchrone." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"En Python, la programmation asynchrone est implémentée à l'aide des mots-" +"clés `async` et `await`, et du module [asyncio]{1} dans la bibliothèque " +"standard. Le mot-clé `async` nous permet de déclarer qu'une fonction est une " +"co-routine asynchrone. Le mot-clé `await` permet de déclarer qu'il existe " +"une opportunité de changer de contexte vers une autre co-routine. Le module " +"`asyncio]{2} fournit d'autres outils et primitives utiles pour le codage " +"asynchrone." + +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "Rendre le didacticiel asynchrone" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#: docs/en/tutorial/tutorial-8.md:263 #, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement `say_hello()` pour qu'il ressemble à ceci: :" +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "" +"Pour rendre notre tutoriel asynchrone, modifiez le gestionnaire d'événement " +"`say_hello()` pour qu'il ressemble à ceci: :" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "Il n'y a que 4 changements dans ce code par rapport à la version précédente :" +msgid "" +"There are only three changes to this callback from the previous version:" +msgstr "" +"Il n'y a que 4 changements dans ce code par rapport à la version précédente :" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#: docs/en/tutorial/tutorial-8.md:284 #, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Le client créé est un `AsyncClient()` asynchrone, plutôt qu'un `Client()` synchrone. Cela indique à `httpx` qu'il doit fonctionner en mode asynchrone, plutôt qu'en mode synchrone." +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"Le client créé est un `AsyncClient()` asynchrone, plutôt qu'un `Client()` " +"synchrone. Cela indique à `httpx` qu'il doit fonctionner en mode asynchrone, " +"plutôt qu'en mode synchrone." -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#: docs/en/tutorial/tutorial-8.md:287 #, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Le gestionnaire de contexte utilisé pour créer le client est marqué comme `async`. Cela indique à Python qu'il y a une opportunité de relâcher le contrôle lorsque le gestionnaire de contexte est entré et sorti." +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "" +"Le gestionnaire de contexte utilisé pour créer le client est marqué comme " +"`async`. Cela indique à Python qu'il y a une opportunité de relâcher le " +"contrôle lorsque le gestionnaire de contexte est entré et sorti." -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga vous permet d'utiliser des méthodes normales ou des co-programmes asynchrones en tant que gestionnaires ; Toga gère tout en coulisses pour s'assurer que le gestionnaire est invoqué ou attendu selon les besoins." +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "" +"Toga vous permet d'utiliser des méthodes normales ou des co-programmes " +"asynchrones en tant que gestionnaires ; Toga gère tout en coulisses pour " +"s'assurer que le gestionnaire est invoqué ou attendu selon les besoins." -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Si vous sauvegardez ces changements et relancez l'application (soit avec `briefcase dev` en mode développement, soit en mettant à jour et en relançant l'application packagée), il n'y aura pas de changements évidents dans l'application. Cependant, lorsque vous cliquez sur le bouton pour déclencher le dialogue, vous pouvez remarquer un certain nombre d'améliorations subtiles :" - -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"Si vous sauvegardez ces changements et relancez l'application (soit avec `" +"briefcase dev` en mode développement, soit en mettant à jour et en relançant " +"l'application packagée), il n'y aura pas de changements évidents dans " +"l'application. Cependant, lorsque vous cliquez sur le bouton pour déclencher " +"le dialogue, vous pouvez remarquer un certain nombre d'améliorations " +"subtiles :" + +#: docs/en/tutorial/tutorial-8.md:314 #, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "Le bouton revient à l'état \"décliqué\" au lieu d'être bloqué à l'état \"cliqué\"." +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." +msgstr "" +"Le bouton revient à l'état \"décliqué\" au lieu d'être bloqué à l'état " +"\"cliqué\"." -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "L'icône \"beachball\"/\"spinner\" n'apparaît pas" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#: docs/en/tutorial/tutorial-8.md:317 #, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Si vous déplacez ou redimensionnez la fenêtre de l'application en attendant que la boîte de dialogue s'affiche, la fenêtre se redessinera." +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." +msgstr "" +"Si vous déplacez ou redimensionnez la fenêtre de l'application en attendant " +"que la boîte de dialogue s'affiche, la fenêtre se redessinera." -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Si vous essayez d'ouvrir un menu d'application, le menu s'affiche immédiatement." +msgstr "" +"Si vous essayez d'ouvrir un menu d'application, le menu s'affiche " +"immédiatement." -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "Étapes suivantes" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Nous disposons désormais d'une application élégante et réactive, même lorsqu'elle est en attente d'une API lente. Mais comment s'assurer que l'application continue de fonctionner au fur et à mesure que nous la développons ? Comment tester notre application ? Consultez [Tutoriel 9][tutorial-9] pour le découvrir..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "La méthode est définie comme `async def`, plutôt que comme `def`. Cela indique à Python que la méthode est une co-routine asynchrone." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "L'appel `get` est fait avec un mot-clé `await`. Cela indique à l'application que pendant que nous attendons la réponse du réseau, l'application peut laisser le contrôle à la boucle d'événements." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx``:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" +#, fuzzy +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "Tutoriel 8 - Le rendre lisse" diff --git a/locales/it/LC_MESSAGES/SUMMARY.po b/locales/it/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/it/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po index 228dceb9..c41ca6cf 100644 --- a/locales/it/LC_MESSAGES/how-to/index.po +++ b/locales/it/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{1} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po index 7a1f41ac..06b635f5 100644 --- a/locales/it/LC_MESSAGES/index.po +++ b/locales/it/LC_MESSAGES/index.po @@ -1,122 +1,204 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -#, fuzzy -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Benvenuti al Tutorial di BeeWare!" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "Benvenuti al Tutorial di BeeWare! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 #, fuzzy msgid "**Write Python. Run Anywhere.**" msgstr "**Scrivere Python. Esegui ovunque.**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 +#: docs/en/index.md:5 #, fuzzy -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Benvenuti a BeeWare! In questa esercitazione costruiremo un'interfaccia grafica utilizzando Python e la distribuiremo come applicazione desktop, applicazione mobile e applicazione web a pagina singola. Vedremo anche come utilizzare gli strumenti di BeeWare per eseguire alcune delle attività più comuni che dovrete svolgere come sviluppatori di applicazioni, come ad esempio testare la vostra applicazione." +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"Benvenuti a BeeWare! In questa esercitazione costruiremo un'interfaccia " +"grafica utilizzando Python e la distribuiremo come applicazione desktop, " +"applicazione mobile e applicazione web a pagina singola. Vedremo anche come " +"utilizzare gli strumenti di BeeWare per eseguire alcune delle attività più " +"comuni che dovrete svolgere come sviluppatori di applicazioni, come ad " +"esempio testare la vostra applicazione." + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -#, fuzzy -msgid "Translations are available" -msgstr "Le traduzioni sono disponibili" +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +#: docs/en/index.md:15 #, fuzzy -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "Se non vi sentite a vostro agio con l'inglese, sono disponibili traduzioni di questo tutorial in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5} e [汉语]{6}." +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"Se non vi sentite a vostro agio con l'inglese, sono disponibili traduzioni " +"di questo tutorial in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]" +"{4}, [Português]{5} e [汉语]{6}." + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -#, fuzzy -msgid "This is a machine translation!" -msgstr "Questa è una traduzione automatica!" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -#, fuzzy -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Questa versione del tutorial è stata generata da una traduzione automatica. Sappiamo che non è l'ideale, ma abbiamo pensato che una cattiva traduzione fosse meglio di nessuna traduzione." +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" + +#: docs/en/index.md:33 #, fuzzy -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Se volete contribuire a migliorare la traduzione, contattateci! Abbiamo un canale `#translations` in [Discord]{1}. Presentati lì e ti aggiungeremo al team di traduzione." +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "" +"Questa versione del tutorial è stata generata da una traduzione automatica. " +"Sappiamo che non è l'ideale, ma abbiamo pensato che una cattiva traduzione " +"fosse meglio di nessuna traduzione." -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 +#: docs/en/index.md:37 +#: docs/en/index.md:54 #, fuzzy -msgid "This is a translation!" -msgstr "Questa è una traduzione!" +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"Se volete contribuire a migliorare la traduzione, contattateci! Abbiamo un " +"canale `#translations` in [Discord]{1}. Presentati lì e ti aggiungeremo al " +"team di traduzione." + +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" + +#: docs/en/index.md:50 #, fuzzy -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Questo documento è una traduzione della versione inglese. La traduzione è stata revisionata da personale umano, ma le sezioni più recenti potrebbero essere generate dalla traduzione automatica o non essere tradotte affatto." +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "" +"Questo documento è una traduzione della versione inglese. La traduzione è " +"stata revisionata da personale umano, ma le sezioni più recenti potrebbero " +"essere generate dalla traduzione automatica o non essere tradotte affatto." -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:64 #, fuzzy msgid "What is BeeWare?" msgstr "Che cos'è BeeWare?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 +#: docs/en/index.md:66 #, fuzzy -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare non è un singolo prodotto, o strumento, o libreria: è una raccolta di strumenti e librerie, ognuno dei quali lavora insieme per aiutarvi a scrivere applicazioni Python multipiattaforma con un'interfaccia grafica nativa. Include:" +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"BeeWare non è un singolo prodotto, o strumento, o libreria: è una raccolta " +"di strumenti e librerie, ognuno dei quali lavora insieme per aiutarvi a " +"scrivere applicazioni Python multipiattaforma con un'interfaccia grafica " +"nativa. Include:" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, un toolkit di widget multipiattaforma;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#: docs/en/index.md:71 #, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, uno strumento per impacchettare i progetti Python come artefatti distribuibili che possono essere spediti agli utenti finali;" +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "" +"[Briefcase]{1}, uno strumento per impacchettare i progetti Python come " +"artefatti distribuibili che possono essere spediti agli utenti finali;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#: docs/en/index.md:74 #, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Librerie (come [Rubicon ObjC]{1}) per accedere alle librerie native della piattaforma;" +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" +msgstr "" +"Librerie (come [Rubicon ObjC]{1}) per accedere alle librerie native della " +"piattaforma;" -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 +#: docs/en/index.md:76 #, fuzzy -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Costruzioni precompilate di Python che possono essere utilizzate su piattaforme in cui non sono disponibili gli installatori ufficiali di Python." +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." +msgstr "" +"Costruzioni precompilate di Python che possono essere utilizzate su " +"piattaforme in cui non sono disponibili gli installatori ufficiali di Python." -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 +#: docs/en/index.md:79 #, fuzzy -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "In questo tutorial utilizzeremo tutti questi strumenti, ma come utente dovrete interagire solo con i primi due (Toga e Briefcase). Tuttavia, ciascuno di questi strumenti può essere utilizzato anche singolarmente: ad esempio, si può usare Briefcase per distribuire un'applicazione senza usare Toga come toolkit per l'interfaccia grafica." +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"In questo tutorial utilizzeremo tutti questi strumenti, ma come utente " +"dovrete interagire solo con i primi due (Toga e Briefcase). Tuttavia, " +"ciascuno di questi strumenti può essere utilizzato anche singolarmente: ad " +"esempio, si può usare Briefcase per distribuire un'applicazione senza usare " +"Toga come toolkit per l'interfaccia grafica." -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c +#: docs/en/index.md:84 #, fuzzy -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "La suite BeeWare è disponibile su macOS, Windows, Linux (utilizzando GTK); su piattaforme mobili come Android e iOS; e per il Web." +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" +"La suite BeeWare è disponibile su macOS, Windows, Linux (utilizzando GTK); " +"su piattaforme mobili come Android e iOS; e per il Web." -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "Andiamo!" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -#, fuzzy -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Siete pronti a provare BeeWare? [Costruiamo un'applicazione multipiattaforma in Python!][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#, fuzzy +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "Benvenuti al Tutorial di BeeWare!" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po index 261f3b58..45519f54 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,138 +1,192 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +#: docs/en/tutorial/topics/camera-access.md:3 +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" msgstr "" -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." msgstr "" -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." msgstr "" -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." msgstr "" -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" msgstr "" -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." msgstr "" -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" msgstr "" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +#: docs/en/tutorial/topics/camera-access.md:107 +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." msgstr "" -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." msgstr "" -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." msgstr "" -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." msgstr "" -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." msgstr "" -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#: docs/en/tutorial/topics/camera-access.md:141 +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" msgstr "" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." msgstr "" -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." msgstr "" -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 msgid "Adding more permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po index 3d05d7fc..92d95aa4 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -1,149 +1,213 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:14+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#: docs/en/tutorial/topics/custom-icons.md:3 #, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Finora la nostra applicazione ha utilizzato l'icona predefinita \"ape grigia\". Come possiamo aggiornare l'app per utilizzare la nostra icona?" +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "" +"Finora la nostra applicazione ha utilizzato l'icona predefinita " +"\"ape grigia\". Come possiamo aggiornare l'app per utilizzare la nostra " +"icona?" -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 #, fuzzy msgid "Adding an icon" msgstr "Aggiunta di un'icona" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**Prossimamente**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Ora abbiamo un'applicazione con un'icona personalizzata sul desktop e sul telefono! Come possiamo condividere questa applicazione con tutti gli altri? Consultate [Tutorial 11][tutorial-11] per scoprirlo..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Esercitazione 10 - Create la vostra applicazione" - -#~ msgid "Next steps" -#~ msgstr "Prossimi passi" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/index.po b/locales/it/LC_MESSAGES/tutorial/topics/index.po index d6bdb479..8fdb6008 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/index.po @@ -1,31 +1,27 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-12-10 11:00+0000\n" "Last-Translator: pp pp \n" "Language-Team: Italian \n" -"Language: it\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.9-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "Andare avanti" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" +msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "" "Vuoi approfondire degli argomenti in specifico? Qui troverai dei tutorial " "aggiuntivi che esplorano degli aspetti comuni nello sviluppo delle " @@ -33,32 +29,41 @@ msgstr "" "qualsiasi ordine; tuttavia tutti presumono che tu abbia completato il " "tutorial di base." -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "Personalizzazione Icone" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" +msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "" "Personalizza l'aspetto delle tue applicazioni sostituendo l'icona " "predefinita \"gray bee\"." -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "Test Applicazioni" - -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" msgstr "" -"Come fai ad assicurarti che la tua applicazione funzioni, e che continui a " -"funzionare? Aggiungendo una suite di prova al tuo progetto!" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "Accesso Fotocamera" - -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." msgstr "" "Usa la fotocamera sul tuo dispositivo mobile, o fisso, per catturare e " "visualizzare un immagine dall'interno della tua applicazione." + +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" +msgstr "" + +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" +msgstr "" +"Come fai ad assicurarti che la tua applicazione funzioni, e che continui a " +"funzionare? Aggiungendo una suite di prova al tuo progetto!" + +#~ msgid "Going further" +#~ msgstr "Andare avanti" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/testing.po b/locales/it/LC_MESSAGES/tutorial/topics/testing.po index 28ca1c95..a3c35c80 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/testing.po @@ -1,152 +1,270 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-12-10 11:00+0000\n" "Last-Translator: pp pp \n" "Language-Team: Italian \n" -"Language: it\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.9-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -msgid "Testing times" -msgstr "Tempi di verifica" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#: docs/en/tutorial/topics/testing.md:3 #, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "La maggior parte dello sviluppo del software non comporta la scrittura di nuovo codice, ma la modifica di quello esistente. Assicurarsi che il codice esistente continui a funzionare nel modo in cui ci aspettiamo è una parte fondamentale del processo di sviluppo del software. Un modo per garantire il comportamento della nostra applicazione è una *serie di test*." +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" +"La maggior parte dello sviluppo del software non comporta la scrittura di " +"nuovo codice, ma la modifica di quello esistente. Assicurarsi che il codice " +"esistente continui a funzionare nel modo in cui ci aspettiamo è una parte " +"fondamentale del processo di sviluppo del software. Un modo per garantire il " +"comportamento della nostra applicazione è una *serie di test*." -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 #, fuzzy msgid "Running the test suite" msgstr "Esecuzione della suite di test" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#: docs/en/tutorial/topics/testing.md:10 #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Si scopre che il nostro progetto ha già una suite di test! Quando abbiamo generato il nostro progetto, sono state generate due directory di primo livello: `src` e `tests`. La cartella `src` contiene il codice della nostra applicazione; la cartella `tests` contiene la nostra suite di test. All'interno della cartella `tests` c'è un file chiamato `test_app.py` con il seguente contenuto:" +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" +"Si scopre che il nostro progetto ha già una suite di test! Quando abbiamo " +"generato il nostro progetto, sono state generate due directory di primo " +"livello: `src` e `tests`. La cartella `src` contiene il codice della nostra " +"applicazione; la cartella `tests` contiene la nostra suite di test. " +"All'interno della cartella `tests` c'è un file chiamato `test_app.py` con il " +"seguente contenuto:" -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#: docs/en/tutorial/topics/testing.md:21 #, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Questo è un [Pytest]{1} *caso di test* - un blocco di codice che può essere eseguito per verificare un comportamento dell'applicazione. In questo caso, il test è un segnaposto e non verifica nulla della nostra applicazione, ma è un test che possiamo eseguire." +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" +"Questo è un [Pytest]{1} *caso di test* - un blocco di codice che può essere " +"eseguito per verificare un comportamento dell'applicazione. In questo caso, " +"il test è un segnaposto e non verifica nulla della nostra applicazione, ma è " +"un test che possiamo eseguire." -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#: docs/en/tutorial/topics/testing.md:26 #, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Possiamo eseguire questa suite di test usando l'opzione `--test` di `briefcase dev`. Poiché è la prima volta che si eseguono dei test, è necessario inserire anche l'opzione `-r` per assicurarsi che anche i requisiti dei test siano installati:" +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" +"Possiamo eseguire questa suite di test usando l'opzione `--test` di `" +"briefcase dev`. Poiché è la prima volta che si eseguono dei test, è " +"necessario inserire anche l'opzione `-r` per assicurarsi che anche i " +"requisiti dei test siano installati:" -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#: docs/en/tutorial/topics/testing.md:112 #, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Successo! Abbiamo appena eseguito un singolo test che verifica che la matematica di Python funziona nel modo previsto (che sollievo!)." +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "" +"Successo! Abbiamo appena eseguito un singolo test che verifica che la " +"matematica di Python funziona nel modo previsto (che sollievo!)." -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#: docs/en/tutorial/topics/testing.md:115 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Sostituiamo questo test segnaposto con un test per verificare che il nostro metodo `greeting()` si comporti come ci aspettiamo. Sostituire il contenuto di `test_app.py` con il seguente:" +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" +"Sostituiamo questo test segnaposto con un test per verificare che il nostro " +"metodo `greeting()` si comporti come ci aspettiamo. Sostituire il contenuto " +"di `test_app.py` con il seguente:" -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#: docs/en/tutorial/topics/testing.md:133 #, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Questo definisce due nuovi test, che verificano i due comportamenti che ci aspettiamo di vedere: l'output quando viene fornito un nome e l'output quando il nome è vuoto." +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "" +"Questo definisce due nuovi test, che verificano i due comportamenti che ci " +"aspettiamo di vedere: l'output quando viene fornito un nome e l'output " +"quando il nome è vuoto." -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#: docs/en/tutorial/topics/testing.md:137 #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Ora possiamo eseguire nuovamente la suite di test. Questa volta non è necessario fornire l'opzione `-r`, poiché i requisiti per i test sono già stati installati; è sufficiente usare l'opzione `--test`:" +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "" +"Ora possiamo eseguire nuovamente la suite di test. Questa volta non è " +"necessario fornire l'opzione `-r`, poiché i requisiti per i test sono già " +"stati installati; è sufficiente usare l'opzione `--test`:" -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#: docs/en/tutorial/topics/testing.md:199 #, fuzzy msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Eccellente! Il nostro metodo di utilità `greeting()` funziona come previsto." +msgstr "" +"Eccellente! Il nostro metodo di utilità `greeting()` funziona come previsto." -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 #, fuzzy msgid "Test driven development" msgstr "Sviluppo guidato dai test" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#: docs/en/tutorial/topics/testing.md:203 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Ora che abbiamo una suite di test, possiamo usarla per guidare lo sviluppo di nuove funzionalità. Modifichiamo la nostra applicazione per avere un saluto speciale per un utente in particolare. Possiamo iniziare aggiungendo un caso di test per il nuovo comportamento che vorremmo vedere in fondo a `test_app.py`:" +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" +"Ora che abbiamo una suite di test, possiamo usarla per guidare lo sviluppo " +"di nuove funzionalità. Modifichiamo la nostra applicazione per avere un " +"saluto speciale per un utente in particolare. Possiamo iniziare aggiungendo " +"un caso di test per il nuovo comportamento che vorremmo vedere in fondo a " +"`test_app.py`:" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 #, fuzzy msgid "Then, run the test suite with this new test:" msgstr "Quindi, eseguire la suite di test con questo nuovo test:" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#: docs/en/tutorial/topics/testing.md:320 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Questa volta, vediamo un fallimento del test e l'output spiega la fonte del fallimento: il test si aspetta l'output \"BeeWare the IDEs of Python!\", ma la nostra implementazione di `greeting()` restituisce \"Hello, Brutus\". Modifichiamo l'implementazione di `greeting()` in `src/helloworld/app.py` per avere il nuovo comportamento:" +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" +"Questa volta, vediamo un fallimento del test e l'output spiega la fonte del " +"fallimento: il test si aspetta l'output \"BeeWare the IDEs of Python!\", ma " +"la nostra implementazione di `greeting()` restituisce \"Hello, Brutus\". " +"Modifichiamo l'implementazione di `greeting()` in `src/helloworld/app.py` " +"per avere il nuovo comportamento:" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 #, fuzzy msgid "If we run the tests again, we'll now see our tests pass:" msgstr "Se eseguiamo nuovamente i test, vedremo che i nostri test passano:" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 #, fuzzy msgid "Runtime tests" msgstr "Test di runtime" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#: docs/en/tutorial/topics/testing.md:400 #, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Finora abbiamo eseguito i test in modalità di sviluppo. Questo è particolarmente utile quando si sviluppano nuove funzionalità, in quanto si può iterare rapidamente sull'aggiunta di test e sull'aggiunta di codice per far sì che tali test passino. Tuttavia, a un certo punto, si vorrà verificare che il codice venga eseguito correttamente anche nell'ambiente dell'applicazione bundle." +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" +"Finora abbiamo eseguito i test in modalità di sviluppo. Questo è " +"particolarmente utile quando si sviluppano nuove funzionalità, in quanto si " +"può iterare rapidamente sull'aggiunta di test e sull'aggiunta di codice per " +"far sì che tali test passino. Tuttavia, a un certo punto, si vorrà " +"verificare che il codice venga eseguito correttamente anche nell'ambiente " +"dell'applicazione bundle." -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#: docs/en/tutorial/topics/testing.md:406 #, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "Le opzioni `--test` e `-r` possono essere passate anche al comando `run`. Se si usa `briefcase run --test -r`, verrà eseguita la stessa suite di test, ma all'interno del bundle dell'applicazione confezionata e non nell'ambiente di sviluppo:" +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" +"Le opzioni `--test` e `-r` possono essere passate anche al comando `run`. Se " +"si usa `briefcase run --test -r`, verrà eseguita la stessa suite di test, ma " +"all'interno del bundle dell'applicazione confezionata e non nell'ambiente di " +"sviluppo:" -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#: docs/en/tutorial/topics/testing.md:529 #, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Come per `briefcase dev --test`, l'opzione `-r` è necessaria solo la prima volta che si esegue la suite di test, per assicurarsi che le dipendenze del test siano presenti. Nelle esecuzioni successive, si può omettere questa opzione." +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" +"Come per `briefcase dev --test`, l'opzione `-r` è necessaria solo la prima " +"volta che si esegue la suite di test, per assicurarsi che le dipendenze del " +"test siano presenti. Nelle esecuzioni successive, si può omettere questa " +"opzione." -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#: docs/en/tutorial/topics/testing.md:533 #, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Si può anche usare l'opzione `--test` sui backend mobili: - quindi `briefcase run iOS --test` e `briefcase run android --test` funzioneranno entrambi, eseguendo la suite di test sul dispositivo mobile selezionato." +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" +"Si può anche usare l'opzione `--test` sui backend mobili: - quindi `" +"briefcase run iOS --test` e `briefcase run android --test` funzioneranno " +"entrambi, eseguendo la suite di test sul dispositivo mobile selezionato." -#~ msgid "Next steps" -#~ msgstr "Prossimi passi" +#~ msgid "Testing times" +#~ msgstr "Tempi di verifica" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po index a880c417..81d07861 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po @@ -1,266 +1,380 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -#, fuzzy -msgid "Tutorial 0 - Let's get set up!" -msgstr "Esercitazione 0 - Configuriamoci!" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 +#: docs/en/tutorial/tutorial-0.md:3 #, fuzzy -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Prima di creare la nostra prima applicazione BeeWare, dobbiamo assicurarci di avere tutti i prerequisiti per l'esecuzione di BeeWare." +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "" +"Prima di creare la nostra prima applicazione BeeWare, dobbiamo assicurarci " +"di avere tutti i prerequisiti per l'esecuzione di BeeWare." -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 #, fuzzy msgid "Install Python" msgstr "Installare Python" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 #, fuzzy msgid "The first thing we'll need is a working Python interpreter." -msgstr "La prima cosa di cui abbiamo bisogno è un interprete Python funzionante." +msgstr "" +"La prima cosa di cui abbiamo bisogno è un interprete Python funzionante." -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#: docs/en/tutorial/tutorial-0.md:12 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" +"Se si utilizza Windows, è possibile ottenere il programma di installazione " +"ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi " +"versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le " +"alpha, le beta e le release candidate a meno che non si sappia veramente " +"cosa si sta facendo." -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#: docs/en/tutorial/tutorial-0.md:18 #, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Esistono molti modi diversi per installare Python. Si può installare Python tramite [homebrew]{1}. Si può usare [pyenv]{2} per gestire più installazioni di Python sulla stessa macchina. Gli utenti di Windows possono installare Python dal Windows App Store. Gli utenti con un background di scienza dei dati potrebbero voler usare [Anaconda]{3} o [Miniconda]{4}." +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"Esistono molti modi diversi per installare Python. Si può installare Python " +"tramite [homebrew]{1}. Si può usare [pyenv]{2} per gestire più installazioni " +"di Python sulla stessa macchina. Gli utenti di Windows possono installare " +"Python dal Windows App Store. Gli utenti con un background di scienza dei " +"dati potrebbero voler usare [Anaconda]{3} o [Miniconda]{4}." -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 +#: docs/en/tutorial/tutorial-0.md:46 #, fuzzy -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Se siete su Linux, installerete Python usando il gestore di pacchetti del sistema (`apt` su Debian/Ubuntu/Mint, `dnf` su Fedora, o `pacman` su Arch)." +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"Se siete su Linux, installerete Python usando il gestore di pacchetti del " +"sistema (`apt` su Debian/Ubuntu/Mint, `dnf` su Fedora, o `pacman` su Arch)." -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Dovete assicurarvi che il sistema Python sia Python 3.8 o più recente; se non lo è (ad esempio, Ubuntu 18.04 viene fornito con Python 3.6), dovrete aggiornare la vostra distribuzione Linux con qualcosa di più recente." +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"Dovete assicurarvi che il sistema Python sia Python 3.8 o più recente; se " +"non lo è (ad esempio, Ubuntu 18.04 viene fornito con Python 3.6), dovrete " +"aggiornare la vostra distribuzione Linux con qualcosa di più recente." -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 #, fuzzy msgid "Support for Raspberry Pi is limited at this time." msgstr "Il supporto per Raspberry Pi è al momento limitato." -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"Se si utilizza Windows, è possibile ottenere il programma di installazione " +"ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi " +"versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le " +"alpha, le beta e le release candidate a meno che non si sappia veramente " +"cosa si sta facendo." -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "Il supporto per Raspberry Pi è al momento limitato." -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use `Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Se siete su macOS o Windows, non importa *come* avete installato Python: importa solo che possiate eseguire `python3` dal prompt dei comandi/terminale del vostro sistema operativo e ottenere un interprete Python funzionante." +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"Esistono molti modi diversi per installare Python. Si può installare Python " +"tramite [homebrew]{1}. Si può usare [pyenv]{2} per gestire più installazioni " +"di Python sulla stessa macchina. Gli utenti di Windows possono installare " +"Python dal Windows App Store. Gli utenti con un background di scienza dei " +"dati potrebbero voler usare [Anaconda]{3} o [Miniconda]{4}." -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 #, fuzzy msgid "Install dependencies" msgstr "Installare le dipendenze" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 +#: docs/en/tutorial/tutorial-0.md:85 #, fuzzy -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Successivamente, installate le dipendenze aggiuntive necessarie per il vostro sistema operativo:" +msgid "" +"Next, install the additional dependencies needed for your operating system:" +msgstr "" +"Successivamente, installate le dipendenze aggiuntive necessarie per il " +"vostro sistema operativo:" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 #, fuzzy msgid "Building BeeWare apps on macOS requires:" msgstr "La creazione di applicazioni BeeWare su macOS richiede:" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." msgstr "" -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df +#: docs/en/tutorial/tutorial-0.md:102 #, fuzzy -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Per supportare lo sviluppo locale, è necessario installare alcuni pacchetti di sistema. L'elenco dei pacchetti necessari varia a seconda della distribuzione:" +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "" +"Per supportare lo sviluppo locale, è necessario installare alcuni pacchetti " +"di sistema. L'elenco dei pacchetti necessari varia a seconda della " +"distribuzione:" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 #, fuzzy msgid "**Ubuntu / Debian**" msgstr "**Ubuntu 20.04+ / Debian 10+**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 #, fuzzy msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 #, fuzzy msgid "**Arch / Manjaro**" msgstr "**Arch, Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 #, fuzzy msgid "Building BeeWare apps on Windows requires:" msgstr "La creazione di applicazioni BeeWare su Windows richiede:" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 +#: docs/en/tutorial/tutorial-0.md:137 #, fuzzy -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, un sistema di controllo delle versioni. È possibile scaricare Git da [git-scm.com]{1}." +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." +msgstr "" +"**Git**, un sistema di controllo delle versioni. È possibile scaricare Git " +"da [git-scm.com]{1}." -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 +#: docs/en/tutorial/tutorial-0.md:140 #, fuzzy -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Dopo l'installazione di questi strumenti, è necessario assicurarsi di riavviare tutte le sessioni di terminale. Windows esporrà i terminali degli strumenti appena installati solo dopo il completamento dell'installazione." +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "" +"Dopo l'installazione di questi strumenti, è necessario assicurarsi di " +"riavviare tutte le sessioni di terminale. Windows esporrà i terminali degli " +"strumenti appena installati solo dopo il completamento dell'installazione." -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 #, fuzzy msgid "Set up a virtual environment" msgstr "Impostare un ambiente virtuale" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e +#: docs/en/tutorial/tutorial-0.md:149 #, fuzzy -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Ora creeremo un ambiente virtuale, una \"sandbox\" che potremo usare per isolare il nostro lavoro su questo tutorial dalla nostra installazione principale di Python. Se installiamo dei pacchetti nell'ambiente virtuale, la nostra installazione principale di Python (e qualsiasi altro progetto Python sul nostro computer) non ne risentirà. Se facciamo un pasticcio completo nel nostro ambiente virtuale, potremo semplicemente cancellarlo e ricominciare da capo, senza influenzare nessun altro progetto Python sul nostro computer e senza la necessità di reinstallare Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"Ora creeremo un ambiente virtuale, una \"sandbox\" che potremo usare per " +"isolare il nostro lavoro su questo tutorial dalla nostra installazione " +"principale di Python. Se installiamo dei pacchetti nell'ambiente virtuale, " +"la nostra installazione principale di Python (e qualsiasi altro progetto " +"Python sul nostro computer) non ne risentirà. Se facciamo un pasticcio " +"completo nel nostro ambiente virtuale, potremo semplicemente cancellarlo e " +"ricominciare da capo, senza influenzare nessun altro progetto Python sul " +"nostro computer e senza la necessità di reinstallare Python." + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -#, fuzzy -msgid "Errors running PowerShell Scripts" -msgstr "Errori nell'esecuzione degli script PowerShell" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 #, fuzzy msgid "If you're using PowerShell, and you receive the error:" msgstr "Se si utilizza PowerShell e si riceve l'errore:" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c +#: docs/en/tutorial/tutorial-0.md:200 #, fuzzy -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "L'account di Windows non ha i permessi per eseguire gli script. Per risolvere il problema:" +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "" +"L'account di Windows non ha i permessi per eseguire gli script. Per " +"risolvere il problema:" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 #, fuzzy msgid "Run `set-executionpolicy RemoteSigned`" msgstr "Eseguire `set-executionpolicy RemoteSigned`" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 #, fuzzy msgid "Select `Y` to change the execution policy." msgstr "Selezionare `Y` per modificare il criterio di esecuzione." -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -#, fuzzy -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Una volta fatto questo, si può rieseguire `beeware-venv\\Scripts\\activate.ps1` nella sessione PowerShell originale (o in una nuova sessione nella stessa directory)." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c +#: docs/en/tutorial/tutorial-0.md:207 #, fuzzy -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Se questo ha funzionato, il prompt dovrebbe essere cambiato: dovrebbe avere il prefisso `(beeware-venv)`. Questo permette di sapere che ci si trova nell'ambiente virtuale BeeWare. Ogni volta che si lavora a questo tutorial, bisogna assicurarsi che l'ambiente virtuale sia attivato. In caso contrario, eseguire nuovamente l'ultimo comando (il comando `activate`) per riattivare l'ambiente." +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"Una volta fatto questo, si può rieseguire `beeware-venv\\Scripts\\activate" +".ps1` nella sessione PowerShell originale (o in una nuova sessione nella " +"stessa directory)." -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd +#: docs/en/tutorial/tutorial-0.md:215 #, fuzzy -msgid "Alternative virtual environments" -msgstr "Ambienti virtuali alternativi" +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"Se questo ha funzionato, il prompt dovrebbe essere cambiato: dovrebbe avere " +"il prefisso `(beeware-venv)`. Questo permette di sapere che ci si trova " +"nell'ambiente virtuale BeeWare. Ogni volta che si lavora a questo tutorial, " +"bisogna assicurarsi che l'ambiente virtuale sia attivato. In caso contrario, " +"eseguire nuovamente l'ultimo comando (il comando `activate`) per riattivare " +"l'ambiente." + +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -#, fuzzy -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Se si usa Anaconda o miniconda, forse si ha più familiarità con l'uso degli ambienti conda. Potreste anche aver sentito parlare di `virtualenv`, un predecessore del modulo `venv` integrato in Python. Come per le installazioni di Python, se siete su macOS o Windows, non importa *come* create il vostro ambiente virtuale, purché ne abbiate uno. Se siete su Linux, dovreste usare `venv` e il Python di sistema." +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 +#: docs/en/tutorial/tutorial-0.md:235 #, fuzzy -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Ora abbiamo configurato il nostro ambiente. Siamo pronti a [creare la nostra prima applicazione BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Eseguire Windows PowerShell come amministratore." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, un sistema di controllo delle versioni. È incluso in Xcode o negli strumenti per sviluppatori a riga di comando, installati in precedenza." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distribuzioni Python alternative" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Se utilizzate Linux, dovreste usare il Python di sistema fornito dal vostro sistema operativo. Sarete in grado di completare *la maggior parte* di questo tutorial utilizzando un Python non di sistema, ma non sarete in grado di pacchettizzare la vostra applicazione per distribuirla ad altri." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Se si utilizza macOS, una versione recente di Python è inclusa in Xcode o negli strumenti di sviluppo a riga di comando. Per verificare se ne disponete già, eseguite il seguente comando:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Se Python è installato, verrà visualizzato il suo numero di versione. In caso contrario, verrà richiesto di installare gli strumenti di sviluppo a riga di comando." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Se si utilizza Windows, è possibile ottenere il programma di installazione ufficiale [dal sito web di Python]{1}. È possibile utilizzare qualsiasi versione stabile di Python dalla 3.8 in poi. Si consiglia di evitare le alpha, le beta e le release candidate a meno che non si sappia veramente cosa si sta facendo." +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "" +"Ora abbiamo configurato il nostro ambiente. Siamo pronti a " +"[creare la nostra prima applicazione BeeWare][tutorial-1]." +#, fuzzy +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "Esercitazione 0 - Configuriamoci!" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index 1072f0a5..1d6efca5 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -1,221 +1,330 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -#, fuzzy -msgid "Tutorial 1 - Your first app" -msgstr "Esercitazione 1 - La vostra prima applicazione" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 #, fuzzy msgid "We're ready to create our first application." msgstr "Siamo pronti a creare la nostra prima applicazione." -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 #, fuzzy msgid "Install the BeeWare tools" msgstr "Installare gli strumenti BeeWare" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 +#: docs/en/tutorial/tutorial-1.md:7 #, fuzzy -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno strumento di BeeWare che può essere usato per confezionare l'applicazione da distribuire agli utenti finali, ma può anche essere usato per avviare un nuovo progetto. Assicuratevi di essere nella cartella `beeware-tutorial` creata in [Tutorial 0][tutorial-0], con l'ambiente virtuale `beeware-venv` attivato ed eseguite:" +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno " +"strumento di BeeWare che può essere usato per confezionare l'applicazione da " +"distribuire agli utenti finali, ma può anche essere usato per avviare un " +"nuovo progetto. Assicuratevi di essere nella cartella `beeware-tutorial` " +"creata in [Tutorial 0][tutorial-0], con l'ambiente virtuale `beeware-venv` " +"attivato ed eseguite:" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -#, fuzzy -msgid "Possible errors during installation" -msgstr "Possibili errori durante l'installazione" +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -#, fuzzy -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Se si riscontrano errori durante l'installazione, è quasi certamente perché alcuni dei requisiti di sistema non sono stati installati. Assicurarsi di aver [installato tutti i pre-requisiti della piattaforma ][install-dependencies]." +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb +#: docs/en/tutorial/tutorial-1.md:47 #, fuzzy -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "È importante utilizzare `python -m pip`, piuttosto che un semplice `pip`. Briefcase deve assicurarsi di avere una versione aggiornata di `pip` e `setuptools`, e un'invocazione nuda di `pip` non può autoaggiornarsi. Se volete saperne di più, [Brett Cannon ha un post dettagliato sul blog sul problema]{1}." +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"È importante utilizzare `python -m pip`, piuttosto che un semplice `pip`. " +"Briefcase deve assicurarsi di avere una versione aggiornata di `pip` e " +"`setuptools`, e un'invocazione nuda di `pip` non può autoaggiornarsi. Se " +"volete saperne di più, " +"[Brett Cannon ha un post dettagliato sul blog sul problema]{1}." -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#: docs/en/tutorial/tutorial-1.md:57 #, fuzzy msgid "Bootstrap a new project" msgstr "Bootstrap di un nuovo progetto" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -#, fuzzy -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Avviamo il nostro primo progetto BeeWare! Useremo il comando `new` di Briefcase per creare un'applicazione chiamata **Hello World**. Eseguite il seguente comando dal prompt dei comandi:" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed +#: docs/en/tutorial/tutorial-1.md:87 #, fuzzy -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. Ai fini di questa esercitazione, utilizzate quanto segue:" +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "" +"Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. Ai " +"fini di questa esercitazione, utilizzate quanto segue:" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 #, fuzzy msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Nome formale** - Accettare il valore predefinito: `Hello World`." -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**Nome applicazione** - Accettare il valore predefinito: `helloworld`." -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#: docs/en/tutorial/tutorial-1.md:92 #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Se si possiede un proprio dominio, inserirlo in ordine inverso. (Ad esempio, se si possiede il dominio \"cupcakes.com\", inserire `com.cupcakes` come bundle). Se non si possiede un dominio proprio, accettare il bundle predefinito (`com.example`)." +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" +"**Bundle** - Se si possiede un proprio dominio, inserirlo in ordine inverso. " +"(Ad esempio, se si possiede il dominio \"cupcakes.com\", inserire " +"`com.cupcakes` come bundle). Se non si possiede un dominio proprio, " +"accettare il bundle predefinito (`com.example`)." -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 #, fuzzy msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Nome del progetto** - Accettare il valore predefinito: `Hello World`." -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d +#: docs/en/tutorial/tutorial-1.md:97 #, fuzzy -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Descrizione** - Accettare il valore predefinito (o, se si vuole essere molto creativi, creare una descrizione personalizzata)" +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "" +"**Descrizione** - Accettare il valore predefinito (o, se si vuole essere " +"molto creativi, creare una descrizione personalizzata)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "**Author** - Enter your own name here." msgstr "**Autore** - Inserire qui il proprio nome." -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#: docs/en/tutorial/tutorial-1.md:100 #, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Email dell'autore** - Inserire il proprio indirizzo e-mail. Verrà utilizzato nel file di configurazione, nel testo della guida e ovunque sia richiesto un indirizzo e-mail quando si invia l'applicazione a un app store." +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "" +"**Email dell'autore** - Inserire il proprio indirizzo e-mail. Verrà " +"utilizzato nel file di configurazione, nel testo della guida e ovunque sia " +"richiesto un indirizzo e-mail quando si invia l'applicazione a un app store." -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#: docs/en/tutorial/tutorial-1.md:103 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - L'URL della pagina di destinazione dell'applicazione. Anche in questo caso, se si possiede un dominio proprio, inserire un URL di quel dominio (compreso `https://`). Altrimenti, accettare l'URL predefinito (`https://example.com/helloworld`). Questo URL non deve esistere (per ora); sarà usato solo se si pubblica l'applicazione su un app store." +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" +"**URL** - L'URL della pagina di destinazione dell'applicazione. Anche in " +"questo caso, se si possiede un dominio proprio, inserire un URL di quel " +"dominio (compreso `https://`). Altrimenti, accettare l'URL predefinito " +"(`https://example.com/helloworld`). Questo URL non deve esistere (per ora); " +"sarà usato solo se si pubblica l'applicazione su un app store." -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#: docs/en/tutorial/tutorial-1.md:109 #, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**Licenza** - Accettare la licenza predefinita (BSD). Questo non influisce in alcun modo sul funzionamento del tutorial, quindi se si hanno sentimenti particolarmente forti riguardo alla scelta della licenza, si può scegliere liberamente un'altra licenza." +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" +"**Licenza** - Accettare la licenza predefinita (BSD). Questo non influisce " +"in alcun modo sul funzionamento del tutorial, quindi se si hanno sentimenti " +"particolarmente forti riguardo alla scelta della licenza, si può scegliere " +"liberamente un'altra licenza." -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 +#: docs/en/tutorial/tutorial-1.md:113 #, fuzzy -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**Quadro GUI** - Accettare l'opzione predefinita, Toga (il toolkit GUI di BeeWare)." +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." +msgstr "" +"**Quadro GUI** - Accettare l'opzione predefinita, Toga (il toolkit GUI di " +"BeeWare)." -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb +#: docs/en/tutorial/tutorial-1.md:116 #, fuzzy -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete seguito questo tutorial fino a questo punto e avete accettato le impostazioni predefinite come descritto, il vostro file system dovrebbe avere un aspetto simile a:" +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" +"Briefcase genererà quindi uno scheletro di progetto da utilizzare. Se avete " +"seguito questo tutorial fino a questo punto e avete accettato le " +"impostazioni predefinite come descritto, il vostro file system dovrebbe " +"avere un aspetto simile a:" -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab +#: docs/en/tutorial/tutorial-1.md:142 #, fuzzy -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Questo scheletro è in realtà un'applicazione completamente funzionante, senza aggiungere altro. La cartella `src` contiene tutto il codice dell'applicazione, la cartella `tests` contiene una suite di test iniziale e il file `pyproject.toml` descrive come confezionare l'applicazione per la distribuzione. Se si apre `pyproject.toml` in un editor, si vedranno i dettagli di configurazione appena forniti a Briefcase." +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" +"Questo scheletro è in realtà un'applicazione completamente funzionante, " +"senza aggiungere altro. La cartella `src` contiene tutto il codice " +"dell'applicazione, la cartella `tests` contiene una suite di test iniziale e " +"il file `pyproject.toml` descrive come confezionare l'applicazione per la " +"distribuzione. Se si apre `pyproject.toml` in un editor, si vedranno i " +"dettagli di configurazione appena forniti a Briefcase." -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a +#: docs/en/tutorial/tutorial-1.md:149 #, fuzzy -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Ora che abbiamo un'applicazione stub, possiamo usare Briefcase per eseguire l'applicazione." +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." +msgstr "" +"Ora che abbiamo un'applicazione stub, possiamo usare Briefcase per eseguire " +"l'applicazione." -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 #, fuzzy msgid "Run the app in developer mode" msgstr "Eseguire l'applicazione in modalità sviluppatore" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c +#: docs/en/tutorial/tutorial-1.md:154 #, fuzzy -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Spostatevi nella cartella del progetto `helloworld` e dite a briefcase di avviare il progetto in modalità sviluppatore (o `dev`):" +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "" +"Spostatevi nella cartella del progetto `helloworld` e dite a briefcase di " +"avviare il progetto in modalità sviluppatore (o `dev`):" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 #, fuzzy msgid "This should open a GUI window:" msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -#, fuzzy -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Esercitazione Hello World 1 finestra, su macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Esercitazione Hello World 1 finestra, su Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -#, fuzzy -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Finestra Hello World Tutorial 1, su Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#: docs/en/tutorial/tutorial-1.md:248 #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Premete il pulsante di chiusura (o selezionate Quit dal menu dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto un'applicazione nativa standalone in Python!" +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "" +"Premete il pulsante di chiusura (o selezionate Quit dal menu " +"dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto " +"un'applicazione nativa standalone in Python!" -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 +#: docs/en/tutorial/tutorial-1.md:256 #, fuzzy -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. Ora possiamo aggiungere un po' di logica per far fare alla nostra applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], realizzeremo un'interfaccia utente più utile per la nostra applicazione." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Uno degli strumenti di BeeWare è **Briefcase**. Briefcase può essere utilizzato per confezionare l'applicazione da distribuire agli utenti finali, ma anche per avviare un nuovo progetto." +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" +"Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. " +"Ora possiamo aggiungere un po' di logica per far fare alla nostra " +"applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], " +"realizzeremo un'interfaccia utente più utile per la nostra applicazione." +#, fuzzy +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "Esercitazione 1 - La vostra prima applicazione" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index b43058d1..13cfa40c 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -1,301 +1,494 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:11+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -#, fuzzy -msgid "Tutorial 2 - Making it interesting" -msgstr "Esercitazione 2 - Rendere interessante" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +#: docs/en/tutorial/tutorial-2.md:3 #, fuzzy -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che è stato generato per noi." +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" +"In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di " +"funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che " +"è stato generato per noi." -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 #, fuzzy msgid "What was generated" msgstr "Cosa è stato generato" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +#: docs/en/tutorial/tutorial-2.md:9 #, fuzzy -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "Nella cartella `src/helloworld`, si dovrebbero vedere 3 file: `__init__.py`, `__main__.py` e `app.py`." +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" +"Nella cartella `src/helloworld`, si dovrebbero vedere 3 file: `__init__.py`, " +"`__main__.py` e `app.py`." -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +#: docs/en/tutorial/tutorial-2.md:12 #, fuzzy -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` segna la cartella `helloworld` come un modulo Python importabile. È un file vuoto; il solo fatto che esista indica all'interprete Python che la cartella `helloworld` definisce un modulo." +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` segna la cartella `helloworld` come un modulo Python " +"importabile. È un file vuoto; il solo fatto che esista indica all'interprete " +"Python che la cartella `helloworld` definisce un modulo." -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -#, fuzzy -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` segna il modulo `helloworld` come un tipo speciale di modulo, un modulo eseguibile. Se si cerca di eseguire il modulo `helloworld` usando `python -m helloworld`, il file `__main__.py` è il punto in cui Python inizierà l'esecuzione. Il contenuto di `__main__.py` è relativamente semplice:" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#: docs/en/tutorial/tutorial-2.md:31 #, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Cioè, importa il metodo `main` dall'applicazione `helloworld` e, se viene eseguito come punto di ingresso, chiama il metodo main() e avvia il ciclo principale dell'applicazione. Il ciclo principale è il modo in cui un'applicazione GUI ascolta gli input dell'utente (come i clic del mouse e la pressione della tastiera)." +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" +"Cioè, importa il metodo `main` dall'applicazione `helloworld` e, se viene " +"eseguito come punto di ingresso, chiama il metodo main() e avvia il ciclo " +"principale dell'applicazione. Il ciclo principale è il modo in cui " +"un'applicazione GUI ascolta gli input dell'utente (come i clic del mouse e " +"la pressione della tastiera)." -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#: docs/en/tutorial/tutorial-2.md:35 #, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "Il file più interessante è `app.py`: contiene la logica che crea la finestra della nostra applicazione:" +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" +msgstr "" +"Il file più interessante è `app.py`: contiene la logica che crea la finestra " +"della nostra applicazione:" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 #, fuzzy msgid "Let's go through this line by line:" msgstr "Esaminiamo questa riga per riga:" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#: docs/en/tutorial/tutorial-2.md:61 #, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Per prima cosa, importiamo il toolkit di widget `toga` e alcune classi e costanti di utilità legate allo stile. Il nostro codice non le usa ancora, ma le useremo a breve." +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "" +"Per prima cosa, importiamo il toolkit di widget `toga` e alcune classi e " +"costanti di utilità legate allo stile. Il nostro codice non le usa ancora, " +"ma le useremo a breve." -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 #, fuzzy msgid "Then, we define a class:" msgstr "Quindi, definiamo una classe:" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#: docs/en/tutorial/tutorial-2.md:71 #, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Ogni applicazione Toga ha una singola istanza `toga.App`, che rappresenta l'entità in esecuzione che è l'applicazione. L'applicazione può finire per gestire più finestre, ma per le applicazioni semplici ci sarà una sola finestra principale." +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"Ogni applicazione Toga ha una singola istanza `toga.App`, che rappresenta " +"l'entità in esecuzione che è l'applicazione. L'applicazione può finire per " +"gestire più finestre, ma per le applicazioni semplici ci sarà una sola " +"finestra principale." -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 #, fuzzy msgid "Next, we define a `startup()` method:" msgstr "Quindi, definiamo un metodo `startup()`:" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#: docs/en/tutorial/tutorial-2.md:83 #, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "La prima cosa che il metodo di avvio fa è definire un riquadro principale. Lo schema di layout di Toga si comporta in modo simile all'HTML. Si costruisce un'applicazione costruendo un insieme di riquadri, ognuno dei quali contiene altri riquadri, o widget veri e propri. Si applicano poi degli stili a questi riquadri per definire il modo in cui consumeranno lo spazio disponibile della finestra." +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" +"La prima cosa che il metodo di avvio fa è definire un riquadro principale. " +"Lo schema di layout di Toga si comporta in modo simile all'HTML. Si " +"costruisce un'applicazione costruendo un insieme di riquadri, ognuno dei " +"quali contiene altri riquadri, o widget veri e propri. Si applicano poi " +"degli stili a questi riquadri per definire il modo in cui consumeranno lo " +"spazio disponibile della finestra." -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#: docs/en/tutorial/tutorial-2.md:89 #, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "In questa applicazione, definiamo una singola casella, ma non inseriamo nulla al suo interno." +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." +msgstr "" +"In questa applicazione, definiamo una singola casella, ma non inseriamo " +"nulla al suo interno." -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 #, fuzzy msgid "Next, we define a window into which we can put this empty box:" msgstr "Quindi, definiamo una finestra in cui inserire questa casella vuota:" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#: docs/en/tutorial/tutorial-2.md:98 #, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Questo crea un'istanza di `toga.MainWindow`, che avrà un titolo corrispondente al nome dell'applicazione. Una finestra principale è un tipo speciale di finestra in Toga: è una finestra strettamente legata al ciclo di vita dell'applicazione. Quando la finestra principale viene chiusa, l'applicazione esce. La finestra principale è anche la finestra che contiene il menu dell'applicazione (se si utilizza una piattaforma come Windows in cui le barre dei menu fanno parte della finestra)" +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"Questo crea un'istanza di `toga.MainWindow`, che avrà un titolo " +"corrispondente al nome dell'applicazione. Una finestra principale è un tipo " +"speciale di finestra in Toga: è una finestra strettamente legata al ciclo di " +"vita dell'applicazione. Quando la finestra principale viene chiusa, " +"l'applicazione esce. La finestra principale è anche la finestra che contiene " +"il menu dell'applicazione (se si utilizza una piattaforma come Windows in " +"cui le barre dei menu fanno parte della finestra)" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#: docs/en/tutorial/tutorial-2.md:115 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Aggiungiamo quindi la nostra casella vuota come contenuto della finestra principale e istruiamo l'applicazione a mostrare la nostra finestra:" +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" +msgstr "" +"Aggiungiamo quindi la nostra casella vuota come contenuto della finestra " +"principale e istruiamo l'applicazione a mostrare la nostra finestra:" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#: docs/en/tutorial/tutorial-2.md:123 #, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Infine, definiamo un metodo `main()`. Questo è ciò che crea l'istanza della nostra applicazione:" +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" +msgstr "" +"Infine, definiamo un metodo `main()`. Questo è ciò che crea l'istanza della " +"nostra applicazione:" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#: docs/en/tutorial/tutorial-2.md:131 #, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "Questo metodo `main()` è quello che viene importato e invocato da `__main__.py`. Crea e restituisce un'istanza della nostra applicazione `HelloWorld`." +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "" +"Questo metodo `main()` è quello che viene importato e invocato da " +"`__main__.py`. Crea e restituisce un'istanza della nostra applicazione " +"`HelloWorld`." -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#: docs/en/tutorial/tutorial-2.md:135 #, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Questa è l'applicazione Toga più semplice possibile. Inseriamo nell'applicazione alcuni contenuti personali e facciamo in modo che l'applicazione faccia qualcosa di interessante." +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "" +"Questa è l'applicazione Toga più semplice possibile. Inseriamo " +"nell'applicazione alcuni contenuti personali e facciamo in modo che " +"l'applicazione faccia qualcosa di interessante." -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 #, fuzzy msgid "Adding some content of our own" msgstr "Aggiunta di contenuti propri" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Non rimuovete le importazioni all'inizio del file o il `main()` in fondo. È necessario aggiornare solo la classe `HelloWorld`." +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "" +"Non rimuovete le importazioni all'inizio del file o il `main()` in fondo. È " +"necessario aggiornare solo la classe `HelloWorld`." -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#: docs/en/tutorial/tutorial-2.md:150 #, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modificate la classe `HelloWorld` all'interno di `src/helloworld/app.py` in modo che abbia questo aspetto:" +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" +msgstr "" +"Modificate la classe `HelloWorld` all'interno di `src/helloworld/app.py` in " +"modo che abbia questo aspetto:" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 #, fuzzy msgid "Let's look in detail at what has changed." msgstr "Vediamo nel dettaglio cosa è cambiato." -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 #, fuzzy msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Stiamo ancora creando un riquadro principale, ma ora stiamo applicando uno stile:" +msgstr "" +"Stiamo ancora creando un riquadro principale, ma ora stiamo applicando uno " +"stile:" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#: docs/en/tutorial/tutorial-2.md:193 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Il sistema di layout integrato di Toga si chiama \"Pack\". Si comporta in modo molto simile ai CSS. Si definiscono gli oggetti in una gerarchia: in HTML, gli oggetti sono `
`, `` e altri elementi DOM; in Toga, sono widget e box. Si possono poi assegnare stili ai singoli elementi. In questo caso, stiamo indicando che si tratta di un riquadro `COLUMN`, cioè un riquadro che consumerà tutta la larghezza disponibile e si espanderà in altezza man mano che si aggiungono contenuti, ma cercherà di essere il più corto possibile." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" +"Il sistema di layout integrato di Toga si chiama \"Pack\". Si comporta in " +"modo molto simile ai CSS. Si definiscono gli oggetti in una gerarchia: in " +"HTML, gli oggetti sono `
`, `` e altri elementi DOM; in Toga, sono " +"widget e box. Si possono poi assegnare stili ai singoli elementi. In questo " +"caso, stiamo indicando che si tratta di un riquadro `COLUMN`, cioè un " +"riquadro che consumerà tutta la larghezza disponibile e si espanderà in " +"altezza man mano che si aggiungono contenuti, ma cercherà di essere il più " +"corto possibile." + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 #, fuzzy msgid "Next, we define a couple of widgets:" msgstr "Successivamente, definiamo un paio di widget:" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#: docs/en/tutorial/tutorial-2.md:223 #, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Qui definiamo una Label e un TextInput. A entrambi i widget sono associati degli stili; l'etichetta avrà un padding di 5px a sinistra e a destra e nessun padding in alto e in basso. Il TextInput è contrassegnato come flessibile, cioè assorbirà tutto lo spazio disponibile nel suo asse di layout." +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" +"Qui definiamo una Label e un TextInput. A entrambi i widget sono associati " +"degli stili; l'etichetta avrà un padding di 5px a sinistra e a destra e " +"nessun padding in alto e in basso. Il TextInput è contrassegnato come " +"flessibile, cioè assorbirà tutto lo spazio disponibile nel suo asse di " +"layout." -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#: docs/en/tutorial/tutorial-2.md:229 #, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "Il TextInput è assegnato come variabile di istanza della classe. Questo ci consente di accedere facilmente all'istanza del widget, che utilizzeremo tra poco." +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "" +"Il TextInput è assegnato come variabile di istanza della classe. Questo ci " +"consente di accedere facilmente all'istanza del widget, che utilizzeremo tra " +"poco." -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 #, fuzzy msgid "Next, we define a box to hold these two widgets:" msgstr "Quindi, definiamo un riquadro per contenere questi due widget:" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#: docs/en/tutorial/tutorial-2.md:241 #, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "Il `nome_box` è un box come quello principale, ma questa volta è un box `ROW`. Ciò significa che il contenuto sarà aggiunto orizzontalmente e cercherà di avere una larghezza il più possibile ridotta. Il riquadro ha anche un padding di 5px su tutti i lati." +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"Il `nome_box` è un box come quello principale, ma questa volta è un box `ROW`" +". Ciò significa che il contenuto sarà aggiunto orizzontalmente e cercherà di " +"avere una larghezza il più possibile ridotta. Il riquadro ha anche un " +"padding di 5px su tutti i lati." -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 #, fuzzy msgid "Now we define a button:" msgstr "Ora definiamo un pulsante:" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "Il pulsante ha anche 5px di padding su tutti i lati. Definiamo anche un *handler*, un metodo da invocare quando il pulsante viene premuto." +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 #, fuzzy msgid "Then, we add the name box and the button to the main box:" -msgstr "Quindi, aggiungiamo la casella del nome e il pulsante alla casella principale:" +msgstr "" +"Quindi, aggiungiamo la casella del nome e il pulsante alla casella " +"principale:" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#: docs/en/tutorial/tutorial-2.md:266 #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Questo completa il nostro layout; il resto del metodo di avvio è come in precedenza: definire una MainWindow e assegnare il riquadro principale come contenuto della finestra:" +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "" +"Questo completa il nostro layout; il resto del metodo di avvio è come in " +"precedenza: definire una MainWindow e assegnare il riquadro principale come " +"contenuto della finestra:" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#: docs/en/tutorial/tutorial-2.md:276 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "L'ultima cosa da fare è definire il gestore del pulsante. Un gestore può essere qualsiasi metodo, generatore o co-routine asincrona; accetta come argomento il widget che ha generato l'evento e sarà invocato ogni volta che il pulsante viene premuto:" +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" +"L'ultima cosa da fare è definire il gestore del pulsante. Un gestore può " +"essere qualsiasi metodo, generatore o co-routine asincrona; accetta come " +"argomento il widget che ha generato l'evento e sarà invocato ogni volta che " +"il pulsante viene premuto:" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#: docs/en/tutorial/tutorial-2.md:286 #, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "Il corpo del metodo è una semplice istruzione di stampa, che però interroga il valore corrente dell'input name e utilizza il suo contenuto come testo stampato." +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "" +"Il corpo del metodo è una semplice istruzione di stampa, che però interroga " +"il valore corrente dell'input name e utilizza il suo contenuto come testo " +"stampato." -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#: docs/en/tutorial/tutorial-2.md:290 #, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Ora che abbiamo apportato queste modifiche, possiamo vederne l'aspetto avviando nuovamente l'applicazione. Come prima, useremo la modalità sviluppatore:" +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "" +"Ora che abbiamo apportato queste modifiche, possiamo vederne l'aspetto " +"avviando nuovamente l'applicazione. Come prima, useremo la modalità " +"sviluppatore:" -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#: docs/en/tutorial/tutorial-2.md:326 #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Si noterà che questa volta *non* installa le dipendenze. Briefcase è in grado di rilevare che l'applicazione è già stata eseguita in precedenza e, per risparmiare tempo, eseguirà solo l'applicazione. Se si aggiungono nuove dipendenze alla propria applicazione, ci si può assicurare che vengano installate passando l'opzione `-r` quando si esegue `briefcase dev``." +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" +"Si noterà che questa volta *non* installa le dipendenze. Briefcase è in " +"grado di rilevare che l'applicazione è già stata eseguita in precedenza e, " +"per risparmiare tempo, eseguirà solo l'applicazione. Se si aggiungono nuove " +"dipendenze alla propria applicazione, ci si può assicurare che vengano " +"installate passando l'opzione `-r` quando si esegue `briefcase dev``." -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#: docs/en/tutorial/tutorial-2.md:332 #, fuzzy msgid "This should open a GUI window:" msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Finestra Hello World Tutorial 2, su macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Finestra Hello World Tutorial 2, su Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -#, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Finestra Hello World Tutorial 2, su Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b +#: docs/en/tutorial/tutorial-2.md:358 #, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Se si inserisce un nome nella casella di testo e si preme il pulsante GUI, si dovrebbe vedere l'output nella console in cui è stata avviata l'applicazione." +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "" +"Se si inserisce un nome nella casella di testo e si preme il pulsante GUI, " +"si dovrebbe vedere l'output nella console in cui è stata avviata " +"l'applicazione." -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#: docs/en/tutorial/tutorial-2.md:369 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona solo sul nostro computer. Impacchettiamo questa applicazione per la distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra applicazione come un programma di installazione autonomo da inviare a un amico, a un cliente o da caricare su un App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" +"Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona " +"solo sul nostro computer. Impacchettiamo questa applicazione per la " +"distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra " +"applicazione come un programma di installazione autonomo da inviare a un " +"amico, a un cliente o da caricare su un App Store." +#, fuzzy +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "Esercitazione 2 - Rendere interessante" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po index 97628c50..7def6c25 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -1,318 +1,644 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:11+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Esercitazione 3 - Confezionamento per la distribuzione" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#: docs/en/tutorial/tutorial-3.md:3 #, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Finora abbiamo eseguito la nostra applicazione in \"modalità sviluppatore\". Questo ci consente di eseguire facilmente la nostra applicazione a livello locale, ma ciò che vogliamo veramente è poterla fornire ad altri." +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" +"Finora abbiamo eseguito la nostra applicazione in \"modalità sviluppatore\". " +"Questo ci consente di eseguire facilmente la nostra applicazione a livello " +"locale, ma ciò che vogliamo veramente è poterla fornire ad altri." -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#: docs/en/tutorial/tutorial-3.md:7 #, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Tuttavia, non vogliamo insegnare ai nostri utenti come installare Python, creare un ambiente virtuale, clonare un repository git ed eseguire Briefcase in modalità sviluppatore. Preferiamo dare loro un programma di installazione e far sì che l'applicazione funzioni e basta." +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"Tuttavia, non vogliamo insegnare ai nostri utenti come installare Python, " +"creare un ambiente virtuale, clonare un repository git ed eseguire Briefcase " +"in modalità sviluppatore. Preferiamo dare loro un programma di installazione " +"e far sì che l'applicazione funzioni e basta." -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#: docs/en/tutorial/tutorial-3.md:12 #, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "Briefcase può essere utilizzato per impacchettare l'applicazione per la distribuzione in questo modo." +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." +msgstr "" +"Briefcase può essere utilizzato per impacchettare l'applicazione per la " +"distribuzione in questo modo." -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 #, fuzzy msgid "Creating your application scaffold" msgstr "Creare lo scaffold dell'applicazione" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#: docs/en/tutorial/tutorial-3.md:17 #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Poiché è la prima volta che impacchettiamo la nostra applicazione, dobbiamo creare alcuni file di configurazione e altre impalcature per supportare il processo di impacchettamento. Dalla cartella `helloworld`, eseguire:" +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "" +"Poiché è la prima volta che impacchettiamo la nostra applicazione, dobbiamo " +"creare alcuni file di configurazione e altre impalcature per supportare il " +"processo di impacchettamento. Dalla cartella `helloworld`, eseguire:" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" msgstr "" -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +#: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" msgstr "" -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#: docs/en/tutorial/tutorial-3.md:124 #, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "Probabilmente avete appena visto passare delle pagine di contenuto nel vostro terminale... cosa è successo? Briefcase ha fatto quanto segue:" +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "" +"Probabilmente avete appena visto passare delle pagine di contenuto nel " +"vostro terminale... cosa è successo? Briefcase ha fatto quanto segue:" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Ha **generato un modello di applicazione**. Per costruire un programma di installazione nativo sono necessari molti file e configurazioni, oltre al codice dell'applicazione vera e propria. Questa impalcatura aggiuntiva è quasi la stessa per ogni applicazione sulla stessa piattaforma, tranne che per il nome dell'applicazione vera e propria che si sta costruendo, quindi Briefcase fornisce un modello di applicazione per ogni piattaforma che supporta. Questo passo esegue il modello, sostituendo il nome dell'applicazione, l'ID del bundle e altre proprietà del file di configurazione, come richiesto per supportare la piattaforma su cui si sta costruendo." - -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"Ha **generato un modello di applicazione**. Per costruire un programma di " +"installazione nativo sono necessari molti file e configurazioni, oltre al " +"codice dell'applicazione vera e propria. Questa impalcatura aggiuntiva è " +"quasi la stessa per ogni applicazione sulla stessa piattaforma, tranne che " +"per il nome dell'applicazione vera e propria che si sta costruendo, quindi " +"Briefcase fornisce un modello di applicazione per ogni piattaforma che " +"supporta. Questo passo esegue il modello, sostituendo il nome " +"dell'applicazione, l'ID del bundle e altre proprietà del file di " +"configurazione, come richiesto per supportare la piattaforma su cui si sta " +"costruendo." + +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Se non si è soddisfatti del modello fornito da Briefcase, è possibile crearne uno proprio. Tuttavia, probabilmente non è il caso di farlo prima di aver acquisito un po' di esperienza nell'uso del modello predefinito di Briefcase." +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" +"Se non si è soddisfatti del modello fornito da Briefcase, è possibile " +"crearne uno proprio. Tuttavia, probabilmente non è il caso di farlo prima di " +"aver acquisito un po' di esperienza nell'uso del modello predefinito di " +"Briefcase." -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Ha **scaricato e installato un pacchetto di supporto**. L'approccio alla pacchettizzazione adottato da Briefcase è meglio descritto come \"la cosa più semplice che possa funzionare\": spedisce un interprete Python completo e isolato come parte di ogni applicazione che costruisce. Questo è leggermente inefficiente dal punto di vista dello spazio: se si hanno 5 applicazioni pacchettizzate con Briefcase, si avranno 5 copie dell'interprete Python. Tuttavia, questo approccio garantisce che ogni applicazione sia completamente indipendente, utilizzando una versione specifica di Python che è nota per funzionare con l'applicazione." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"Ha **scaricato e installato un pacchetto di supporto**. L'approccio alla " +"pacchettizzazione adottato da Briefcase è meglio descritto come " +"\"la cosa più semplice che possa funzionare\": spedisce un interprete Python " +"completo e isolato come parte di ogni applicazione che costruisce. Questo è " +"leggermente inefficiente dal punto di vista dello spazio: se si hanno 5 " +"applicazioni pacchettizzate con Briefcase, si avranno 5 copie " +"dell'interprete Python. Tuttavia, questo approccio garantisce che ogni " +"applicazione sia completamente indipendente, utilizzando una versione " +"specifica di Python che è nota per funzionare con l'applicazione." + +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Anche in questo caso, Briefcase fornisce un pacchetto di supporto predefinito per ogni piattaforma; se lo si desidera, si può fornire il proprio pacchetto di supporto e farlo includere come parte del processo di compilazione. Questo può essere utile se si hanno particolari opzioni nell'interprete Python che devono essere abilitate, o se si vogliono togliere dalla libreria standard i moduli che non servono in fase di esecuzione." +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"Anche in questo caso, Briefcase fornisce un pacchetto di supporto " +"predefinito per ogni piattaforma; se lo si desidera, si può fornire il " +"proprio pacchetto di supporto e farlo includere come parte del processo di " +"compilazione. Questo può essere utile se si hanno particolari opzioni " +"nell'interprete Python che devono essere abilitate, o se si vogliono " +"togliere dalla libreria standard i moduli che non servono in fase di " +"esecuzione." -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase mantiene una cache locale dei pacchetti di supporto, per cui una volta scaricato un pacchetto di supporto specifico, la copia in cache verrà utilizzata nelle build future." +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "" +"Briefcase mantiene una cache locale dei pacchetti di supporto, per cui una " +"volta scaricato un pacchetto di supporto specifico, la copia in cache verrà " +"utilizzata nelle build future." -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." msgstr "" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#: docs/en/tutorial/tutorial-3.md:168 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Si tratta di **requisiti dell'applicazione installata**. L'applicazione può specificare qualsiasi modulo di terze parti richiesto in fase di esecuzione. Questi saranno installati usando `pip` nel programma di installazione dell'applicazione." +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" +"Si tratta di **requisiti dell'applicazione installata**. L'applicazione può " +"specificare qualsiasi modulo di terze parti richiesto in fase di esecuzione. " +"Questi saranno installati usando `pip` nel programma di installazione " +"dell'applicazione." -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#: docs/en/tutorial/tutorial-3.md:172 #, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Ha **installato il codice dell'applicazione**. L'applicazione avrà il suo codice e le sue risorse (ad esempio, le immagini necessarie per l'esecuzione); questi file vengono copiati nel programma di installazione." +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "" +"Ha **installato il codice dell'applicazione**. L'applicazione avrà il suo " +"codice e le sue risorse (ad esempio, le immagini necessarie per " +"l'esecuzione); questi file vengono copiati nel programma di installazione." -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#: docs/en/tutorial/tutorial-3.md:176 #, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Infine, aggiunge qualsiasi risorsa aggiuntiva necessaria al programma di installazione stesso. Questo include cose come le icone che devono essere allegate all'applicazione finale e le immagini della schermata iniziale." +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "" +"Infine, aggiunge qualsiasi risorsa aggiuntiva necessaria al programma di " +"installazione stesso. Questo include cose come le icone che devono essere " +"allegate all'applicazione finale e le immagini della schermata iniziale." -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#: docs/en/tutorial/tutorial-3.md:181 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Una volta completata questa operazione, se si guarda nella cartella del progetto, si dovrebbe vedere una cartella corrispondente alla propria piattaforma (`macOS`, `linux` o `windows`) che contiene file aggiuntivi. Questa è la configurazione di pacchettizzazione specifica della piattaforma per l'applicazione." +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"Una volta completata questa operazione, se si guarda nella cartella del " +"progetto, si dovrebbe vedere una cartella corrispondente alla propria " +"piattaforma (`macOS`, `linux` o `windows`) che contiene file aggiuntivi. " +"Questa è la configurazione di pacchettizzazione specifica della piattaforma " +"per l'applicazione." -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 #, fuzzy msgid "Building your application" msgstr "Creazione dell'applicazione" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd +#: docs/en/tutorial/tutorial-3.md:188 #, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "È ora possibile compilare l'applicazione. Questo passaggio esegue la compilazione binaria necessaria affinché l'applicazione sia eseguibile sulla piattaforma di destinazione." +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "" +"È ora possibile compilare l'applicazione. Questo passaggio esegue la " +"compilazione binaria necessaria affinché l'applicazione sia eseguibile sulla " +"piattaforma di destinazione." -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#: docs/en/tutorial/tutorial-3.md:205 #, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "Su macOS, il comando `build` non ha bisogno di *compilare* nulla, ma deve firmare il contenuto del binario in modo che possa essere eseguito. Questa firma è una firma *ad hoc*: funzionerà solo sulla *vostra* macchina; se volete distribuire l'applicazione ad altri, dovrete fornire una firma completa." +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"Su macOS, il comando `build` non ha bisogno di *compilare* nulla, ma deve " +"firmare il contenuto del binario in modo che possa essere eseguito. Questa " +"firma è una firma *ad hoc*: funzionerà solo sulla *vostra* macchina; se " +"volete distribuire l'applicazione ad altri, dovrete fornire una firma " +"completa." -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#: docs/en/tutorial/tutorial-3.md:239 #, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Una volta completato questo passaggio, la cartella `build` conterrà una cartella `helloworld-0.0.1` che contiene un mirror di un file system Linux `/usr`. Questo file system mirror conterrà una cartella `bin` con un binario di `helloworld`, oltre alle cartelle `lib` e `share` necessarie per supportare il binario." +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"Una volta completato questo passaggio, la cartella `build` conterrà una " +"cartella `helloworld-0.0.1` che contiene un mirror di un file system Linux " +"`/usr`. Questo file system mirror conterrà una cartella `bin` con un binario " +"di `helloworld`, oltre alle cartelle `lib` e `share` necessarie per " +"supportare il binario." -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#: docs/en/tutorial/tutorial-3.md:256 #, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "Su Windows, il comando `build` non ha bisogno di *compilare* nulla, ma deve scrivere alcuni metadati in modo che l'applicazione conosca il suo nome, la sua versione e così via." +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "" +"Su Windows, il comando `build` non ha bisogno di *compilare* nulla, ma deve " +"scrivere alcuni metadati in modo che l'applicazione conosca il suo nome, la " +"sua versione e così via." -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -#, fuzzy -msgid "Triggering antivirus" -msgstr "Attivazione dell'antivirus" +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#: docs/en/tutorial/tutorial-3.md:262 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Poiché questi metadati vengono scritti direttamente nel binario precompilato che viene lanciato dal modello durante il comando `create`, è possibile che il software antivirus in esecuzione sul computer impedisca la scrittura dei metadati. In questo caso, istruire l'antivirus per consentire l'esecuzione dello strumento (chiamato `rcedit-x64.exe`) e rieseguire il comando precedente." +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"Poiché questi metadati vengono scritti direttamente nel binario precompilato " +"che viene lanciato dal modello durante il comando `create`, è possibile che " +"il software antivirus in esecuzione sul computer impedisca la scrittura dei " +"metadati. In questo caso, istruire l'antivirus per consentire l'esecuzione " +"dello strumento (chiamato `rcedit-x64.exe`) e rieseguire il comando " +"precedente." -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:273 #, fuzzy msgid "Running your app" msgstr "Esecuzione dell'applicazione" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 #, fuzzy msgid "You can now use Briefcase to run your application:" msgstr "Ora è possibile utilizzare Briefcase per eseguire l'applicazione:" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#: docs/en/tutorial/tutorial-3.md:354 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "In questo modo si avvia l'esecuzione dell'applicazione nativa, utilizzando l'output del comando `build`." +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." +msgstr "" +"In questo modo si avvia l'esecuzione dell'applicazione nativa, utilizzando " +"l'output del comando `build`." -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#: docs/en/tutorial/tutorial-3.md:357 #, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "È possibile notare alcune piccole differenze nell'aspetto dell'applicazione quando è in esecuzione. Ad esempio, le icone e il nome visualizzati dal sistema operativo potrebbero essere leggermente diversi da quelli visualizzati durante l'esecuzione in modalità sviluppatore. Ciò è dovuto anche al fatto che si sta utilizzando l'applicazione pacchettizzata e non solo il codice Python in esecuzione. Dal punto di vista del sistema operativo, ora si sta eseguendo \"un'applicazione\", non \"un programma Python\", e questo si riflette sull'aspetto dell'applicazione." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"È possibile notare alcune piccole differenze nell'aspetto dell'applicazione " +"quando è in esecuzione. Ad esempio, le icone e il nome visualizzati dal " +"sistema operativo potrebbero essere leggermente diversi da quelli " +"visualizzati durante l'esecuzione in modalità sviluppatore. Ciò è dovuto " +"anche al fatto che si sta utilizzando l'applicazione pacchettizzata e non " +"solo il codice Python in esecuzione. Dal punto di vista del sistema " +"operativo, ora si sta eseguendo \"un'applicazione\", non " +"\"un programma Python\", e questo si riflette sull'aspetto dell'applicazione." + +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 #, fuzzy msgid "Building your installer" msgstr "Creazione del programma di installazione" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#: docs/en/tutorial/tutorial-3.md:372 #, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "È ora possibile pacchettizzare l'applicazione per la distribuzione, utilizzando il comando `package`. Il comando package esegue qualsiasi compilazione necessaria per convertire il progetto scaffolded in un prodotto finale distribuibile. A seconda della piattaforma, ciò può comportare la compilazione di un programma di installazione, l'esecuzione della firma del codice o altre operazioni preliminari alla distribuzione." +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"È ora possibile pacchettizzare l'applicazione per la distribuzione, " +"utilizzando il comando `package`. Il comando package esegue qualsiasi " +"compilazione necessaria per convertire il progetto scaffolded in un prodotto " +"finale distribuibile. A seconda della piattaforma, ciò può comportare la " +"compilazione di un programma di installazione, l'esecuzione della firma del " +"codice o altre operazioni preliminari alla distribuzione." -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#: docs/en/tutorial/tutorial-3.md:410 #, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "La cartella `dist` conterrà un file chiamato `Hello World-0.0.1.dmg`. Se individuate questo file nel Finder e fate doppio clic sulla sua icona, monterete il DMG, ottenendo una copia dell'applicazione Hello World e un collegamento alla cartella Applicazioni per facilitare l'installazione. Trascinate il file dell'app in Applicazioni e avrete installato la vostra applicazione. Inviate il file DMG a un amico, che dovrebbe essere in grado di fare lo stesso." +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"La cartella `dist` conterrà un file chiamato `Hello World-0.0.1.dmg`. Se " +"individuate questo file nel Finder e fate doppio clic sulla sua icona, " +"monterete il DMG, ottenendo una copia dell'applicazione Hello World e un " +"collegamento alla cartella Applicazioni per facilitare l'installazione. " +"Trascinate il file dell'app in Applicazioni e avrete installato la vostra " +"applicazione. Inviate il file DMG a un amico, che dovrebbe essere in grado " +"di fare lo stesso." -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#: docs/en/tutorial/tutorial-3.md:417 #, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo " +"firmando la nostra applicazione con credenziali *ad hoc*, credenziali " +"temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo " +"per mantenere il tutorial semplice. L'impostazione delle identità di firma " +"del codice è un po' complicata e sono *richieste* solo se si intende " +"distribuire la propria applicazione ad altri. Se stessimo pubblicando " +"un'applicazione reale da utilizzare, dovremmo specificare delle credenziali " +"reali." -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#: docs/en/tutorial/tutorial-3.md:425 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" +"Quando si è pronti a pubblicare un'applicazione reale, consultare la guida " +"Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]" +"{1}" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#: docs/en/tutorial/tutorial-3.md:433 #, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "L'output del passaggio del pacchetto sarà leggermente diverso a seconda della vostra distribuzione Linux. Se si utilizza una distribuzione derivata da Debian, si vedrà:" +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "" +"L'output del passaggio del pacchetto sarà leggermente diverso a seconda " +"della vostra distribuzione Linux. Se si utilizza una distribuzione derivata " +"da Debian, si vedrà:" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 #, fuzzy msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "La cartella `dist` conterrà il file `.deb` generato." -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 #, fuzzy msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "Se si utilizza una distribuzione basata su RHEL, si vedrà:" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 #, fuzzy msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "La cartella `dist` conterrà il file `.rpm` generato." -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 #, fuzzy msgid "If you're on an Arch-based distribution, you'll see:" msgstr "Se si utilizza una distribuzione basata su Arch, si vedrà:" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#: docs/en/tutorial/tutorial-3.md:504 #, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "La cartella `dist` conterrà il file `.pkg.tar.zst` che è stato generato." +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "" +"La cartella `dist` conterrà il file `.pkg.tar.zst` che è stato generato." -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 #, fuzzy msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "Altre distribuzioni Linux non sono attualmente supportate per il packaging." +msgstr "" +"Altre distribuzioni Linux non sono attualmente supportate per il packaging." -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#: docs/en/tutorial/tutorial-3.md:509 #, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Se volete creare un pacchetto per una distribuzione Linux diversa da quella che state usando, Briefcase può aiutarvi, ma dovrete installare Docker." +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "" +"Se volete creare un pacchetto per una distribuzione Linux diversa da quella " +"che state usando, Briefcase può aiutarvi, ma dovrete installare Docker." -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#: docs/en/tutorial/tutorial-3.md:513 #, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Gli installatori ufficiali di [Docker Engine]{1} sono disponibili per diverse distribuzioni Unix. Seguite le istruzioni per la vostra piattaforma; tuttavia, assicuratevi di non installare Docker in modalità \"rootless\"." +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"Gli installatori ufficiali di [Docker Engine]{1} sono disponibili per " +"diverse distribuzioni Unix. Seguite le istruzioni per la vostra piattaforma; " +"tuttavia, assicuratevi di non installare Docker in modalità \"rootless\"." -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#: docs/en/tutorial/tutorial-3.md:517 #, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Una volta installato Docker, dovreste essere in grado di avviare un contenitore Linux, ad esempio:" +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" +msgstr "" +"Una volta installato Docker, dovreste essere in grado di avviare un " +"contenitore Linux, ad esempio:" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#: docs/en/tutorial/tutorial-3.md:524 #, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "mostrerà un prompt Unix (qualcosa come `root@84444e31cff9:/#`) all'interno di un contenitore Docker Ubuntu 22.04. Digitare Ctrl-D per uscire da Docker e tornare alla shell locale." +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"mostrerà un prompt Unix (qualcosa come `root@84444e31cff9:/#`) all'interno " +"di un contenitore Docker Ubuntu 22.04. Digitare Ctrl-D per uscire da Docker " +"e tornare alla shell locale." -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#: docs/en/tutorial/tutorial-3.md:528 #, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Una volta installato Docker, si può usare Briefcase per creare un pacchetto per qualsiasi distribuzione Linux supportata da Briefcase, passando un'immagine Docker come argomento. Per esempio, per creare un pacchetto DEB per Ubuntu 22.04 (Jammy), indipendentemente dal sistema operativo in uso, si può eseguire:" +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"Una volta installato Docker, si può usare Briefcase per creare un pacchetto " +"per qualsiasi distribuzione Linux supportata da Briefcase, passando " +"un'immagine Docker come argomento. Per esempio, per creare un pacchetto DEB " +"per Ubuntu 22.04 (Jammy), indipendentemente dal sistema operativo in uso, si " +"può eseguire:" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#: docs/en/tutorial/tutorial-3.md:538 #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Questo scaricherà l'immagine Docker per il sistema operativo selezionato, creerà un contenitore in grado di eseguire le build di Briefcase e costruirà il pacchetto dell'applicazione all'interno dell'immagine. Una volta completato, la cartella `dist` conterrà il pacchetto per la distribuzione Linux di destinazione." +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"Questo scaricherà l'immagine Docker per il sistema operativo selezionato, " +"creerà un contenitore in grado di eseguire le build di Briefcase e costruirà " +"il pacchetto dell'applicazione all'interno dell'immagine. Una volta " +"completato, la cartella `dist` conterrà il pacchetto per la distribuzione " +"Linux di destinazione." -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#: docs/en/tutorial/tutorial-3.md:575 #, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo firmando la nostra applicazione con credenziali *ad hoc*, credenziali temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo per mantenere il tutorial semplice. L'impostazione delle identità di firma del codice è un po' complicata e sono *richieste* solo se si intende distribuire la propria applicazione ad altri. Se stessimo pubblicando un'applicazione reale da utilizzare, dovremmo specificare delle credenziali reali." +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"In questo esempio, abbiamo usato l'opzione `--adhoc-sign`, cioè stiamo " +"firmando la nostra applicazione con credenziali *ad hoc*, credenziali " +"temporanee che funzioneranno solo sul vostro computer. Abbiamo fatto questo " +"per mantenere il tutorial semplice. L'impostazione delle identità di firma " +"del codice è un po' complicata e sono *richieste* solo se si intende " +"distribuire la propria applicazione ad altri. Se stessimo pubblicando " +"un'applicazione reale da utilizzare, dovremmo specificare delle credenziali " +"reali." -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#: docs/en/tutorial/tutorial-3.md:585 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Quando si è pronti a pubblicare un'applicazione reale, consultare la guida Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" +"Quando si è pronti a pubblicare un'applicazione reale, consultare la guida " +"Briefcase How-To su [Impostazione di un'identità di firma del codice macOS]" +"{1}" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#: docs/en/tutorial/tutorial-3.md:589 #, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Una volta completato questo passaggio, la cartella `dist` conterrà un file chiamato `Hello_World-0.0.1.msi`. Se si fa doppio clic su questo programma di installazione per eseguirlo, si dovrebbe seguire il consueto processo di installazione di Windows. Una volta completata l'installazione, nel menu di avvio sarà presente una voce \"Hello World\"." +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"Una volta completato questo passaggio, la cartella `dist` conterrà un file " +"chiamato `Hello_World-0.0.1.msi`. Se si fa doppio clic su questo programma " +"di installazione per eseguirlo, si dovrebbe seguire il consueto processo di " +"installazione di Windows. Una volta completata l'installazione, nel menu di " +"avvio sarà presente una voce \"Hello World\"." -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Ora la nostra applicazione è stata confezionata per essere distribuita su piattaforme desktop. Ma cosa succede quando dobbiamo aggiornare il codice della nostra applicazione? Come facciamo a inserire gli aggiornamenti nella nostra applicazione pacchettizzata? Consultate [Tutorial 4][./tutorial-4] per scoprirlo..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "Esercitazione 3 - Confezionamento per la distribuzione" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index eae2c85c..3d27b943 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -1,177 +1,293 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "Esercitazione 4 - Aggiornamento dell'applicazione" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#: docs/en/tutorial/tutorial-4.md:3 #, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "Nell'ultima esercitazione abbiamo confezionato la nostra applicazione come applicazione nativa. Se avete a che fare con un'applicazione reale, la storia non finisce qui: probabilmente farete dei test, scoprirete dei problemi e dovrete apportare delle modifiche. Anche se la vostra applicazione è perfetta, alla fine vorrete pubblicare la versione 2 della vostra applicazione con dei miglioramenti." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" +"Nell'ultima esercitazione abbiamo confezionato la nostra applicazione come " +"applicazione nativa. Se avete a che fare con un'applicazione reale, la " +"storia non finisce qui: probabilmente farete dei test, scoprirete dei " +"problemi e dovrete apportare delle modifiche. Anche se la vostra " +"applicazione è perfetta, alla fine vorrete pubblicare la versione 2 della " +"vostra applicazione con dei miglioramenti." + +#: docs/en/tutorial/tutorial-4.md:10 #, fuzzy msgid "So - how do you update your installed app when you make code changes?" -msgstr "Come si aggiorna l'applicazione installata quando si apportano modifiche al codice?" +msgstr "" +"Come si aggiorna l'applicazione installata quando si apportano modifiche al " +"codice?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 #, fuzzy msgid "Updating application code" msgstr "Aggiornamento del codice dell'applicazione" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#: docs/en/tutorial/tutorial-4.md:14 #, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "La nostra applicazione attualmente stampa sulla console quando si preme il pulsante. Tuttavia, le applicazioni GUI non dovrebbero utilizzare la console per l'output. Devono utilizzare le finestre di dialogo per comunicare con gli utenti." +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "" +"La nostra applicazione attualmente stampa sulla console quando si preme il " +"pulsante. Tuttavia, le applicazioni GUI non dovrebbero utilizzare la console " +"per l'output. Devono utilizzare le finestre di dialogo per comunicare con " +"gli utenti." -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#: docs/en/tutorial/tutorial-4.md:18 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Aggiungiamo una finestra di dialogo per dire ciao, invece di scrivere nella console. Modificare il callback `say_hello` in modo che assomigli a questo:" +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "" +"Aggiungiamo una finestra di dialogo per dire ciao, invece di scrivere nella " +"console. Modificare il callback `say_hello` in modo che assomigli a questo:" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#: docs/en/tutorial/tutorial-4.md:36 #, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Questo indica a Toga di aprire una finestra di dialogo modale quando viene premuto il pulsante." +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." +msgstr "" +"Questo indica a Toga di aprire una finestra di dialogo modale quando viene " +"premuto il pulsante." -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#: docs/en/tutorial/tutorial-4.md:38 #, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Se si esegue `briefcase dev`, si inserisce un nome e si preme il pulsante , si vedrà la nuova finestra di dialogo:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" +msgstr "" +"Se si esegue `briefcase dev`, si inserisce un nome e si preme il pulsante , " +"si vedrà la nuova finestra di dialogo:" -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Esercitazione Hello World 4, su macOS" +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Esercitazione Hello World 4, su Linux" +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Esercitazione Hello World 4, su Windows" +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:69 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." +msgstr "" +"Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Perché? Beh, `briefcase dev` opera eseguendo il vostro codice sul posto - cerca di produrre un ambiente di runtime il più realistico possibile per il vostro codice, ma non fornisce o utilizza alcuna infrastruttura della piattaforma per avvolgere il vostro codice come un'applicazione. Parte del processo di impacchettamento dell'applicazione comporta la copia del codice *nel* bundle dell'applicazione e, al momento, l'applicazione contiene ancora il vecchio codice." +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#: docs/en/tutorial/tutorial-4.md:79 #, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Quindi, dobbiamo dire a briefcase di aggiornare l'applicazione, copiando la nuova versione del codice. Potremmo farlo cancellando la vecchia cartella della piattaforma e ricominciando da zero. Tuttavia, Briefcase offre un modo più semplice: è possibile aggiornare il codice dell'applicazione esistente:" +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" +"Quindi, dobbiamo dire a briefcase di aggiornare l'applicazione, copiando la " +"nuova versione del codice. Potremmo farlo cancellando la vecchia cartella " +"della piattaforma e ricominciando da zero. Tuttavia, Briefcase offre un modo " +"più semplice: è possibile aggiornare il codice dell'applicazione esistente:" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#: docs/en/tutorial/tutorial-4.md:140 #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Se Briefcase non riesce a trovare il modello impalcabile, invocherà automaticamente `create` per generare un nuovo scaffold." +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." +msgstr "" +"Se Briefcase non riesce a trovare il modello impalcabile, invocherà " +"automaticamente `create` per generare un nuovo scaffold." -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#: docs/en/tutorial/tutorial-4.md:143 #, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Ora che abbiamo aggiornato il codice dell'installatore, possiamo eseguire `briefcase build` per ricompilare l'applicazione, `briefcase run` per eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare l'applicazione per la distribuzione." +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" +"Ora che abbiamo aggiornato il codice dell'installatore, possiamo eseguire `" +"briefcase build` per ricompilare l'applicazione, `briefcase run` per " +"eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare " +"l'applicazione per la distribuzione." -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#: docs/en/tutorial/tutorial-4.md:148 #, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3][tutorial-3], per il tutorial si consiglia di eseguire il pacchetto `briefcase` con il flag `--adhoc-sign` per evitare la complessità di impostare un'identità di firma del codice e mantenere il tutorial il più semplice possibile)" +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" +"(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3]" +"[tutorial-3], per il tutorial si consiglia di eseguire il pacchetto " +"`briefcase` con il flag `--adhoc-sign` per evitare la complessità di " +"impostare un'identità di firma del codice e mantenere il tutorial il più " +"semplice possibile)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 #, fuzzy msgid "Update and run in one step" msgstr "Aggiornamento ed esecuzione in un unico passaggio" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Se state iterando rapidamente le modifiche al codice, è probabile che vogliate apportare una modifica al codice, aggiornare l'applicazione e rieseguirla immediatamente. Per la maggior parte degli scopi, la modalità sviluppatore (`briefcase dev``) è il modo più semplice per eseguire questo tipo di iterazione rapida; tuttavia, se si sta testando qualcosa sul modo in cui l'applicazione viene eseguita come binario nativo, o si sta cercando un bug che si manifesta solo quando l'applicazione è in forma pacchettizzata, potrebbe essere necessario utilizzare ripetute chiamate a `briefcase run`. Per semplificare il processo di aggiornamento ed esecuzione dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"Se state iterando rapidamente le modifiche al codice, è probabile che " +"vogliate apportare una modifica al codice, aggiornare l'applicazione e " +"rieseguirla immediatamente. Per la maggior parte degli scopi, la modalità " +"sviluppatore (`briefcase dev``) è il modo più semplice per eseguire questo " +"tipo di iterazione rapida; tuttavia, se si sta testando qualcosa sul modo in " +"cui l'applicazione viene eseguita come binario nativo, o si sta cercando un " +"bug che si manifesta solo quando l'applicazione è in forma pacchettizzata, " +"potrebbe essere necessario utilizzare ripetute chiamate a `briefcase run`. " +"Per semplificare il processo di aggiornamento ed esecuzione " +"dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare " +"questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." + +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Proviamo a fare un'altra modifica. Si sarà notato che se non si digita un nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" +"Proviamo a fare un'altra modifica. Si sarà notato che se non si digita un " +"nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". " +"Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#: docs/en/tutorial/tutorial-4.md:170 #, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "All'inizio del file, tra le importazioni e la definizione della `classe HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto appropriato a seconda del valore del nome fornito:" +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "" +"All'inizio del file, tra le importazioni e la definizione della `classe " +"HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto " +"appropriato a seconda del valore del nome fornito:" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Quindi, modificare il callback `say_hello` per utilizzare questo nuovo metodo di utilità:" +msgstr "" +"Quindi, modificare il callback `say_hello` per utilizzare questo nuovo " +"metodo di utilità:" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#: docs/en/tutorial/tutorial-4.md:194 #, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Eseguire l'applicazione in modalità di sviluppo (con `briefcase dev`) per verificare che la nuova logica funzioni; quindi aggiornare, compilare ed eseguire l'applicazione con un solo comando:" +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "" +"Eseguire l'applicazione in modalità di sviluppo (con `briefcase dev`) per " +"verificare che la nuova logica funzioni; quindi aggiornare, compilare ed " +"eseguire l'applicazione con un solo comando:" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#: docs/en/tutorial/tutorial-4.md:268 #, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "Il comando package accetta anche l'argomento `-u`, per cui se si apporta una modifica al codice dell'applicazione e si desidera eseguire immediatamente il repackaging, si può eseguire `briefcase package -u`." +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" +"Il comando package accetta anche l'argomento `-u`, per cui se si apporta una " +"modifica al codice dell'applicazione e si desidera eseguire immediatamente " +"il repackaging, si può eseguire `briefcase package -u`." -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#: docs/en/tutorial/tutorial-4.md:274 #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Ora abbiamo la nostra applicazione confezionata per la distribuzione su piattaforme desktop e siamo stati in grado di aggiornare il codice della nostra applicazione." +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "" +"Ora abbiamo la nostra applicazione confezionata per la distribuzione su " +"piattaforme desktop e siamo stati in grado di aggiornare il codice della " +"nostra applicazione." -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Ma che dire della telefonia mobile? In [Tutorial 5][tutorial-5/index], convertiremo la nostra applicazione in un'applicazione mobile e la distribuiremo su un simulatore di dispositivo e su un telefono." +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "Esercitazione 4 - Aggiornamento dell'applicazione" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po index 5f4d50a8..90777c5c 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -1,257 +1,395 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Esercitazione 5 - Il mobile: Android" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#: docs/en/tutorial/tutorial-5/android.md:3 #, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Ora prenderemo la nostra applicazione e la distribuiremo come applicazione Android." +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." +msgstr "" +"Ora prenderemo la nostra applicazione e la distribuiremo come applicazione " +"Android." -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#: docs/en/tutorial/tutorial-5/android.md:6 #, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "Il processo di distribuzione di un'applicazione su Android è molto simile a quello di un'applicazione desktop. Briefcase gestisce l'installazione delle dipendenze per Android, tra cui l'SDK Android, l'emulatore Android e un compilatore Java." +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"Il processo di distribuzione di un'applicazione su Android è molto simile a " +"quello di un'applicazione desktop. Briefcase gestisce l'installazione delle " +"dipendenze per Android, tra cui l'SDK Android, l'emulatore Android e un " +"compilatore Java." -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 #, fuzzy msgid "Create an Android app and compile it" msgstr "Creare un'applicazione Android e compilarla" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -#, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Per prima cosa, eseguire il comando `create`. Questo scarica un modello di applicazione Android e vi aggiunge il codice Python." - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Quando si esegue `briefcase create android` per la prima volta, Briefcase scarica un JDK Java e l'SDK Android. Le dimensioni dei file e i tempi di download possono essere considerevoli; il download può richiedere un po' di tempo (10 minuti o più, a seconda della velocità della connessione a Internet). Al termine del download, verrà richiesto di accettare la licenza Android SDK di Google." - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#: docs/en/tutorial/tutorial-5/android.md:13 #, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Una volta completata questa operazione, nel nostro progetto avremo una cartella `buildhelloworld\\android\\gradle`, che conterrà un progetto Android con una configurazione di compilazione Gradle. Questo progetto conterrà il codice dell'applicazione e un pacchetto di supporto contenente l'interprete Python." +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "" +"Per prima cosa, eseguire il comando `create`. Questo scarica un modello di " +"applicazione Android e vi aggiunge il codice Python." + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -#, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Possiamo quindi usare il comando `build` di Briefcase per compilare questo file in un'applicazione Android APK." +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "Gradle può sembrare bloccato" +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -#, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante il passaggio `briefcase build android`, Gradle (lo strumento di creazione della piattaforma Android) stampa `CONFIGURING: 100%` e sembra non fare nulla. Non preoccupatevi, non è bloccato: sta scaricando altri componenti dell'SDK Android. A seconda della velocità della connessione a Internet, potrebbero essere necessari altri 10 minuti (o più). Questo ritardo dovrebbe verificarsi solo la prima volta che si esegue `build`; gli strumenti vengono memorizzati nella cache e nella compilazione successiva verranno utilizzate le versioni memorizzate nella cache." +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#: docs/en/tutorial/tutorial-5/android.md:104 #, fuzzy -msgid "Run the app on a virtual device" -msgstr "Eseguire l'applicazione su un dispositivo virtuale" +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"Quando si esegue `briefcase create android` per la prima volta, Briefcase " +"scarica un JDK Java e l'SDK Android. Le dimensioni dei file e i tempi di " +"download possono essere considerevoli; il download può richiedere un po' di " +"tempo (10 minuti o più, a seconda della velocità della connessione a " +"Internet). Al termine del download, verrà richiesto di accettare la licenza " +"Android SDK di Google." -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +#: docs/en/tutorial/tutorial-5/android.md:113 #, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Ora siamo pronti a eseguire la nostra applicazione. È possibile utilizzare il comando `run` di Briefcase per eseguire l'applicazione su un dispositivo Android. Cominciamo con l'esecuzione su un emulatore Android." +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"Una volta completata questa operazione, nel nostro progetto avremo una " +"cartella `buildhelloworld\\android\\gradle`, che conterrà un progetto " +"Android con una configurazione di compilazione Gradle. Questo progetto " +"conterrà il codice dell'applicazione e un pacchetto di supporto contenente " +"l'interprete Python." -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#: docs/en/tutorial/tutorial-5/android.md:118 #, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Per eseguire la vostra applicazione, eseguite `briefcase run android`. In questo modo, verrà richiesto un elenco di dispositivi su cui è possibile eseguire l'applicazione. L'ultima voce sarà sempre un'opzione per creare un nuovo emulatore Android." +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "" +"Possiamo quindi usare il comando `build` di Briefcase per compilare questo " +"file in un'applicazione Android APK." -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Ora possiamo scegliere il dispositivo desiderato. Selezionate l'opzione \"Crea un nuovo emulatore Android\" e accettate la scelta predefinita per il nome del dispositivo (`beePhone`)." +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +#: docs/en/tutorial/tutorial-5/android.md:184 #, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "Briefcase `run` avvierà automaticamente il dispositivo virtuale. Quando il dispositivo si avvia, si vedrà il logo di Android:" +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"Durante il passaggio `briefcase build android`, Gradle (lo strumento di " +"creazione della piattaforma Android) stampa `CONFIGURING: 100%` e sembra non " +"fare nulla. Non preoccupatevi, non è bloccato: sta scaricando altri " +"componenti dell'SDK Android. A seconda della velocità della connessione a " +"Internet, potrebbero essere necessari altri 10 minuti (o più). Questo " +"ritardo dovrebbe verificarsi solo la prima volta che si esegue `build`; gli " +"strumenti vengono memorizzati nella cache e nella compilazione successiva " +"verranno utilizzate le versioni memorizzate nella cache." -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 +#: docs/en/tutorial/tutorial-5/android.md:194 #, fuzzy -msgid "Android virtual device booting" -msgstr "Avvio del dispositivo virtuale Android" +msgid "Run the app on a virtual device" +msgstr "Eseguire l'applicazione su un dispositivo virtuale" -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#: docs/en/tutorial/tutorial-5/android.md:196 #, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Una volta terminato l'avvio del dispositivo, Briefcase installerà l'applicazione sul dispositivo. Verrà visualizzata brevemente una schermata di avvio:" +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" +"Ora siamo pronti a eseguire la nostra applicazione. È possibile utilizzare " +"il comando `run` di Briefcase per eseguire l'applicazione su un dispositivo " +"Android. Cominciamo con l'esecuzione su un emulatore Android." -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 +#: docs/en/tutorial/tutorial-5/android.md:200 #, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Dispositivo virtuale Android completamente avviato, sulla schermata del launcher" +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" +"Per eseguire la vostra applicazione, eseguite `briefcase run android`. In " +"questo modo, verrà richiesto un elenco di dispositivi su cui è possibile " +"eseguire l'applicazione. L'ultima voce sarà sempre un'opzione per creare un " +"nuovo emulatore Android." -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#: docs/en/tutorial/tutorial-5/android.md:246 #, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "L'applicazione si avvia. Durante l'avvio dell'applicazione verrà visualizzata una schermata iniziale:" +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "" +"Ora possiamo scegliere il dispositivo desiderato. Selezionate l'opzione " +"\"Crea un nuovo emulatore Android\" e accettate la scelta predefinita per il " +"nome del dispositivo (`beePhone`)." -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 +#: docs/en/tutorial/tutorial-5/android.md:250 #, fuzzy -msgid "App splash screen" -msgstr "Schermata iniziale dell'app" +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "" +"Briefcase `run` avvierà automaticamente il dispositivo virtuale. Quando il " +"dispositivo si avvia, si vedrà il logo di Android:" -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#: docs/en/tutorial/tutorial-5/android.md:259 #, fuzzy -msgid "The emulator didn't start!" -msgstr "L'emulatore non si è avviato!" +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "" +"Una volta terminato l'avvio del dispositivo, Briefcase installerà " +"l'applicazione sul dispositivo. Verrà visualizzata brevemente una schermata " +"di avvio:" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#: docs/en/tutorial/tutorial-5/android.md:269 #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "L'emulatore Android è un software complesso che si basa su una serie di caratteristiche dell'hardware e del sistema operativo, caratteristiche che potrebbero non essere disponibili o abilitate su macchine più vecchie. In caso di difficoltà nell'avvio dell'emulatore Android, consultare la sezione [Requisiti e raccomandazioni]{1} della documentazione per sviluppatori Android." +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "" +"L'applicazione si avvia. Durante l'avvio dell'applicazione verrà " +"visualizzata una schermata iniziale:" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "Al primo avvio, l'applicazione deve scompattarsi sul dispositivo. Questa operazione può richiedere alcuni secondi. Una volta scompattata, verrà visualizzata la versione Android dell'applicazione desktop:" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#: docs/en/tutorial/tutorial-5/android.md:280 #, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "App dal Tutorial 2, completamente avviata" +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" +"L'emulatore Android è un software complesso che si basa su una serie di " +"caratteristiche dell'hardware e del sistema operativo, caratteristiche che " +"potrebbero non essere disponibili o abilitate su macchine più vecchie. In " +"caso di difficoltà nell'avvio dell'emulatore Android, consultare la sezione " +"[Requisiti e raccomandazioni]{1} della documentazione per sviluppatori " +"Android." -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#: docs/en/tutorial/tutorial-5/android.md:290 #, fuzzy -msgid "Demo app fully launched" -msgstr "Applicazione demo completamente lanciata" +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "" +"Al primo avvio, l'applicazione deve scompattarsi sul dispositivo. Questa " +"operazione può richiedere alcuni secondi. Una volta scompattata, verrà " +"visualizzata la versione Android dell'applicazione desktop:" -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#: docs/en/tutorial/tutorial-5/android.md:300 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Se non si riesce a vedere l'avvio dell'applicazione, potrebbe essere necessario controllare il terminale in cui è stato eseguito `briefcase run` e cercare eventuali messaggi di errore." +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "" +"Se non si riesce a vedere l'avvio dell'applicazione, potrebbe essere " +"necessario controllare il terminale in cui è stato eseguito `briefcase run` " +"e cercare eventuali messaggi di errore." -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#: docs/en/tutorial/tutorial-5/android.md:309 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, " +"si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run " +"android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 #, fuzzy msgid "Run the app on a physical device" msgstr "Eseguire l'applicazione su un dispositivo fisico" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#: docs/en/tutorial/tutorial-5/android.md:316 #, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Se si dispone di un telefono o di un tablet Android fisico, è possibile collegarlo al computer con un cavo USB e quindi utilizzare la valigetta per puntare al dispositivo fisico." +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "" +"Se si dispone di un telefono o di un tablet Android fisico, è possibile " +"collegarlo al computer con un cavo USB e quindi utilizzare la valigetta per " +"puntare al dispositivo fisico." -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#: docs/en/tutorial/tutorial-5/android.md:320 #, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android richiede la preparazione del dispositivo prima di poterlo utilizzare per lo sviluppo. È necessario apportare due modifiche alle opzioni del dispositivo:" +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "" +"Android richiede la preparazione del dispositivo prima di poterlo utilizzare " +"per lo sviluppo. È necessario apportare due modifiche alle opzioni del " +"dispositivo:" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 #, fuzzy msgid "Enable developer options" msgstr "Abilitare le opzioni per gli sviluppatori" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 #, fuzzy msgid "Enable USB debugging" msgstr "Abilitare il debug USB" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#: docs/en/tutorial/tutorial-5/android.md:327 #, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "I dettagli su come apportare queste modifiche sono disponibili [nella documentazione per sviluppatori Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Una volta completati questi passaggi, il dispositivo dovrebbe apparire nell'elenco dei dispositivi disponibili quando si esegue `briefcase run android`." +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" +"I dettagli su come apportare queste modifiche sono disponibili " +"[nella documentazione per sviluppatori Android]{1}." -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#: docs/en/tutorial/tutorial-5/android.md:330 #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Qui possiamo vedere un nuovo dispositivo fisico con il suo numero di serie nell'elenco di distribuzione - in questo caso, un Pixel 3a. In futuro, se si vuole eseguire su questo dispositivo senza usare il menu, si può fornire il numero di serie del telefono a Briefcase (in questo caso, `briefcase run android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul dispositivo, senza richiedere nulla." +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "" +"Una volta completati questi passaggi, il dispositivo dovrebbe apparire " +"nell'elenco dei dispositivi disponibili quando si esegue `briefcase run " +"android`." -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#: docs/en/tutorial/tutorial-5/android.md:381 #, fuzzy -msgid "My device doesn't appear!" -msgstr "Il mio dispositivo non appare!" +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"Qui possiamo vedere un nuovo dispositivo fisico con il suo numero di serie " +"nell'elenco di distribuzione - in questo caso, un Pixel 3a. In futuro, se si " +"vuole eseguire su questo dispositivo senza usare il menu, si può fornire il " +"numero di serie del telefono a Briefcase (in questo caso, `briefcase run " +"android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul " +"dispositivo, senza richiedere nulla." + +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#: docs/en/tutorial/tutorial-5/android.md:390 #, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Se il dispositivo non compare in questo elenco, significa che non è stato attivato il debug USB (oppure che il dispositivo non è collegato!)." +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "" +"Se il dispositivo non compare in questo elenco, significa che non è stato " +"attivato il debug USB (oppure che il dispositivo non è collegato!)." -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#: docs/en/tutorial/tutorial-5/android.md:393 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Se il dispositivo appare, ma è elencato come \"Dispositivo sconosciuto (non autorizzato per lo sviluppo)\", la modalità sviluppatore non è stata abilitata correttamente. Eseguire nuovamente [i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `briefcase run android`." +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" +"Se il dispositivo appare, ma è elencato come " +"\"Dispositivo sconosciuto (non autorizzato per lo sviluppo)\", la modalità " +"sviluppatore non è stata abilitata correttamente. Eseguire nuovamente " +"[i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `" +"briefcase run android`." -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "Esercitazione 5 - Il mobile: Android" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 7ef4949d..e41e81c9 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -1,99 +1,147 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Esercitazione 5 - Il mobile: iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#: docs/en/tutorial/tutorial-5/iOS.md:13 #, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Una volta installato Xcode, possiamo prendere la nostra applicazione e distribuirla come applicazione iOS." +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." +msgstr "" +"Una volta installato Xcode, possiamo prendere la nostra applicazione e " +"distribuirla come applicazione iOS." -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "Il processo di distribuzione di un'applicazione su iOS è molto simile a quello per la distribuzione come applicazione desktop. Per prima cosa, si esegue il comando `create`, ma questa volta si specifica che si vuole creare un'applicazione iOS:" +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#: docs/en/tutorial/tutorial-5/iOS.md:46 #, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Una volta completata questa operazione, avremo una cartella `build/helloworld/ios/xcode` contenente un progetto Xcode, oltre alle librerie di supporto e al codice dell'applicazione necessario per l'applicazione." +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"Una volta completata questa operazione, avremo una cartella `build/" +"helloworld/ios/xcode` contenente un progetto Xcode, oltre alle librerie di " +"supporto e al codice dell'applicazione necessario per l'applicazione." -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#: docs/en/tutorial/tutorial-5/iOS.md:50 #, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Si può quindi usare Briefcase per compilare l'applicazione usando `briefcase build iOS`:" +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "" +"Si può quindi usare Briefcase per compilare l'applicazione usando `briefcase " +"build iOS`:" -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#: docs/en/tutorial/tutorial-5/iOS.md:66 #, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Ora siamo pronti a eseguire la nostra applicazione, usando `briefcase run iOS`. Verrà richiesto di selezionare un dispositivo per il quale compilare; se sono stati installati simulatori per più versioni dell'SDK di iOS, potrebbe anche essere richiesto quale versione di iOS si desidera utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle mostrate in questo output; come minimo, l'elenco dei dispositivi sarà diverso. Per i nostri scopi, non importa quale simulatore si sceglie." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"Ora siamo pronti a eseguire la nostra applicazione, usando `briefcase run " +"iOS`. Verrà richiesto di selezionare un dispositivo per il quale compilare; " +"se sono stati installati simulatori per più versioni dell'SDK di iOS, " +"potrebbe anche essere richiesto quale versione di iOS si desidera " +"utilizzare. Le opzioni visualizzate potrebbero essere diverse da quelle " +"mostrate in questo output; come minimo, l'elenco dei dispositivi sarà " +"diverso. Per i nostri scopi, non importa quale simulatore si sceglie." + +#: docs/en/tutorial/tutorial-5/iOS.md:116 #, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Questo avvierà il simulatore iOS, installerà la vostra applicazione e la avvierà. Si dovrebbe vedere il simulatore avviarsi e alla fine aprire l'applicazione iOS:" +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "" +"Questo avvierà il simulatore iOS, installerà la vostra applicazione e la " +"avvierà. Si dovrebbe vedere il simulatore avviarsi e alla fine aprire " +"l'applicazione iOS:" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Esercitazione Hello World 5, su iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#: docs/en/tutorial/tutorial-5/iOS.md:127 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a Briefcase di usare quel simulatore fornendo un'opzione `-d` (o `--device`). Utilizzando il nome del dispositivo selezionato al momento della creazione dell'applicazione, eseguite:" +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"Se si sa in anticipo a quale simulatore iOS si vuole puntare, si può dire a " +"Briefcase di usare quel simulatore fornendo un'opzione `-d` (o `--device`). " +"Utilizzando il nome del dispositivo selezionato al momento della creazione " +"dell'applicazione, eseguite:" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#: docs/en/tutorial/tutorial-5/iOS.md:136 #, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Se sono disponibili più versioni di iOS, Briefcase sceglierà la versione di iOS più alta; se si vuole scegliere una versione di iOS in particolare, si dice di usare quella versione specifica:" +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "" +"Se sono disponibili più versioni di iOS, Briefcase sceglierà la versione di " +"iOS più alta; se si vuole scegliere una versione di iOS in particolare, si " +"dice di usare quella versione specifica:" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 #, fuzzy msgid "Or, you can name a specific device UDID:" -msgstr "In alternativa, è possibile assegnare un nome UDID a un dispositivo specifico:" +msgstr "" +"In alternativa, è possibile assegnare un nome UDID a un dispositivo " +"specifico:" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Ora abbiamo un'applicazione sul nostro telefono! C'è un altro posto dove possiamo distribuire un'applicazione BeeWare? Consultate [Tutorial 6][../tutorial-6] per scoprirlo..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Per compilare le applicazioni iOS è necessario Xcode, disponibile gratuitamente sull [App Store di macOS]{1}." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "Esercitazione 5 - Il mobile: iOS" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po index 48d96b2e..abcfe123 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -1,55 +1,50 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +#: docs/en/tutorial/tutorial-5/index.md:3 #, fuzzy -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Esercitazione 5 - Il mobile" +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" +msgstr "" +"Finora abbiamo eseguito e testato la nostra applicazione sul desktop. " +"Tuttavia, BeeWare supporta anche le piattaforme mobili e l'applicazione che " +"abbiamo scritto può essere distribuita anche sul vostro dispositivo mobile!" + +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +#: docs/en/tutorial/tutorial-5/index.md:9 #, fuzzy -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Finora abbiamo eseguito e testato la nostra applicazione sul desktop. Tuttavia, BeeWare supporta anche le piattaforme mobili e l'applicazione che abbiamo scritto può essere distribuita anche sul vostro dispositivo mobile!" +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "" +"Le applicazioni Android possono essere compilate su macOS, Windows o Linux." -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +#: docs/en/tutorial/tutorial-5/index.md:13 #, fuzzy msgid "iOS applications can only be compiled on macOS." msgstr "le applicazioni iOS possono essere compilate solo su macOS." -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 #, fuzzy -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Le applicazioni Android possono essere compilate su macOS, Windows o Linux." - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Costruiamo la nostra applicazione per iOS!][iOS]" - -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Costruiamo la nostra applicazione per Android!][android]" - +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "Esercitazione 5 - Il mobile" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po index aa8fee9e..5850daf9 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po @@ -1,106 +1,177 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-02-13 11:48+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" -"Language: it\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" -"Generated-By: Babel 2.14.0\n" -"X-Generator: Poedit 3.4.2\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 c77e893e0530491a9eea63edbbcd97d1 -#, fuzzy -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - Mettetelo sul web!" +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:5 ba3b051ff3f8430b96e4400f32ae9214 +#: docs/en/tutorial/tutorial-6.md:3 #, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Oltre a supportare le piattaforme mobili, il toolkit di widget Toga supporta anche il Web! Utilizzando la stessa API usata per distribuire le applicazioni desktop e mobili, è possibile distribuire l'applicazione come applicazione web a pagina singola." +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." +msgstr "" +"Oltre a supportare le piattaforme mobili, il toolkit di widget Toga supporta " +"anche il Web! Utilizzando la stessa API usata per distribuire le " +"applicazioni desktop e mobili, è possibile distribuire l'applicazione come " +"applicazione web a pagina singola." -#: ../../tutorial/tutorial-6.rst:9 a9e2e0b744a24ecbbcc3b27c1a3bfbee -#, fuzzy -msgid "Proof of Concept" -msgstr "Prova di concetto" +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 cd58123453da41bda2a149916b923a2b +#: docs/en/tutorial/tutorial-6.md:10 #, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "Il backend di Toga Web è il meno maturo di tutti i backend di Toga. È abbastanza maturo per mostrare alcune funzionalità, ma è probabile che sia pieno di bug e che manchino molti dei widget disponibili su altre piattaforme. In questo momento, l'implementazione del Web dovrebbe essere considerata una \"prova di concetto\": sufficiente per dimostrare ciò che si può fare, ma non abbastanza per fare affidamento su uno sviluppo serio." - -#: ../../tutorial/tutorial-6.rst:18 d70c9166dbb4459b98880013d46ec9c4 +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." +msgstr "" +"Il backend di Toga Web è il meno maturo di tutti i backend di Toga. È " +"abbastanza maturo per mostrare alcune funzionalità, ma è probabile che sia " +"pieno di bug e che manchino molti dei widget disponibili su altre " +"piattaforme. In questo momento, l'implementazione del Web dovrebbe essere " +"considerata una \"prova di concetto\": sufficiente per dimostrare ciò che si " +"può fare, ma non abbastanza per fare affidamento su uno sviluppo serio." + +#: docs/en/tutorial/tutorial-6.md:17 #, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Se avete problemi con questa fase del tutorial, potete passare alla pagina successiva." +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." +msgstr "" +"Se avete problemi con questa fase del tutorial, potete passare alla pagina " +"successiva." + +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-6.rst:22 50afe509bb6d437481fbdf176bf6b374 +#: docs/en/tutorial/tutorial-6.md:22 #, fuzzy msgid "Deploying as a web app" msgstr "Distribuzione come applicazione web" -#: ../../tutorial/tutorial-6.rst:24 fe22b389fcd24950959ce1f3cbd42268 +#: docs/en/tutorial/tutorial-6.md:24 #, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" -msgstr "Il processo di distribuzione come applicazione web a pagina singola segue lo stesso schema familiare: si crea l'applicazione, la si costruisce e la si esegue. Tuttavia, Briefcase può essere un po' intelligente; se si tenta di eseguire un'applicazione e Briefcase determina che non è stata creata o costruita per la piattaforma a cui è destinata, eseguirà le fasi di creazione e costruzione per voi. Poiché questa è la prima volta che eseguiamo l'applicazione per il Web, possiamo eseguire tutti e tre i passaggi con un solo comando:" - -#: ../../tutorial/tutorial-6.rst:34 08442cd504524177b2a8d6a0a33ef63e -msgid "macOS" -msgstr "macOS" +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" +msgstr "" +"Il processo di distribuzione come applicazione web a pagina singola segue lo " +"stesso schema familiare: si crea l'applicazione, la si costruisce e la si " +"esegue. Tuttavia, Briefcase può essere un po' intelligente; se si tenta di " +"eseguire un'applicazione e Briefcase determina che non è stata creata o " +"costruita per la piattaforma a cui è destinata, eseguirà le fasi di " +"creazione e costruzione per voi. Poiché questa è la prima volta che " +"eseguiamo l'applicazione per il Web, possiamo eseguire tutti e tre i " +"passaggi con un solo comando:" + +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-6.rst:72 940b0816d5ef42dc826edb06d68abf03 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 f3e6dd162ab74f44a184e14dfc2506f5 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 e62f6dea44a24de49600b7b2b9b6e3ca -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Si aprirà un browser web che punta a [http://127.0.0.1:8080](http://127.0.0.1:8080):" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 f5801eb897c7486d8cebe14cb60393ea -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Finestra di dialogo Hello World Tutorial 6, in un browser" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 ba244d1ce1af4838a08ca405e3a6a44e +#: docs/en/tutorial/tutorial-6.md:156 #, fuzzy msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Se si inserisce il proprio nome e si fa clic sul pulsante, viene visualizzata una finestra di dialogo." +msgstr "" +"Se si inserisce il proprio nome e si fa clic sul pulsante, viene " +"visualizzata una finestra di dialogo." -#: ../../tutorial/tutorial-6.rst:157 20a83da10a2c44e5a58f5a89852560e7 +#: docs/en/tutorial/tutorial-6.md:158 msgid "How does this work?" msgstr "Come funziona?" -#: ../../tutorial/tutorial-6.rst:159 fe172eec14ff48e09bf660601f4eda7e +#: docs/en/tutorial/tutorial-6.md:160 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Questa applicazione web è un sito web statico - una singola pagina sorgente HTML, con alcuni CSS e altre risorse. Briefcase ha avviato un server web locale per servire questa pagina, in modo che il browser possa visualizzarla. Se si volesse mettere in produzione questa pagina web, si potrebbe copiare il contenuto della cartella `www` su qualsiasi server web in grado di servire contenuti statici." - -#: ../../tutorial/tutorial-6.rst:165 cd4d0b53fe834650860a16b3f85fd352 +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." +msgstr "" +"Questa applicazione web è un sito web statico - una singola pagina sorgente " +"HTML, con alcuni CSS e altre risorse. Briefcase ha avviato un server web " +"locale per servire questa pagina, in modo che il browser possa " +"visualizzarla. Se si volesse mettere in produzione questa pagina web, si " +"potrebbe copiare il contenuto della cartella `www` su qualsiasi server web " +"in grado di servire contenuti statici." + +#: docs/en/tutorial/tutorial-6.md:166 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." -msgstr "Ma quando si preme il pulsante, si esegue codice Python... Come funziona? Toga utilizza [PyScript]{1} per fornire un interprete Python nel browser. Briefcase impacchetta il codice dell'applicazione come ruote che PyScript può caricare nel browser. Quando la pagina viene caricata, il codice dell'applicazione viene eseguito nel browser, costruendo l'interfaccia utente utilizzando il DOM del browser. Quando si fa clic su un pulsante, questo esegue il codice di gestione degli eventi nel browser." - -#: ../../tutorial/tutorial-6.rst:173 377320977bf14da0a7a0794a0e7353b4 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." +msgstr "" +"Ma quando si preme il pulsante, si esegue codice Python... Come funziona? " +"Toga utilizza [PyScript]{1} per fornire un interprete Python nel browser. " +"Briefcase impacchetta il codice dell'applicazione come ruote che PyScript " +"può caricare nel browser. Quando la pagina viene caricata, il codice " +"dell'applicazione viene eseguito nel browser, costruendo l'interfaccia " +"utente utilizzando il DOM del browser. Quando si fa clic su un pulsante, " +"questo esegue il codice di gestione degli eventi nel browser." + +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-6.rst:175 b07028ccc7aa474898a9ed21e4908c2e +#: docs/en/tutorial/tutorial-6.md:176 +#, fuzzy +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." +msgstr "" +"Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, " +"l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. " +"Possiamo includere nella nostra applicazione le librerie del Python Package " +"Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." + #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. Possiamo includere nella nostra applicazione le librerie del Python Package Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "Tutorial 6 - Mettetelo sul web!" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index bc8c204b..8a962edb 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -1,380 +1,555 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:13+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Esercitazione 7 - Iniziare questa (terza) festa" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#: docs/en/tutorial/tutorial-7.md:3 #, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Finora, l'applicazione che abbiamo costruito ha utilizzato solo il nostro codice e quello fornito da BeeWare. Tuttavia, in un'applicazione reale, è probabile che si voglia utilizzare una libreria di terze parti, scaricata dal Python Package Index (PyPI)." +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"Finora, l'applicazione che abbiamo costruito ha utilizzato solo il nostro " +"codice e quello fornito da BeeWare. Tuttavia, in un'applicazione reale, è " +"probabile che si voglia utilizzare una libreria di terze parti, scaricata " +"dal Python Package Index (PyPI)." -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 #, fuzzy msgid "Let's modify our app to include a third-party library." -msgstr "Modifichiamo la nostra applicazione per includere una libreria di terze parti." +msgstr "" +"Modifichiamo la nostra applicazione per includere una libreria di terze " +"parti." -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#: docs/en/tutorial/tutorial-7.md:23 #, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Aggiungiamo una chiamata API `httpx` alla nostra applicazione. Aggiungiamo un'importazione all'inizio di `app.py` per importare `httpx`:" +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "" +"Aggiungiamo una chiamata API `httpx` alla nostra applicazione. Aggiungiamo " +"un'importazione all'inizio di `app.py` per importare `httpx`:" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Modificare quindi il callback `say_hello()` in modo che assomigli a questo:" +msgstr "" +"Modificare quindi il callback `say_hello()` in modo che assomigli a questo:" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#: docs/en/tutorial/tutorial-7.md:43 #, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Eseguiamo la nostra applicazione aggiornata in modalità sviluppatore di Briefcase per verificare che la nostra modifica abbia funzionato." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." +msgstr "" +"Eseguiamo la nostra applicazione aggiornata in modalità sviluppatore di " +"Briefcase per verificare che la nostra modifica abbia funzionato." + +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "Cosa è successo? Abbiamo aggiunto `httpx` al nostro *codice*, ma non l'abbiamo aggiunto al nostro ambiente virtuale di sviluppo. Possiamo risolvere il problema installando `httpx` con `pip` e poi eseguendo nuovamente `briefcase dev``:" +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Quando si inserisce un nome e si preme il pulsante, dovrebbe apparire una finestra di dialogo simile a questa:" +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Esercitazione Hello World 7, su macOS" +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#: docs/en/tutorial/tutorial-7.md:126 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Esercitazione Hello World 7, su Linux" +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"Cosa è successo? Abbiamo aggiunto `httpx` al nostro *codice*, ma non " +"l'abbiamo aggiunto al nostro ambiente virtuale di sviluppo. Possiamo " +"risolvere il problema installando `httpx` con `pip` e poi eseguendo " +"nuovamente `briefcase dev``:" -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Finestra di dialogo Hello World Tutorial 7, su Windows" +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" +"Quando si inserisce un nome e si preme il pulsante, dovrebbe apparire una " +"finestra di dialogo simile a questa:" -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#: docs/en/tutorial/tutorial-7.md:192 #, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Ora abbiamo un'applicazione funzionante, che utilizza una libreria di terze parti, in modalità di sviluppo!" +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" +msgstr "" +"Ora abbiamo un'applicazione funzionante, che utilizza una libreria di terze " +"parti, in modalità di sviluppo!" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 #, fuzzy msgid "Running the updated app" msgstr "Esecuzione dell'applicazione aggiornata" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Facciamo in modo che il codice aggiornato dell'applicazione venga confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"Facciamo in modo che il codice aggiornato dell'applicazione venga " +"confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche " +"al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "Aggiornare il codice dell'applicazione confezionata:" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "Ricostruire l'applicazione:" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 #, fuzzy msgid "And finally, run the app:" msgstr "Infine, eseguire l'applicazione:" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console e una finestra di dialogo di arresto anomalo:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Arresto anomalo dell'applicazione Hello World Tutorial 7, su macOS" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" +msgstr "" +"Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " +"nella console e una finestra di dialogo di arresto anomalo:" -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" -msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Arresto anomalo dell'applicazione Hello World Tutorial 7, su Windows" +msgstr "" +"Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " +"nella console:" -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" -msgstr "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore nella console:" +msgstr "" +"Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " +"nella console:" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Ancora una volta, l'applicazione non è riuscita ad avviarsi perché `httpx` è stato installato - ma perché? Non abbiamo già installato `httpx`?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "È così, ma solo nell'ambiente di sviluppo. L'ambiente di sviluppo è interamente locale alla vostra macchina e viene attivato solo quando lo attivate esplicitamente. Anche se Briefcase ha una modalità di sviluppo, il motivo principale per cui si usa Briefcase è per impacchettare il codice in modo da poterlo dare a qualcun altro." +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"È così, ma solo nell'ambiente di sviluppo. L'ambiente di sviluppo è " +"interamente locale alla vostra macchina e viene attivato solo quando lo " +"attivate esplicitamente. Anche se Briefcase ha una modalità di sviluppo, il " +"motivo principale per cui si usa Briefcase è per impacchettare il codice in " +"modo da poterlo dare a qualcun altro." -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "L'unico modo per garantire che qualcun altro abbia un ambiente Python che contiene tutto ciò di cui ha bisogno è costruire un ambiente Python completamente isolato. Questo significa che c'è un'installazione di Python completamente isolata e un insieme di dipendenze completamente isolato. Questo è ciò che Briefcase costruisce quando si lancia `briefcase build` - un ambiente Python isolato. Questo spiega anche perché `httpx` non è installato: è stato installato nell'ambiente di *sviluppo*, ma non nell'applicazione confezionata." +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"L'unico modo per garantire che qualcun altro abbia un ambiente Python che " +"contiene tutto ciò di cui ha bisogno è costruire un ambiente Python " +"completamente isolato. Questo significa che c'è un'installazione di Python " +"completamente isolata e un insieme di dipendenze completamente isolato. " +"Questo è ciò che Briefcase costruisce quando si lancia `briefcase build` - " +"un ambiente Python isolato. Questo spiega anche perché `httpx` non è " +"installato: è stato installato nell'ambiente di *sviluppo*, ma non " +"nell'applicazione confezionata." -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Quindi, dobbiamo dire a Briefcase che la nostra applicazione ha una dipendenza esterna." +msgstr "" +"Quindi, dobbiamo dire a Briefcase che la nostra applicazione ha una " +"dipendenza esterna." -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "Aggiornamento delle dipendenze" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "Nella directory principale dell'applicazione, c'è un file chiamato `pyproject.toml`. Questo file contiene tutti i dettagli di configurazione dell'applicazione forniti al momento dell'esecuzione di `briefcase new`." +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"Nella directory principale dell'applicazione, c'è un file chiamato " +"`pyproject.toml`. Questo file contiene tutti i dettagli di configurazione " +"dell'applicazione forniti al momento dell'esecuzione di `briefcase new`." -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "il file `pyproject.toml` è suddiviso in sezioni; una delle sezioni descrive le impostazioni per l'applicazione:" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" +msgstr "" +"il file `pyproject.toml` è suddiviso in sezioni; una delle sezioni descrive " +"le impostazioni per l'applicazione:" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "L'opzione `requires` descrive le dipendenze della nostra applicazione. Si tratta di un elenco di stringhe, che specificano le librerie (e, opzionalmente, le versioni) delle librerie che si vogliono includere nella propria applicazione." +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "" +"L'opzione `requires` descrive le dipendenze della nostra applicazione. Si " +"tratta di un elenco di stringhe, che specificano le librerie (e, " +"opzionalmente, le versioni) delle librerie che si vogliono includere nella " +"propria applicazione." -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "Modificare l'impostazione `requires` in modo che si legga:" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Aggiungendo questa impostazione, si dice a Briefcase \"quando costruisci la mia applicazione, esegui `pip install httpx` nel bundle dell'applicazione\". Qualsiasi cosa che sia un input legale per `pip install` può essere usato qui, quindi si può specificare:" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"Aggiungendo questa impostazione, si dice a Briefcase \"quando costruisci la " +"mia applicazione, esegui `pip install httpx` nel bundle dell'applicazione\". " +"Qualsiasi cosa che sia un input legale per `pip install` può essere usato " +"qui, quindi si può specificare:" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "Una versione specifica della libreria (ad esempio, `\"httpx==0.19.0\"`);" +msgstr "" +"Una versione specifica della libreria (ad esempio, `\"httpx==0.19.0\"`);" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "Un intervallo di versioni della libreria (ad esempio, `\"httpx>=0.19\"`);" +msgstr "" +"Un intervallo di versioni della libreria (ad esempio, `\"httpx>=0.19\"`);" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Un percorso a un repository git (ad esempio, `git+https://github.com/encode/httpx\"`); oppure" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" +msgstr "" +"Un percorso a un repository git (ad esempio, `git+https://github.com/encode/" +"httpx\"`); oppure" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#: docs/en/tutorial/tutorial-7.md:519 #, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Un percorso di file locale (tuttavia, attenzione: se si dà il codice a qualcun altro, questo percorso probabilmente non esisterà sulla sua macchina)" +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "" +"Un percorso di file locale (tuttavia, attenzione: se si dà il codice a " +"qualcun altro, questo percorso probabilmente non esisterà sulla sua macchina)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Più avanti in `pyproject.toml`, si noteranno altre sezioni che dipendono dal sistema operativo, come `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Queste sezioni hanno anche un'impostazione `requires`. Queste impostazioni consentono di definire dipendenze aggiuntive specifiche per la piattaforma; quindi, ad esempio, se si ha bisogno di una libreria specifica per la piattaforma per gestire alcuni aspetti dell'applicazione, si può specificare tale libreria nella sezione `requires` specifica per la piattaforma, e tale impostazione sarà utilizzata solo per quella piattaforma. Si noterà che le librerie `toga` sono tutte specificate nella sezione `requires` specifica della piattaforma, perché le librerie necessarie per visualizzare l'interfaccia utente sono specifiche della piattaforma." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"Più avanti in `pyproject.toml`, si noteranno altre sezioni che dipendono dal " +"sistema operativo, come `[tool.briefcase.app.helloworld.macOS]` e `" +"[tool.briefcase.app.helloworld.windows]`. Queste sezioni hanno anche " +"un'impostazione `requires`. Queste impostazioni consentono di definire " +"dipendenze aggiuntive specifiche per la piattaforma; quindi, ad esempio, se " +"si ha bisogno di una libreria specifica per la piattaforma per gestire " +"alcuni aspetti dell'applicazione, si può specificare tale libreria nella " +"sezione `requires` specifica per la piattaforma, e tale impostazione sarà " +"utilizzata solo per quella piattaforma. Si noterà che le librerie `toga` " +"sono tutte specificate nella sezione `requires` specifica della piattaforma, " +"perché le librerie necessarie per visualizzare l'interfaccia utente sono " +"specifiche della piattaforma." + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "Nel nostro caso, vogliamo che `httpx` sia installato su tutte le piattaforme, quindi usiamo l'impostazione `requires` a livello di applicazione. Le dipendenze a livello di applicazione saranno sempre installate; le dipendenze specifiche della piattaforma sono installate *in aggiunta* a quelle a livello di applicazione." +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"Nel nostro caso, vogliamo che `httpx` sia installato su tutte le " +"piattaforme, quindi usiamo l'impostazione `requires` a livello di " +"applicazione. Le dipendenze a livello di applicazione saranno sempre " +"installate; le dipendenze specifiche della piattaforma sono installate *in " +"aggiunta* a quelle a livello di applicazione." -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Ora che abbiamo comunicato a Briefcase i nostri requisiti aggiuntivi, possiamo riprovare a pacchettizzare la nostra applicazione. Assicurarsi di aver salvato le modifiche a `pyproject.toml` e poi aggiornare di nuovo l'applicazione, questa volta inserendo il flag `-r`. Questo indica a Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"Ora che abbiamo comunicato a Briefcase i nostri requisiti aggiuntivi, " +"possiamo riprovare a pacchettizzare la nostra applicazione. Assicurarsi di " +"aver salvato le modifiche a `pyproject.toml` e poi aggiornare di nuovo " +"l'applicazione, questa volta inserendo il flag `-r`. Questo indica a " +"Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Una volta effettuato l'aggiornamento, si può eseguire `briefcase build` e `briefcase run` e si dovrebbe vedere l'applicazione confezionata, con il nuovo comportamento della finestra di dialogo." +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" +"Una volta effettuato l'aggiornamento, si può eseguire `briefcase build` e `" +"briefcase run` e si dovrebbe vedere l'applicazione confezionata, con il " +"nuovo comportamento della finestra di dialogo." + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "L'opzione `-r` per l'aggiornamento dei requisiti viene rispettata anche dai comandi `build` e `run`, quindi se si vuole aggiornare, compilare ed eseguire in un unico passaggio, si può usare `briefcase run -u -r`." +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"L'opzione `-r` per l'aggiornamento dei requisiti viene rispettata anche dai " +"comandi `build` e `run`, quindi se si vuole aggiornare, compilare ed " +"eseguire in un unico passaggio, si può usare `briefcase run -u -r`." -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Sulle piattaforme desktop (macOS, Windows, Linux), qualsiasi `pip` installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e web, [le opzioni sono leggermente limitate]{1}." +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"Sulle piattaforme desktop (macOS, Windows, Linux), qualsiasi `pip` " +"installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e " +"web, [le opzioni sono leggermente limitate]{1}." -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., `Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{2}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#: docs/en/tutorial/tutorial-7.md:719 #, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare può fornire binari per alcuni moduli binari popolari (tra cui `numpy`, `pandas` e `cryptography`). È *di solito* possibile compilare pacchetti per le piattaforme mobili, ma non è facile da configurare, il che esula dallo scopo di un tutorial introduttivo come questo." +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" +"BeeWare può fornire binari per alcuni moduli binari popolari (tra cui `numpy`" +", `pandas` e `cryptography`). È *di solito* possibile compilare pacchetti " +"per le piattaforme mobili, ma non è facile da configurare, il che esula " +"dallo scopo di un tutorial introduttivo come questo." -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "Accesso a un'API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Un compito comune che un'applicazione deve svolgere è quello di fare una richiesta a un'API web per recuperare dati e mostrarli all'utente. Questa è un'applicazione giocattolo, quindi non abbiamo un'API *reale* con cui lavorare, quindi useremo l'API segnaposto [{JSON}]{1} come fonte di dati." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "L'API {JSON} Placeholder ha una serie di endpoint API \"falsi\" che si possono usare come dati di prova. Una di queste API è l'endpoint `/posts/`, che restituisce finti post del blog. Se si apre `https://jsonplaceholder.typicode.com/posts/42` nel browser, si otterrà un payload JSON che descrive un singolo post - un contenuto [Lorum ipsum]{1} per un post di un blog con ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "La libreria standard di Python contiene tutti gli strumenti necessari per accedere a un'API. Tuttavia, le API integrate sono di livello molto basso. Sono buone implementazioni del protocollo HTTP, ma richiedono all'utente di gestire molti dettagli di basso livello, come il reindirizzamento degli URL, le sessioni, l'autenticazione e la codifica del payload. Come \"normale utente di browser\", probabilmente siete abituati a dare per scontati questi dettagli, che il browser gestisce per voi." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Di conseguenza, sono state sviluppate librerie di terze parti che avvolgono le API integrate e forniscono un'API più semplice e più vicina all'esperienza quotidiana del browser. Utilizzeremo una di queste librerie per accedere all'API {JSON} Placeholder: una libreria chiamata [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Questo modificherà il callback `say_hello()` in modo che quando viene invocato, lo farà:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "effettuare una richiesta GET all'API JSON dei segnaposto per ottenere il post 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "decodificare la risposta come JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "estrarre il corpo del messaggio; e" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "includere il corpo di quel post come testo della finestra di dialogo." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Alcuni pacchetti binari potrebbero non essere disponibili" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "In breve, qualsiasi pacchetto *puro* Python (cioè i pacchetti che *non* contengono un modulo binario) può essere usato senza problemi. Tuttavia, se la vostra dipendenza contiene un componente binario, deve essere compilata; al momento, la maggior parte dei pacchetti Python non fornisce supporto alla compilazione per piattaforme non desktop." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Ora abbiamo un'applicazione che utilizza una libreria di terze parti! Tuttavia, avrete notato che quando si preme il pulsante, l'app diventa poco reattiva. Possiamo fare qualcosa per risolvere questo problema? Consultate [Tutorial 8][tutorial-8] per scoprirlo..." - +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "Esercitazione 7 - Iniziare questa (terza-)festa" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po index 5bf7ba5d..304848e7 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -1,376 +1,591 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:13+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: it\n" "Language-Team: it \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -#, fuzzy -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Esercitazione 8 - Renderlo liscio" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." msgstr "" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" +msgstr "" +"Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento " +"`say_hello()` in modo che assomigli a questo:" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "" -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A meno che non si disponga di una connessione Internet *molto* veloce, si potrebbe notare che quando si preme il pulsante, l'interfaccia grafica dell'applicazione si blocca per un po'. Questo perché la richiesta web che abbiamo fatto è *sincrona*. Quando l'applicazione effettua la richiesta web, attende che l'API restituisca una risposta prima di continuare. Mentre aspetta, non permette all'applicazione di ridisegnare e di conseguenza l'applicazione si blocca." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"A meno che non si disponga di una connessione Internet *molto* veloce, si " +"potrebbe notare che quando si preme il pulsante, l'interfaccia grafica " +"dell'applicazione si blocca per un po'. Questo perché la richiesta web che " +"abbiamo fatto è *sincrona*. Quando l'applicazione effettua la richiesta web, " +"attende che l'API restituisca una risposta prima di continuare. Mentre " +"aspetta, non permette all'applicazione di ridisegnare e di conseguenza " +"l'applicazione si blocca." + +#: docs/en/tutorial/tutorial-8.md:181 #, fuzzy msgid "GUI Event Loops" msgstr "Loop di eventi della GUI" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#: docs/en/tutorial/tutorial-8.md:183 #, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Per capire perché questo accade, dobbiamo entrare nei dettagli del funzionamento di un'applicazione GUI. Le specifiche variano a seconda della piattaforma, ma i concetti di alto livello sono gli stessi, indipendentemente dalla piattaforma o dall'ambiente GUI utilizzato." +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"Per capire perché questo accade, dobbiamo entrare nei dettagli del " +"funzionamento di un'applicazione GUI. Le specifiche variano a seconda della " +"piattaforma, ma i concetti di alto livello sono gli stessi, " +"indipendentemente dalla piattaforma o dall'ambiente GUI utilizzato." -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#: docs/en/tutorial/tutorial-8.md:188 #, fuzzy msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a:" +msgstr "" +"Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a:" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Questo ciclo è chiamato *Event Loop*. (Non si tratta di nomi di metodi reali, ma di un'illustrazione di ciò che avviene in \"pseudo-codice\")." +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "" +"Questo ciclo è chiamato *Event Loop*. (Non si tratta di nomi di metodi " +"reali, ma di un'illustrazione di ciò che avviene in \"pseudo-codice\")." -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#: docs/en/tutorial/tutorial-8.md:199 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Quando si fa clic su un pulsante, si trascina una barra di scorrimento o si digita un tasto, si genera un \"evento\". Questo \"evento\" viene inserito in una coda e l'applicazione elaborerà la coda di eventi quando ne avrà l'opportunità. Il codice utente che viene attivato in risposta all'evento è chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come parte della chiamata `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"Quando si fa clic su un pulsante, si trascina una barra di scorrimento o si " +"digita un tasto, si genera un \"evento\". Questo \"evento\" viene inserito " +"in una coda e l'applicazione elaborerà la coda di eventi quando ne avrà " +"l'opportunità. Il codice utente che viene attivato in risposta all'evento è " +"chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come " +"parte della chiamata `process_events()`." + +#: docs/en/tutorial/tutorial-8.md:206 #, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Una volta che un'applicazione ha elaborato tutti gli eventi disponibili, essa `ridisegna()` la GUI. Questa operazione tiene conto di tutti i cambiamenti che gli eventi hanno causato alla visualizzazione dell'applicazione, nonché di qualsiasi altra cosa stia accadendo nel sistema operativo: ad esempio, le finestre di un'altra applicazione possono oscurare o rivelare parte della finestra della nostra applicazione, e il ridisegno della nostra applicazione dovrà riflettere la porzione di finestra attualmente visibile." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"Una volta che un'applicazione ha elaborato tutti gli eventi disponibili, " +"essa `ridisegna()` la GUI. Questa operazione tiene conto di tutti i " +"cambiamenti che gli eventi hanno causato alla visualizzazione " +"dell'applicazione, nonché di qualsiasi altra cosa stia accadendo nel sistema " +"operativo: ad esempio, le finestre di un'altra applicazione possono oscurare " +"o rivelare parte della finestra della nostra applicazione, e il ridisegno " +"della nostra applicazione dovrà riflettere la porzione di finestra " +"attualmente visibile." + +#: docs/en/tutorial/tutorial-8.md:213 #, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "Il dettaglio importante da notare: mentre un'applicazione sta elaborando un evento, *non può ridisegnare* e *non può elaborare altri eventi*." +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "" +"Il dettaglio importante da notare: mentre un'applicazione sta elaborando un " +"evento, *non può ridisegnare* e *non può elaborare altri eventi*." -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#: docs/en/tutorial/tutorial-8.md:216 #, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Ciò significa che qualsiasi logica utente contenuta in un gestore di eventi deve essere completata rapidamente. Qualsiasi ritardo nel completamento del gestore di eventi sarà osservato dall'utente come un rallentamento (o un arresto) degli aggiornamenti della GUI. Se il ritardo è sufficientemente lungo, il sistema operativo può segnalarlo come un problema: le icone \"beachball\" di macOS e \"spinner\" di Windows indicano che l'applicazione sta impiegando troppo tempo in un gestore di eventi." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"Ciò significa che qualsiasi logica utente contenuta in un gestore di eventi " +"deve essere completata rapidamente. Qualsiasi ritardo nel completamento del " +"gestore di eventi sarà osservato dall'utente come un rallentamento (o un " +"arresto) degli aggiornamenti della GUI. Se il ritardo è sufficientemente " +"lungo, il sistema operativo può segnalarlo come un problema: le icone " +"\"beachball\" di macOS e \"spinner\" di Windows indicano che l'applicazione " +"sta impiegando troppo tempo in un gestore di eventi." + +#: docs/en/tutorial/tutorial-8.md:224 #, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Operazioni semplici come \"aggiornare un'etichetta\" o \"ricalcolare il totale degli input\" sono facili da completare rapidamente. Tuttavia, ci sono molte operazioni che non possono essere completate rapidamente. Se si sta eseguendo un calcolo matematico complesso, o l'indicizzazione di tutti i file di un file system, o l'esecuzione di una richiesta di rete di grandi dimensioni, non è possibile \"farlo rapidamente\": le operazioni sono intrinsecamente lente." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"Operazioni semplici come \"aggiornare un'etichetta\" o " +"\"ricalcolare il totale degli input\" sono facili da completare rapidamente. " +"Tuttavia, ci sono molte operazioni che non possono essere completate " +"rapidamente. Se si sta eseguendo un calcolo matematico complesso, o " +"l'indicizzazione di tutti i file di un file system, o l'esecuzione di una " +"richiesta di rete di grandi dimensioni, non è possibile \"farlo rapidamente\"" +": le operazioni sono intrinsecamente lente." + +#: docs/en/tutorial/tutorial-8.md:231 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Quindi, come si eseguono operazioni di lunga durata in un'applicazione GUI?" +msgstr "" +"Quindi, come si eseguono operazioni di lunga durata in un'applicazione GUI?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 #, fuzzy msgid "Asynchronous programming" msgstr "Programmazione asincrona" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#: docs/en/tutorial/tutorial-8.md:235 #, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "Abbiamo bisogno di un modo per dire a un'applicazione, nel mezzo di un gestore di eventi di lunga durata, che va bene rilasciare temporaneamente il controllo al ciclo di eventi, a patto che si possa riprendere da dove si era interrotto. Spetta all'applicazione determinare quando questo rilascio può avvenire; ma se l'applicazione rilascia regolarmente il controllo al ciclo di eventi, possiamo avere un gestore di eventi di lunga durata *e* mantenere un'interfaccia utente reattiva." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"Abbiamo bisogno di un modo per dire a un'applicazione, nel mezzo di un " +"gestore di eventi di lunga durata, che va bene rilasciare temporaneamente il " +"controllo al ciclo di eventi, a patto che si possa riprendere da dove si era " +"interrotto. Spetta all'applicazione determinare quando questo rilascio può " +"avvenire; ma se l'applicazione rilascia regolarmente il controllo al ciclo " +"di eventi, possiamo avere un gestore di eventi di lunga durata *e* mantenere " +"un'interfaccia utente reattiva." + +#: docs/en/tutorial/tutorial-8.md:242 #, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "È possibile farlo utilizzando la *programmazione asincrona*. La programmazione asincrona è un modo per descrivere un programma che consente all'interprete di eseguire più funzioni contemporaneamente, condividendo le risorse tra tutte le funzioni in esecuzione simultanea." +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" +"È possibile farlo utilizzando la *programmazione asincrona*. La " +"programmazione asincrona è un modo per descrivere un programma che consente " +"all'interprete di eseguire più funzioni contemporaneamente, condividendo le " +"risorse tra tutte le funzioni in esecuzione simultanea." -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "Le funzioni asincrone (note come *co-routine*) devono essere dichiarate esplicitamente come asincrone. Inoltre, devono dichiarare internamente quando esiste la possibilità di cambiare contesto a un'altra co-routine." +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "" +"Le funzioni asincrone (note come *co-routine*) devono essere dichiarate " +"esplicitamente come asincrone. Inoltre, devono dichiarare internamente " +"quando esiste la possibilità di cambiare contesto a un'altra co-routine." -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "In Python, la programmazione asincrona è implementata utilizzando le parole chiave `async` e `await` e il modulo [asyncio]{1} della libreria standard. La parola chiave `async` ci permette di dichiarare che una funzione è una co-routine asincrona. La parola chiave `await` fornisce un modo per dichiarare quando esiste l'opportunità di cambiare contesto a un'altra co-routine. Il modulo [asyncio]{2} fornisce altri strumenti e primitive utili per la codifica asincrona." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"In Python, la programmazione asincrona è implementata utilizzando le parole " +"chiave `async` e `await` e il modulo [asyncio]{1} della libreria standard. " +"La parola chiave `async` ci permette di dichiarare che una funzione è una co-" +"routine asincrona. La parola chiave `await` fornisce un modo per dichiarare " +"quando esiste l'opportunità di cambiare contesto a un'altra co-routine. Il " +"modulo [asyncio]{2} fornisce altri strumenti e primitive utili per la " +"codifica asincrona." + +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "Rendere l'esercitazione asincrona" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#: docs/en/tutorial/tutorial-8.md:263 #, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento `say_hello()` in modo che assomigli a questo:" +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "" +"Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento " +"`say_hello()` in modo che assomigli a questo:" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" -msgstr "In questo codice ci sono solo 4 modifiche rispetto alla versione precedente:" +msgid "" +"There are only three changes to this callback from the previous version:" +msgstr "" +"In questo codice ci sono solo 4 modifiche rispetto alla versione precedente:" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#: docs/en/tutorial/tutorial-8.md:284 #, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "Il client creato è un asincrono `AsyncClient()`, invece di un sincrono `Client()`. Questo indica a `httpx` che deve operare in modalità asincrona, anziché sincrona." +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"Il client creato è un asincrono `AsyncClient()`, invece di un sincrono " +"`Client()`. Questo indica a `httpx` che deve operare in modalità asincrona, " +"anziché sincrona." -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#: docs/en/tutorial/tutorial-8.md:287 #, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "Il gestore di contesto usato per creare il client è contrassegnato come `async`. Questo indica a Python che c'è l'opportunità di rilasciare il controllo quando il gestore di contesto viene inserito e abbandonato." +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "" +"Il gestore di contesto usato per creare il client è contrassegnato come " +"`async`. Questo indica a Python che c'è l'opportunità di rilasciare il " +"controllo quando il gestore di contesto viene inserito e abbandonato." -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga consente di utilizzare metodi regolari o co-routine asincrone come gestori; Toga gestisce tutto dietro le quinte per assicurarsi che il gestore sia invocato o atteso come richiesto." +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "" +"Toga consente di utilizzare metodi regolari o co-routine asincrone come " +"gestori; Toga gestisce tutto dietro le quinte per assicurarsi che il gestore " +"sia invocato o atteso come richiesto." -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Se si salvano queste modifiche e si esegue nuovamente l'applicazione (con `briefcase dev` in modalità di sviluppo, oppure aggiornando ed eseguendo nuovamente l'applicazione confezionata), non ci saranno cambiamenti evidenti nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la finestra di dialogo, si possono notare alcuni sottili miglioramenti:" +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"Se si salvano queste modifiche e si esegue nuovamente l'applicazione (con `" +"briefcase dev` in modalità di sviluppo, oppure aggiornando ed eseguendo " +"nuovamente l'applicazione confezionata), non ci saranno cambiamenti evidenti " +"nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la " +"finestra di dialogo, si possono notare alcuni sottili miglioramenti:" -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#: docs/en/tutorial/tutorial-8.md:314 #, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "Il pulsante torna a uno stato \"non cliccato\", anziché essere bloccato in uno stato \"cliccato\"." +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." +msgstr "" +"Il pulsante torna a uno stato \"non cliccato\", anziché essere bloccato in " +"uno stato \"cliccato\"." -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "L'icona \"beachball\"/\"spinner\" non appare" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#: docs/en/tutorial/tutorial-8.md:317 #, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Se si sposta/ridimensiona la finestra dell'applicazione mentre si attende la visualizzazione della finestra di dialogo, la finestra verrà ridisegnata." +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." +msgstr "" +"Se si sposta/ridimensiona la finestra dell'applicazione mentre si attende la " +"visualizzazione della finestra di dialogo, la finestra verrà ridisegnata." -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Se si tenta di aprire il menu di un'applicazione, il menu viene visualizzato immediatamente." +msgstr "" +"Se si tenta di aprire il menu di un'applicazione, il menu viene visualizzato " +"immediatamente." -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "Prossimi passi" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Ora abbiamo un'applicazione che è efficiente e reattiva, anche quando è in attesa di un'API lenta. Ma come possiamo assicurarci che l'applicazione continui a funzionare mentre continuiamo a svilupparla? Come possiamo testare la nostra applicazione? Consultate [Tutorial 9][tutorial-9] per scoprirlo..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "Il metodo è definito come `async def`, invece che semplicemente `def`. Questo indica a Python che il metodo è una co-routine asincrona." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "La chiamata `get` viene effettuata con la parola chiave `await`. Questo indica all'applicazione che, mentre si attende la risposta dalla rete, l'applicazione può rilasciare il controllo al ciclo degli eventi." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - +#, fuzzy +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "Esercitazione 8 - Renderlo liscio" diff --git a/locales/pt/LC_MESSAGES/SUMMARY.po b/locales/pt/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/pt/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po index 760f216c..71a6aae9 100644 --- a/locales/pt/LC_MESSAGES/how-to/index.po +++ b/locales/pt/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: pt\n" "Language-Team: pt \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po index a744fa87..3b4c0cdb 100644 --- a/locales/pt/LC_MESSAGES/index.po +++ b/locales/pt/LC_MESSAGES/index.po @@ -1,106 +1,194 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-03-01 19:00+0000\n" "Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "Bem-vindo ao Tutorial da BeeWare!" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "Bem-vindo ao Tutorial da BeeWare! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 msgid "**Write Python. Run Anywhere.**" msgstr "**Escreva em Python. Execute em qualquer lugar.**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "Bem-vindo ao BeeWare! Neste tutorial, vamos construir uma interface gráfica usando Python e implantá-la como um aplicativo para desktop, como um aplicativo móvel e como um aplicativo web de página única (SPA). Também veremos como você pode usar as ferramentas da BeeWare para realizar algumas das tarefas comuns que você precisará fazer como desenvolvedor de apps, por exemplo, testar seu aplicativo." +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"Bem-vindo ao BeeWare! Neste tutorial, vamos construir uma interface gráfica " +"usando Python e implantá-la como um aplicativo para desktop, como um " +"aplicativo móvel e como um aplicativo web de página única (SPA). Também " +"veremos como você pode usar as ferramentas da BeeWare para realizar algumas " +"das tarefas comuns que você precisará fazer como desenvolvedor de apps, por " +"exemplo, testar seu aplicativo." + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "Traduções estão disponíveis" +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 +#: docs/en/index.md:15 #, fuzzy -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "Se você não se sente confortável com o Português, as traduções deste tutorial estão disponíveis em [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [English]{5}, e [汉语]{6}." +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"Se você não se sente confortável com o Português, as traduções deste " +"tutorial estão disponíveis em [Deutsch]{1}, [Español]{2}, [Français]{3}, " +"[Italiano]{4}, [English]{5}, e [汉语]{6}." + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "Isso é uma tradução automática!" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "Esta versão do tutorial foi gerada por tradução automática. Sabemos que isso não é ideal, mas acreditamos que uma tradução ruim é melhor do que nenhuma tradução." +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "Se você quiser ajudar a melhorar a tradução, entre em contato! Temos um canal `#translations` no [Discord]{1}. Apresente-se lá e nós o adicionaremos à equipe de tradução." +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "Isso é uma tradução!" +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "" +"Esta versão do tutorial foi gerada por tradução automática. Sabemos que isso " +"não é ideal, mas acreditamos que uma tradução ruim é melhor do que nenhuma " +"tradução." -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "Este documento é uma tradução da versão em inglês. A tradução foi revisada por pessoas, mas seções mais recentes podem ser geradas por tradução automática, ou não traduzidas." +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"Se você quiser ajudar a melhorar a tradução, entre em contato! Temos um " +"canal `#translations` no [Discord]{1}. Apresente-se lá e nós o adicionaremos " +"à equipe de tradução." -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" + +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" + +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "" +"Este documento é uma tradução da versão em inglês. A tradução foi revisada " +"por pessoas, mas seções mais recentes podem ser geradas por tradução " +"automática, ou não traduzidas." + +#: docs/en/index.md:64 msgid "What is BeeWare?" msgstr "O que é o BeeWare?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "O BeeWare não é um único produto, ferramenta ou biblioteca - é uma coleção de ferramentas e bibliotecas, cada uma das quais trabalha em conjunto para ajudar você a escrever aplicativos Python multiplataforma com uma interface gráfica nativa. Isso inclui:" +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"O BeeWare não é um único produto, ferramenta ou biblioteca - é uma coleção " +"de ferramentas e bibliotecas, cada uma das quais trabalha em conjunto para " +"ajudar você a escrever aplicativos Python multiplataforma com uma interface " +"gráfica nativa. Isso inclui:" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1}, um kit de ferramentas de widget multiplataforma;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#: docs/en/index.md:71 #, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1}, uma ferramenta para empacotar projetos Python como pacotes distribuíveis que podem ser enviados aos usuários finais;" +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "" +"[Briefcase]{1}, uma ferramenta para empacotar projetos Python como pacotes " +"distribuíveis que podem ser enviados aos usuários finais;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#: docs/en/index.md:74 #, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" -msgstr "Bibliotecas (como [Rubicon ObjC]{1}) para acessar bibliotecas nativas da plataforma;" +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" +msgstr "" +"Bibliotecas (como [Rubicon ObjC]{1}) para acessar bibliotecas nativas da " +"plataforma;" -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." -msgstr "Versões pré-compiladas do Python estão disponíveis para plataformas onde instaladores oficiais do Python não estão disponíveis." +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." +msgstr "" +"Versões pré-compiladas do Python estão disponíveis para plataformas onde " +"instaladores oficiais do Python não estão disponíveis." -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "Neste tutorial, estaremos utilizando todas essas ferramentas, mas como usuário, você só precisará interagir com as duas primeiras (Toga e Briefcase). No entanto, cada uma das ferramentas também pode ser usada individualmente - por exemplo, você pode usar o Briefcase para implantar um aplicativo sem usar o Toga como um kit de ferramentas de interface gráfica (GUI)." +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"Neste tutorial, estaremos utilizando todas essas ferramentas, mas como " +"usuário, você só precisará interagir com as duas primeiras (Toga e Briefcase)" +". No entanto, cada uma das ferramentas também pode ser usada individualmente " +"- por exemplo, você pode usar o Briefcase para implantar um aplicativo sem " +"usar o Toga como um kit de ferramentas de interface gráfica (GUI)." -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "A suíte BeeWare está disponível no macOS, Windows, Linux (usando GTK); em plataformas móveis como Android e iOS; e para a Web." +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" +"A suíte BeeWare está disponível no macOS, Windows, Linux (usando GTK); em " +"plataformas móveis como Android e iOS; e para a Web." -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "Vamos lá!" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "Pronto para experimentar o BeeWare por conta própria? [Vamos construir um aplicativo multiplataforma em Python!][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "Bem-vindo ao Tutorial da BeeWare!" diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po index ea38dbd2..b6153052 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,138 +1,192 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: pt\n" "Language-Team: pt \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +#: docs/en/tutorial/topics/camera-access.md:3 +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" msgstr "" -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." msgstr "" -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." msgstr "" -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." msgstr "" -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" msgstr "" -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." msgstr "" -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" msgstr "" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +#: docs/en/tutorial/topics/camera-access.md:107 +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." msgstr "" -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." msgstr "" -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." msgstr "" -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." msgstr "" -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." msgstr "" -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#: docs/en/tutorial/topics/camera-access.md:141 +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" msgstr "" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." msgstr "" -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." msgstr "" -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 msgid "Adding more permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po index de970751..adf7b7e8 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -1,148 +1,213 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:06+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#: docs/en/tutorial/topics/custom-icons.md:3 #, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "Até agora, nosso aplicativo tem usado um ícone padrão de \"abelha cinza\". Como podemos atualizar o aplicativo para usar nosso próprio ícone?" +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "" +"Até agora, nosso aplicativo tem usado um ícone padrão de \"abelha cinza\". " +"Como podemos atualizar o aplicativo para usar nosso próprio ícone?" -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 #, fuzzy msgid "Adding an icon" msgstr "Adição de um ícone" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**Em breve**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "Agora temos um aplicativo com um ícone personalizado em nossa área de trabalho e em nosso telefone! Como podemos compartilhar esse aplicativo com outras pessoas? Consulte o [Tutorial 11][tutorial-11] para descobrir..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "Tutorial 10 - Crie seu próprio aplicativo" - -#~ msgid "Next steps" -#~ msgstr "Próximos passos" - -#~ msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/index.po b/locales/pt/LC_MESSAGES/tutorial/topics/index.po index 06d82d63..4fc3ede8 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/index.po @@ -1,68 +1,54 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: pt\n" "Language-Team: pt \n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "" -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "" -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" msgstr "" -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." msgstr "" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" msgstr "" -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" msgstr "" - -#~ msgid "Want to go deeper on specific topics? Here are some additional standalone tutorials that demonstrate common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." -#~ msgstr "" - -#~ msgid "Customizing icons" -#~ msgstr "" - -#~ msgid "Customizing icons:" -#~ msgstr "" - -#~ msgid "Customize your application's appearance by replace the default \"gray bee\" icon." -#~ msgstr "" - -#~ msgid "Custom icons" -#~ msgstr "" - diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po index d848afda..c45aa5e4 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po @@ -1,151 +1,273 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:07+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -#, fuzzy -msgid "Testing times" -msgstr "Tutorial 9 - Hora dos Testes" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 +#: docs/en/tutorial/topics/testing.md:3 #, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "A maior parte do desenvolvimento de software não envolve a gravação de um novo código, mas sim a modificação do código existente. Garantir que o código existente continue a funcionar da maneira esperada é uma parte fundamental do processo de desenvolvimento de software. Uma maneira de garantir o comportamento do nosso aplicativo é com um *conjunto de testes*." +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" +"A maior parte do desenvolvimento de software não envolve a gravação de um " +"novo código, mas sim a modificação do código existente. Garantir que o " +"código existente continue a funcionar da maneira esperada é uma parte " +"fundamental do processo de desenvolvimento de software. Uma maneira de " +"garantir o comportamento do nosso aplicativo é com um *conjunto de testes*." -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 #, fuzzy msgid "Running the test suite" msgstr "Executar o conjunto de testes" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#: docs/en/tutorial/topics/testing.md:10 #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "Acontece que nosso projeto já tem um conjunto de testes! Quando geramos nosso projeto originalmente, foram gerados dois diretórios de nível superior: `src` e `tests`. A pasta `src` contém o código do nosso aplicativo; a pasta `tests` contém nosso conjunto de testes. Dentro da pasta `tests` há um arquivo chamado `test_app.py` com o seguinte conteúdo:" +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" +"Acontece que nosso projeto já tem um conjunto de testes! Quando geramos " +"nosso projeto originalmente, foram gerados dois diretórios de nível superior:" +" `src` e `tests`. A pasta `src` contém o código do nosso aplicativo; a pasta " +"`tests` contém nosso conjunto de testes. Dentro da pasta `tests` há um " +"arquivo chamado `test_app.py` com o seguinte conteúdo:" -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 +#: docs/en/tutorial/topics/testing.md:21 #, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "Este é um [Pytest]{1} *caso de teste* - um bloco de código que pode ser executado para verificar algum comportamento do seu aplicativo. Nesse caso, o teste é um espaço reservado e não testa nada sobre nosso aplicativo, mas é um teste que podemos executar." +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" +"Este é um [Pytest]{1} *caso de teste* - um bloco de código que pode ser " +"executado para verificar algum comportamento do seu aplicativo. Nesse caso, " +"o teste é um espaço reservado e não testa nada sobre nosso aplicativo, mas é " +"um teste que podemos executar." -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 +#: docs/en/tutorial/topics/testing.md:26 #, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "Podemos executar esse conjunto de testes usando a opção `--test` do `briefcase dev`. Como esta é a primeira vez que estamos executando testes, também precisamos passar a opção `-r` para garantir que os requisitos de teste também sejam instalados:" +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" +"Podemos executar esse conjunto de testes usando a opção `--test` do `" +"briefcase dev`. Como esta é a primeira vez que estamos executando testes, " +"também precisamos passar a opção `-r` para garantir que os requisitos de " +"teste também sejam instalados:" -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c +#: docs/en/tutorial/topics/testing.md:112 #, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "Sucesso! Acabamos de executar um único teste que verifica se a matemática Python funciona da maneira esperada (que alívio!)." +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "" +"Sucesso! Acabamos de executar um único teste que verifica se a matemática " +"Python funciona da maneira esperada (que alívio!)." -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 +#: docs/en/tutorial/topics/testing.md:115 #, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "Vamos substituir esse teste de espaço reservado por um teste para verificar se o nosso método `greeting()` se comporta da maneira esperada. Substitua o conteúdo de `test_app.py` pelo seguinte:" +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" +"Vamos substituir esse teste de espaço reservado por um teste para verificar " +"se o nosso método `greeting()` se comporta da maneira esperada. Substitua o " +"conteúdo de `test_app.py` pelo seguinte:" -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe +#: docs/en/tutorial/topics/testing.md:133 #, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "Isso define dois novos testes, verificando os dois comportamentos que esperamos ver: a saída quando um nome é fornecido e a saída quando o nome está vazio." +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "" +"Isso define dois novos testes, verificando os dois comportamentos que " +"esperamos ver: a saída quando um nome é fornecido e a saída quando o nome " +"está vazio." -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e +#: docs/en/tutorial/topics/testing.md:137 #, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "Agora podemos executar novamente o conjunto de testes. Dessa vez, não precisamos fornecer a opção `-r`, pois os requisitos de teste já foram instalados; precisamos apenas usar a opção `--test`:" +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "" +"Agora podemos executar novamente o conjunto de testes. Dessa vez, não " +"precisamos fornecer a opção `-r`, pois os requisitos de teste já foram " +"instalados; precisamos apenas usar a opção `--test`:" -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#: docs/en/tutorial/topics/testing.md:199 #, fuzzy msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "Excelente! Nosso método utilitário `greeting()` está funcionando como esperado." +msgstr "" +"Excelente! Nosso método utilitário `greeting()` está funcionando como " +"esperado." -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 #, fuzzy msgid "Test driven development" msgstr "Desenvolvimento orientado por testes" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 +#: docs/en/tutorial/topics/testing.md:203 #, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "Agora que temos um conjunto de testes, podemos usá-lo para impulsionar o desenvolvimento de novos recursos. Vamos modificar nosso aplicativo para ter uma saudação especial para um determinado usuário. Podemos começar adicionando um caso de teste para o novo comportamento que gostaríamos de ver na parte inferior do `test_app.py`:" +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" +"Agora que temos um conjunto de testes, podemos usá-lo para impulsionar o " +"desenvolvimento de novos recursos. Vamos modificar nosso aplicativo para ter " +"uma saudação especial para um determinado usuário. Podemos começar " +"adicionando um caso de teste para o novo comportamento que gostaríamos de " +"ver na parte inferior do `test_app.py`:" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 #, fuzzy msgid "Then, run the test suite with this new test:" msgstr "Em seguida, execute o conjunto de testes com esse novo teste:" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 +#: docs/en/tutorial/topics/testing.md:320 #, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "Dessa vez, vemos uma falha no teste - e a saída explica a origem da falha: o teste está esperando a saída \"BeeWare the IDEs of Python!\", mas nossa implementação de `greeting()` está retornando \"Hello, Brutus\". Vamos modificar a implementação de `greeting()` em `src/helloworld/app.py` para obter o novo comportamento:" +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" +"Dessa vez, vemos uma falha no teste - e a saída explica a origem da falha: o " +"teste está esperando a saída \"BeeWare the IDEs of Python!\", mas nossa " +"implementação de `greeting()` está retornando \"Hello, Brutus\". Vamos " +"modificar a implementação de `greeting()` em `src/helloworld/app.py` para " +"obter o novo comportamento:" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 #, fuzzy msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "Se executarmos os testes novamente, veremos que nossos testes foram aprovados:" +msgstr "" +"Se executarmos os testes novamente, veremos que nossos testes foram " +"aprovados:" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 #, fuzzy msgid "Runtime tests" msgstr "Testes de tempo de execução" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 +#: docs/en/tutorial/topics/testing.md:400 #, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "Até o momento, estamos executando os testes no modo de desenvolvimento. Isso é especialmente útil quando se está desenvolvendo novos recursos, pois é possível iterar rapidamente na adição de testes e na adição de código para que esses testes sejam aprovados. No entanto, em algum momento, você desejará verificar se o seu código também é executado corretamente no ambiente do aplicativo de pacote." +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" +"Até o momento, estamos executando os testes no modo de desenvolvimento. Isso " +"é especialmente útil quando se está desenvolvendo novos recursos, pois é " +"possível iterar rapidamente na adição de testes e na adição de código para " +"que esses testes sejam aprovados. No entanto, em algum momento, você " +"desejará verificar se o seu código também é executado corretamente no " +"ambiente do aplicativo de pacote." -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 +#: docs/en/tutorial/topics/testing.md:406 #, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "As opções `--test` e `-r` também podem ser passadas para o comando `run`. Se você usar `briefcase run --test -r`, o mesmo conjunto de testes será executado, mas dentro do pacote de aplicativos empacotados, e não no seu ambiente de desenvolvimento:" +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" +"As opções `--test` e `-r` também podem ser passadas para o comando `run`. Se " +"você usar `briefcase run --test -r`, o mesmo conjunto de testes será " +"executado, mas dentro do pacote de aplicativos empacotados, e não no seu " +"ambiente de desenvolvimento:" -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 +#: docs/en/tutorial/topics/testing.md:529 #, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "Como no caso do `briefcase dev --test`, a opção `-r` só é necessária na primeira vez em que você executa o conjunto de testes para garantir que as dependências de teste estejam presentes. Nas execuções subsequentes, você pode omitir essa opção." +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" +"Como no caso do `briefcase dev --test`, a opção `-r` só é necessária na " +"primeira vez em que você executa o conjunto de testes para garantir que as " +"dependências de teste estejam presentes. Nas execuções subsequentes, você " +"pode omitir essa opção." -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c +#: docs/en/tutorial/topics/testing.md:533 #, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "Você também pode usar a opção `--test` em back-ends móveis: - assim, `briefcase run iOS --test` e `briefcase run android --test` funcionarão, executando o conjunto de testes no dispositivo móvel que você selecionar." +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" +"Você também pode usar a opção `--test` em back-ends móveis: - assim, `" +"briefcase run iOS --test` e `briefcase run android --test` funcionarão, " +"executando o conjunto de testes no dispositivo móvel que você selecionar." -#~ msgid "Next steps" -#~ msgstr "Próximos passos" +#, fuzzy +#~ msgid "Testing times" +#~ msgstr "Tutorial 9 - Hora dos Testes" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po index 5b5078b0..8cac0162 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po @@ -1,239 +1,360 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-03-04 19:01+0000\n" "Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "Tutorial 0 - Vamos nos preparar!" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "Antes de criarmos nosso primeiro aplicativo BeeWare, precisamos garantir que tenhamos todos os pré-requisitos para executar o BeeWare." +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "" +"Antes de criarmos nosso primeiro aplicativo BeeWare, precisamos garantir que " +"tenhamos todos os pré-requisitos para executar o BeeWare." -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 msgid "Install Python" msgstr "Instalando o Python" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 msgid "The first thing we'll need is a working Python interpreter." -msgstr "A primeira coisa que precisaremos é de um interpretador Python instalado e funcionando." +msgstr "" +"A primeira coisa que precisaremos é de um interpretador Python instalado e " +"funcionando." -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#: docs/en/tutorial/tutorial-0.md:12 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" +"Se estiver usando o Windows, você pode baixar o instalador oficial " +"[no site do Python]{1}. Recomendamos usar qualquer versão estável do Python " +"a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a " +"menos que você esteja realmente familiarizado com essas versões de " +"desenvolvimento." -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#: docs/en/tutorial/tutorial-0.md:18 #, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "Existem várias maneiras diferentes de instalar o Python. Você pode instalar o Python através do [homebrew]{1}. Pode usar o [pyenv]{2} para gerenciar várias instalações do Python na mesma máquina. Usuários do Windows podem instalar o Python pela Windows App Store. Usuários com foco em ciência de dados podem preferir utilizar o [Anaconda]{3} ou o [Miniconda]{4}." +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"Existem várias maneiras diferentes de instalar o Python. Você pode instalar " +"o Python através do [homebrew]{1}. Pode usar o [pyenv]{2} para gerenciar " +"várias instalações do Python na mesma máquina. Usuários do Windows podem " +"instalar o Python pela Windows App Store. Usuários com foco em ciência de " +"dados podem preferir utilizar o [Anaconda]{3} ou o [Miniconda]{4}." -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "Se você estiver usando Linux, será necessário instalar o Python por meio do gerenciador de pacotes do sistema ([apt` no Debian/Ubuntu/Mint, `dnf` no Fedora, ou `pacman` no Arch)." +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"Se você estiver usando Linux, será necessário instalar o Python por meio do " +"gerenciador de pacotes do sistema ([apt` no Debian/Ubuntu/Mint, `dnf` no " +"Fedora, ou `pacman` no Arch)." + +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "Certifique-se de que a versão do Python do sistema seja 3.8 ou mais recente. Se não for (por exemplo, o Ubuntu 18.04 é fornecido com o Python 3.6), será necessário atualizar a distribuição Linux para uma versão mais recente." +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"Certifique-se de que a versão do Python do sistema seja 3.8 ou mais recente. " +"Se não for (por exemplo, o Ubuntu 18.04 é fornecido com o Python 3.6), será " +"necessário atualizar a distribuição Linux para uma versão mais recente." -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 msgid "Support for Raspberry Pi is limited at this time." msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from `the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"Se estiver usando o Windows, você pode baixar o instalador oficial " +"[no site do Python]{1}. Recomendamos usar qualquer versão estável do Python " +"a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a " +"menos que você esteja realmente familiarizado com essas versões de " +"desenvolvimento." -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "Para o Raspberry Pi, o suporte está limitado neste momento." -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "Se você estiver usando macOS ou Windows, não importa a *forma* que usou ao instalar o Python. o importante é ter um interpretador Python operando ao executar o comando `python3` no prompt de comando/terminal do seu sistema operacional." +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"Se você estiver usando macOS ou Windows, não importa a *forma* que usou ao " +"instalar o Python. o importante é ter um interpretador Python operando ao " +"executar o comando `python3` no prompt de comando/terminal do seu sistema " +"operacional." -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 msgid "Install dependencies" msgstr "Instale as dependências" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" -msgstr "Em seguida, instale as dependências adicionais necessárias para o seu sistema operacional:" +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" +msgstr "" +"Em seguida, instale as dependências adicionais necessárias para o seu " +"sistema operacional:" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 msgid "Building BeeWare apps on macOS requires:" msgstr "Para criar aplicativos BeeWare no macOS, é necessário:" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." msgstr "" -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "Para dar suporte ao desenvolvimento local, será necessário instalar alguns pacotes do sistema. A lista de pacotes necessários pode variar de acordo com a sua distribuição:" +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "" +"Para dar suporte ao desenvolvimento local, será necessário instalar alguns " +"pacotes do sistema. A lista de pacotes necessários pode variar de acordo com " +"a sua distribuição:" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 #, fuzzy msgid "**Ubuntu / Debian**" msgstr "**Ubuntu 20.04+ / Debian 10+**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 #, fuzzy msgid "**Arch / Manjaro**" msgstr "**Arch, Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 msgid "Building BeeWare apps on Windows requires:" msgstr "Para criar aplicativos BeeWare no Windows, é necessário:" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." -msgstr "**Git**, um sistema de controle de versão. Você pode baixar o Git em [git-scm.com]{1}." +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." +msgstr "" +"**Git**, um sistema de controle de versão. Você pode baixar o Git em " +"[git-scm.com]{1}." -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "Após instalar essas ferramentas, é importante reiniciar qualquer sessão de terminal. No Windows, apenas os terminais iniciados *após* a conclusão da instalação mostrarão as ferramentas recém-instaladas." +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "" +"Após instalar essas ferramentas, é importante reiniciar qualquer sessão de " +"terminal. No Windows, apenas os terminais iniciados *após* a conclusão da " +"instalação mostrarão as ferramentas recém-instaladas." -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 msgid "Set up a virtual environment" msgstr "Configurar um ambiente virtual" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "Agora vamos criar um ambiente virtual - uma \"sandbox\" que podemos usar para isolar nosso trabalho neste tutorial de nossa instalação principal do Python. Se instalarmos pacotes no ambiente virtual, nossa instalação principal do Python (e qualquer outro projeto Python em nosso computador) não será afetada. Se bagunçarmos completamente nosso ambiente virtual, podemos simplesmente excluí-lo e começar novamente, sem afetar nenhum outro projeto Python em nosso computador e sem a necessidade de reinstalar o Python." - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"Agora vamos criar um ambiente virtual - uma \"sandbox\" que podemos usar " +"para isolar nosso trabalho neste tutorial de nossa instalação principal do " +"Python. Se instalarmos pacotes no ambiente virtual, nossa instalação " +"principal do Python (e qualquer outro projeto Python em nosso computador) " +"não será afetada. Se bagunçarmos completamente nosso ambiente virtual, " +"podemos simplesmente excluí-lo e começar novamente, sem afetar nenhum outro " +"projeto Python em nosso computador e sem a necessidade de reinstalar o " +"Python." + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "Erros ao executar scripts do PowerShell" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 msgid "If you're using PowerShell, and you receive the error:" msgstr "Se você estiver usando o PowerShell e receber o erro:" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "Sua conta do Windows não possui permissões para executar scripts. Para corrigir isso:" +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "" +"Sua conta do Windows não possui permissões para executar scripts. Para " +"corrigir isso:" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "Execute `set-executionpolicy RemoteSigned`" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 msgid "Select `Y` to change the execution policy." msgstr "Selecione `Y` para alterar a política de execução." -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "Depois de fazer isso, você pode executar novamente o comando `beeware-venv\\Scripts\\activate.ps1` na mesma janela do PowerShell em que você fez as alterações nas permissões (a janela original) ou em uma nova janela do PowerShell no mesmo diretório." - -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "Se isso funcionou, seu prompt deve estar diferente agora - ele deve ter um prefixo `(beeware-venv)`. Isso indica que você está atualmente no seu ambiente virtual BeeWare. Sempre que estiver trabalhando neste tutorial, certifique-se de que seu ambiente virtual esteja ativado. Se não estiver, execute novamente o último comando (o comando `activate`) para reativar seu ambiente." +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"Depois de fazer isso, você pode executar novamente o comando `beeware-" +"venv\\Scripts\\activate.ps1` na mesma janela do PowerShell em que você fez " +"as alterações nas permissões (a janela original) ou em uma nova janela do " +"PowerShell no mesmo diretório." -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "Ambientes virtuais alternativos" +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"Se isso funcionou, seu prompt deve estar diferente agora - ele deve ter um " +"prefixo `(beeware-venv)`. Isso indica que você está atualmente no seu " +"ambiente virtual BeeWare. Sempre que estiver trabalhando neste tutorial, " +"certifique-se de que seu ambiente virtual esteja ativado. Se não estiver, " +"execute novamente o último comando (o comando `activate`) para reativar seu " +"ambiente." + +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "Caso esteja usando o Anaconda ou Miniconda, você pode estar mais familiarizado com o uso de ambientes conda. Você também deve ter ouvido falar do `virtualenv`, um antecessor do módulo `venv` integrado ao Python. Da mesma forma que as instalações do Python - se você estiver no macOS ou Windows, não importa *como* você cria seu ambiente virtual, desde que tenha um. Se estiver no Linux, é recomendado usar o `venv` e o Python do sistema." +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "Agora que configuramos nosso ambiente, estamos prontos para [criar nossa primeira aplicação BeeWare][tutorial-1]." - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "Execute o Windows PowerShell como Administrador." - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git**, um sistema de controle de versão. Ele está incluso no Xcode ou nas ferramentas de linha de comando, que você instalou acima." - -#~ msgid "Alternative Python distributions" -#~ msgstr "Distribuições Alternativas do Python" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "Caso esteja no Linux, é recomendado utilizar o Python fornecido pelo seu sistema operacional. Embora seja possível concluir *a maior parte* deste tutorial utilizando uma versão não integrada ao sistema, você não conseguirá empacotar sua aplicação para distribuição a outros." - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "Se você estiver usando o macOS, uma versão recente do Python já está incluída no Xcode ou nas ferramentas de linha de comando. Para verificar se você já o possui, execute o seguinte comando:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "Se o Python estiver instalado, você verá o número da versão. Caso contrário, será solicitado que instale as ferramentas de linha de comando para desenvolvedores." - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "Se estiver usando o Windows, você pode baixar o instalador oficial [no site do Python]{1}. Recomendamos usar qualquer versão estável do Python a partir da 3.8. Evite versões alpha, beta e candidatas a lançamento, a menos que você esteja realmente familiarizado com essas versões de desenvolvimento." +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "" +"Agora que configuramos nosso ambiente, estamos prontos para " +"[criar nossa primeira aplicação BeeWare][tutorial-1]." +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "Tutorial 0 - Vamos nos preparar!" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po index 9d25c4d6..30233dd5 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po @@ -1,194 +1,310 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-03-04 19:01+0000\n" "Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "Tutorial 1 - Seu primeiro app" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 msgid "We're ready to create our first application." msgstr "Estamos prontos para criar nossa primeira aplicação." -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 msgid "Install the BeeWare tools" msgstr "Instale as ferramentas do BeeWare" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "Primeiro, precisamos instalar o **Briefcase**. Briefcase é uma ferramenta do BeeWare que pode ser usada para empacotar sua aplicação para distribuição aos usuários finais - mas também pode ser usada para iniciar um novo projeto. Certifique-se de estar no diretório `beeware-tutorial` que você criou no [Tutorial 0][tutorial-0], com o ambiente virtual `beeware-venv` ativado, e execute:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "Possíveis erros durante a instalação" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "Se você encontrar erros durante a instalação, é bem provável que alguns dos requisitos do sistema não estejam instalados. Certifique-se de ter [instalado todas os pré-requisitos da plataforma ][install-dependencies]." - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "É importante usar o comando `python -m pip`, em vez de apenas `pip`. Isso porque o Briefcase precisa garantir que as versões do `pip` e `setuptools` estejam atualizadas, pois o `pip` usado sozinho não consegue se atualizar. Se quiser entender melhor o motivo, o [Brett Cannon escreveu um post detalhado no blog dele]{1}." - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"Primeiro, precisamos instalar o **Briefcase**. Briefcase é uma ferramenta do " +"BeeWare que pode ser usada para empacotar sua aplicação para distribuição " +"aos usuários finais - mas também pode ser usada para iniciar um novo " +"projeto. Certifique-se de estar no diretório `beeware-tutorial` que você " +"criou no [Tutorial 0][tutorial-0], com o ambiente virtual `beeware-venv` " +"ativado, e execute:" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"É importante usar o comando `python -m pip`, em vez de apenas `pip`. Isso " +"porque o Briefcase precisa garantir que as versões do `pip` e `setuptools` " +"estejam atualizadas, pois o `pip` usado sozinho não consegue se atualizar. " +"Se quiser entender melhor o motivo, o " +"[Brett Cannon escreveu um post detalhado no blog dele]{1}." + +#: docs/en/tutorial/tutorial-1.md:57 msgid "Bootstrap a new project" msgstr "Iniciar um novo projeto" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "Vamos começar nosso primeiro projeto BeeWare! Usaremos o comando `new` do Briefcase para criar um aplicativo chamado **Hello World**. Execute o seguinte comando no seu prompt de comando/terminal:" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "O Briefcase solicitará alguns detalhes sobre nosso novo aplicativo. Para os propósitos deste tutorial, utilize o seguinte:" +#: docs/en/tutorial/tutorial-1.md:87 +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "" +"O Briefcase solicitará alguns detalhes sobre nosso novo aplicativo. Para os " +"propósitos deste tutorial, utilize o seguinte:" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Formal Name** - Aceite o valor padrão: `Hello World`." -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**App Name** - Aceite o valor padrão: `helloworld`." -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#: docs/en/tutorial/tutorial-1.md:92 #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**Bundle** - Se você possui seu próprio domínio, insira esse domínio invertido. (Por exemplo, se você possui o domínio \"cupcakes.com\", insira `com.cupcakes` como nome do bundle). Se você não possui seu próprio domínio, aceite o padrão (`com.example`)." +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" +"**Bundle** - Se você possui seu próprio domínio, insira esse domínio " +"invertido. (Por exemplo, se você possui o domínio \"cupcakes.com\", insira " +"`com.cupcakes` como nome do bundle). Se você não possui seu próprio domínio, " +"aceite o padrão (`com.example`)." -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Project Name** - Aceite o valor padrão: `Hello World`." -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**Description** - Aceite o valor padrão (ou, se quiser ser realmente criativo, crie sua própria descrição!)" +#: docs/en/tutorial/tutorial-1.md:97 +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "" +"**Description** - Aceite o valor padrão (ou, se quiser ser realmente " +"criativo, crie sua própria descrição!)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 msgid "**Author** - Enter your own name here." msgstr "**Author** - Insira seu próprio nome." -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#: docs/en/tutorial/tutorial-1.md:100 #, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**Author's email** - Insira seu próprio endereço de e-mail. Ele será usado no arquivo de configuração, em textos de ajuda e em qualquer lugar onde um e-mail seja necessário ao enviar o aplicativo para uma loja de aplicativos." +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "" +"**Author's email** - Insira seu próprio endereço de e-mail. Ele será usado " +"no arquivo de configuração, em textos de ajuda e em qualquer lugar onde um e-" +"mail seja necessário ao enviar o aplicativo para uma loja de aplicativos." -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +#: docs/en/tutorial/tutorial-1.md:103 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - A URL da página inicial do seu aplicativo. Novamente, se você possui seu próprio domínio, insira uma URL nesse domínio (incluindo o `https://`). Caso contrário, apenas aceite a URL padrão (`https://example.com/helloworld`). Esta URL não precisa realmente existir (por enquanto); ela será usada apenas se você publicar sua aplicação em uma loja de aplicativos." - -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" +"**URL** - A URL da página inicial do seu aplicativo. Novamente, se você " +"possui seu próprio domínio, insira uma URL nesse domínio (incluindo o " +"`https://`). Caso contrário, apenas aceite a URL padrão (`https://" +"example.com/helloworld`). Esta URL não precisa realmente existir (por " +"enquanto); ela será usada apenas se você publicar sua aplicação em uma loja " +"de aplicativos." + +#: docs/en/tutorial/tutorial-1.md:109 #, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**License** - Aceite o valor padrão (BSD). Isso não afetará nada sobre o funcionamento do tutorial. Se você tem preferências particulares em relação à escolha de licença, sinta-se à vontade para escolher outra licença." - -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." -msgstr "**GUI framework** - Aceite a opção padrão, Toga (a própria biblioteca de interface gráfica da BeeWare)." +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" +"**License** - Aceite o valor padrão (BSD). Isso não afetará nada sobre o " +"funcionamento do tutorial. Se você tem preferências particulares em relação " +"à escolha de licença, sinta-se à vontade para escolher outra licença." -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "O Briefcase então gerará uma estrutura básica de projeto para você usar. Se você seguiu este tutorial até agora e aceitou as configurações padrão como descrito, seu sistema de arquivos deve se parecer com algo assim:" +#: docs/en/tutorial/tutorial-1.md:113 +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." +msgstr "" +"**GUI framework** - Aceite a opção padrão, Toga (a própria biblioteca de " +"interface gráfica da BeeWare)." -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "Essa estrutura atual já é um aplicativo totalmente funcional sem adicionar mais nada. A pasta `src` contém todo o código do aplicativo, a pasta `tests` contém uma suíte de testes inicial, e o arquivo `pyproject.toml` descreve como empacotar o aplicativo para distribuição. Se você abrir o `pyproject.toml` em um editor, verá os detalhes de configuração que você acabou de fornecer ao Briefcase." +#: docs/en/tutorial/tutorial-1.md:116 +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" +"O Briefcase então gerará uma estrutura básica de projeto para você usar. Se " +"você seguiu este tutorial até agora e aceitou as configurações padrão como " +"descrito, seu sistema de arquivos deve se parecer com algo assim:" -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." -msgstr "Agora que temos um aplicativo inicial, podemos usar o Briefcase para executar a aplicação." +#: docs/en/tutorial/tutorial-1.md:142 +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" +"Essa estrutura atual já é um aplicativo totalmente funcional sem adicionar " +"mais nada. A pasta `src` contém todo o código do aplicativo, a pasta `tests` " +"contém uma suíte de testes inicial, e o arquivo `pyproject.toml` descreve " +"como empacotar o aplicativo para distribuição. Se você abrir o " +"`pyproject.toml` em um editor, verá os detalhes de configuração que você " +"acabou de fornecer ao Briefcase." + +#: docs/en/tutorial/tutorial-1.md:149 +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." +msgstr "" +"Agora que temos um aplicativo inicial, podemos usar o Briefcase para " +"executar a aplicação." -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 msgid "Run the app in developer mode" msgstr "Inicie o app no modo de desenvolvedor" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "Vá para o diretório do projeto `helloworld` e peça ao Briefcase para iniciar o projeto no modo de Desenvolvedor (ou `dev`):" +#: docs/en/tutorial/tutorial-1.md:154 +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "" +"Vá para o diretório do projeto `helloworld` e peça ao Briefcase para iniciar " +"o projeto no modo de Desenvolvedor (ou `dev`):" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 msgid "This should open a GUI window:" msgstr "Isso deve abrir uma janela GUI:" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "Janela do Tutorial 1 `Hello World`, no macOS" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "Janela do Tutorial 1 `Hello World`, no Linux" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "Janela do Tutorial 1 `Hello World`, no Windows" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#: docs/en/tutorial/tutorial-1.md:248 #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "Pressione o botão de fechar (ou selecione `Sair` no menu do aplicativo) e pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em Python!" +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "" +"Pressione o botão de fechar (ou selecione `Sair` no menu do aplicativo) e " +"pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em " +"Python!" -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. Podemos adicionar alguma lógica própria para tornar nosso aplicativo um pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma interface de usuário mais útil em nossa aplicação." - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "Uma das ferramentas do BeeWare é o Briefcase. O Briefcase pode ser usado para empacotar sua aplicação para distribuição aos usuários finais - mas ele também pode ser usado para iniciar um novo projeto." +#: docs/en/tutorial/tutorial-1.md:256 +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" +"Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. " +"Podemos adicionar alguma lógica própria para tornar nosso aplicativo um " +"pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma " +"interface de usuário mais útil em nossa aplicação." +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "Tutorial 1 - Seu primeiro app" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po index 4adfeaa3..1e039275 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -1,266 +1,463 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-07 15:02+0000\n" "Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "Tutorial 2 - Tornando as coisas interessantes" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "No [Tutorial 1][tutorial-1], geramos um projeto inicial que executava, mas não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que foi criado para nós." +#: docs/en/tutorial/tutorial-2.md:3 +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" +"No [Tutorial 1][tutorial-1], geramos um projeto inicial que executava, mas " +"não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que " +"foi criado para nós." -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 msgid "What was generated" msgstr "O que foi gerado" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "No diretório `src/helloworld`, você deverá ver 3 arquivos: `__init__.py`, `__main__.py` e `app.py`." +#: docs/en/tutorial/tutorial-2.md:9 +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" +"No diretório `src/helloworld`, você deverá ver 3 arquivos: `__init__.py`, " +"`__main__.py` e `app.py`." -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` torna o diretório `helloworld` um módulo Python importável. Trata-se de um arquivo vazio; sua simples existência indica ao interpretador Python que há um módulo definido pelo diretório `helloworld`." +#: docs/en/tutorial/tutorial-2.md:12 +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` torna o diretório `helloworld` um módulo Python importável. " +"Trata-se de um arquivo vazio; sua simples existência indica ao interpretador " +"Python que há um módulo definido pelo diretório `helloworld`." -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` define o módulo `helloworld` como um tipo especial de módulo - um módulo executável. Ao tentar executar o módulo `helloworld` usando `python -m helloworld`, o Python iniciará a execução no arquivo `__main__.py`. O conteúdo de `__main__.py` é relativamente simples:" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#: docs/en/tutorial/tutorial-2.md:31 #, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "Isto é - ele importa o método `main` do aplicativo `helloworld`; quando executado como ponto de entrada, esse método main() é chamado, dando início ao loop principal da aplicação. Nesse loop, a aplicação de interface gráfica (GUI) espera pelas interações do usuário (como cliques do mouse e pressionamentos de teclas)." +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" +"Isto é - ele importa o método `main` do aplicativo `helloworld`; quando " +"executado como ponto de entrada, esse método main() é chamado, dando início " +"ao loop principal da aplicação. Nesse loop, a aplicação de interface gráfica " +"(GUI) espera pelas interações do usuário (como cliques do mouse e " +"pressionamentos de teclas)." -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" -msgstr "O arquivo mais interessante é o `app.py` - nele está contido a lógica que cria a janela da nossa aplicação:" +#: docs/en/tutorial/tutorial-2.md:35 +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" +msgstr "" +"O arquivo mais interessante é o `app.py` - nele está contido a lógica que " +"cria a janela da nossa aplicação:" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 msgid "Let's go through this line by line:" msgstr "Vamos analisar isso linha por linha:" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#: docs/en/tutorial/tutorial-2.md:61 #, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "Primeiro, importamos a biblioteca de widgets `toga`, juntamente com algumas classes e constantes que são úteis para o estilo. Por enquanto, nosso código ainda não faz uso delas, mas em breve começaremos a utilizá-las." +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "" +"Primeiro, importamos a biblioteca de widgets `toga`, juntamente com algumas " +"classes e constantes que são úteis para o estilo. Por enquanto, nosso código " +"ainda não faz uso delas, mas em breve começaremos a utilizá-las." -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 msgid "Then, we define a class:" msgstr "Em seguida, definimos uma classe:" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "Cada aplicação Toga possui uma única instância chamada `toga.App`, que representa o aplicativo em si sendo executado. A aplicação pode acabar gerenciando várias janelas; mas para aplicativos simples, haverá uma única janela principal." +#: docs/en/tutorial/tutorial-2.md:71 +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"Cada aplicação Toga possui uma única instância chamada `toga.App`, que " +"representa o aplicativo em si sendo executado. A aplicação pode acabar " +"gerenciando várias janelas; mas para aplicativos simples, haverá uma única " +"janela principal." -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 msgid "Next, we define a `startup()` method:" msgstr "Depois, definimos um método chamado `startup()`:" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "A primeira coisa que o método startup() faz é definir um container principal. O esquema de layout do Toga se comporta de maneira semelhante ao HTML. A construção de uma aplicação se dá por meio da criação de uma coleção de containers, cada um contendo outros containers ou os widgets propriamente dito. Depois, você aplica estilos a esses containers para definir como vão usar o espaço na janela." - -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -msgid "In this application, we define a single box, but we don't put anything into it." -msgstr "Neste aplicativo, definimos um único container, mas não colocamos nada dentro dele." +#: docs/en/tutorial/tutorial-2.md:83 +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" +"A primeira coisa que o método startup() faz é definir um container " +"principal. O esquema de layout do Toga se comporta de maneira semelhante ao " +"HTML. A construção de uma aplicação se dá por meio da criação de uma coleção " +"de containers, cada um contendo outros containers ou os widgets propriamente " +"dito. Depois, você aplica estilos a esses containers para definir como vão " +"usar o espaço na janela." + +#: docs/en/tutorial/tutorial-2.md:89 +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." +msgstr "" +"Neste aplicativo, definimos um único container, mas não colocamos nada " +"dentro dele." -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 msgid "Next, we define a window into which we can put this empty box:" -msgstr "Em seguida, definimos uma janela na qual podemos colocar o container vazio:" +msgstr "" +"Em seguida, definimos uma janela na qual podemos colocar o container vazio:" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#: docs/en/tutorial/tutorial-2.md:98 #, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "Isso cria uma instância de `toga.MainWindow`, que terá um título correspondente ao nome do aplicativo. A MainWindow (Janela Principal) é um tipo especial de janela no Toga, pois está intimamente ligada ao ciclo de vida da aplicação. Quando a MainWindow é fechada, a aplicação também se encerra. Além disso, a MainWindow também é a janela que contém o menu do aplicativo (se você estiver em uma plataforma como o Windows, onde as barras de menu fazem parte da janela)" +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"Isso cria uma instância de `toga.MainWindow`, que terá um título " +"correspondente ao nome do aplicativo. A MainWindow (Janela Principal) é um " +"tipo especial de janela no Toga, pois está intimamente ligada ao ciclo de " +"vida da aplicação. Quando a MainWindow é fechada, a aplicação também se " +"encerra. Além disso, a MainWindow também é a janela que contém o menu do " +"aplicativo (se você estiver em uma plataforma como o Windows, onde as barras " +"de menu fazem parte da janela)" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" -msgstr "Então, adicionamos nosso container vazio como conteúdo da janela principal e instruímos o aplicativo a mostrar nossa janela:" +#: docs/en/tutorial/tutorial-2.md:115 +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" +msgstr "" +"Então, adicionamos nosso container vazio como conteúdo da janela principal e " +"instruímos o aplicativo a mostrar nossa janela:" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 +#: docs/en/tutorial/tutorial-2.md:123 #, fuzzy -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" -msgstr "Por último, definimos um método chamado `main()`. Isso é o que cria a instância de nossa aplicação:" +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" +msgstr "" +"Por último, definimos um método chamado `main()`. Isso é o que cria a " +"instância de nossa aplicação:" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "O método `main()` é aquele que é importado e chamado pelo arquivo `__main__.py`. Ele cria e retorna uma instância da nossa aplicação `HelloWorld`." +#: docs/en/tutorial/tutorial-2.md:131 +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "" +"O método `main()` é aquele que é importado e chamado pelo arquivo " +"`__main__.py`. Ele cria e retorna uma instância da nossa aplicação " +"`HelloWorld`." -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "Essa é a aplicação Toga mais básica possível. Vamos agora integrar conteúdo personalizado à aplicação e torná-la mais interessante." +#: docs/en/tutorial/tutorial-2.md:135 +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "" +"Essa é a aplicação Toga mais básica possível. Vamos agora integrar conteúdo " +"personalizado à aplicação e torná-la mais interessante." -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 msgid "Adding some content of our own" msgstr "Adicionando conteúdo personalizado" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "Não remova as importações já feitas no topo do arquivo ou o `main()` ao final. Você só precisa atualizar a classe `HelloWorld`." +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "" +"Não remova as importações já feitas no topo do arquivo ou o `main()` ao " +"final. Você só precisa atualizar a classe `HelloWorld`." -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" -msgstr "Modifique sua classe `HelloWorld` dentro de `src/helloworld/app.py` para que fique assim:" +#: docs/en/tutorial/tutorial-2.md:150 +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" +msgstr "" +"Modifique sua classe `HelloWorld` dentro de `src/helloworld/app.py` para que " +"fique assim:" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 msgid "Let's look in detail at what has changed." msgstr "Vamos ver em detalhes o que mudou." -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "Ainda estamos fazendo o container principal; porém, agora estamos aplicando um estilo:" +msgstr "" +"Ainda estamos fazendo o container principal; porém, agora estamos aplicando " +"um estilo:" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#: docs/en/tutorial/tutorial-2.md:193 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "O Toga possui um sistema de layout interno denominado \"Pack\". Seu funcionamento se assemelha ao CSS. Você define objetos em uma hierarquia - no HTML, os objetos são `
` e ``, e outros elementos do DOM; enquanto no Toga, são widgets e containers. Estilos podem ser atribuídos a cada elemento individualmente. Neste caso específico, estamos indicando que o container é um `'COLUMN'` - isto é, ele ocupará toda a largura disponível e aumentará sua altura à medida que conteúdo for adicionado, porém buscando sempre ser o mais compacto possível." - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" +"O Toga possui um sistema de layout interno denominado \"Pack\". Seu " +"funcionamento se assemelha ao CSS. Você define objetos em uma hierarquia - " +"no HTML, os objetos são `
` e ``, e outros elementos do DOM; " +"enquanto no Toga, são widgets e containers. Estilos podem ser atribuídos a " +"cada elemento individualmente. Neste caso específico, estamos indicando que " +"o container é um `'COLUMN'` - isto é, ele ocupará toda a largura disponível " +"e aumentará sua altura à medida que conteúdo for adicionado, porém buscando " +"sempre ser o mais compacto possível." + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 msgid "Next, we define a couple of widgets:" msgstr "A seguir, vamos definir dois widgets:" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#: docs/en/tutorial/tutorial-2.md:223 #, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "Nesta etapa, definimos um Label e um TextInput. Ambos os widgets possuem estilos associados; o Label terá 5px de preenchimento à esquerda e à direita, e nenhum preenchimento na parte superior e inferior. O TextInput é marcado como flexível, ou seja, ele absorverá todo o espaço disponível em seu eixo de layout." +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" +"Nesta etapa, definimos um Label e um TextInput. Ambos os widgets possuem " +"estilos associados; o Label terá 5px de preenchimento à esquerda e à " +"direita, e nenhum preenchimento na parte superior e inferior. O TextInput é " +"marcado como flexível, ou seja, ele absorverá todo o espaço disponível em " +"seu eixo de layout." -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "O TextInput é atribuído como uma variável de instância da classe. Isso nos permite acessar facilmente a instância do widget, o que será utilizado em breve." +#: docs/en/tutorial/tutorial-2.md:229 +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "" +"O TextInput é atribuído como uma variável de instância da classe. Isso nos " +"permite acessar facilmente a instância do widget, o que será utilizado em " +"breve." -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 msgid "Next, we define a box to hold these two widgets:" msgstr "Após isso, definimos um container para colocar esses dois widgets:" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#: docs/en/tutorial/tutorial-2.md:241 #, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "A container `name_box` é parecido com o container principal, só que agora ele é do tipo `ROW`. Isso significa que o conteúdo será adicionado horizontalmente e tentará ficar o mais estreito possível. Esse container também possui preenchimento - 5px em todos os lados." +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"A container `name_box` é parecido com o container principal, só que agora " +"ele é do tipo `ROW`. Isso significa que o conteúdo será adicionado " +"horizontalmente e tentará ficar o mais estreito possível. Esse container " +"também possui preenchimento - 5px em todos os lados." -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 msgid "Now we define a button:" msgstr "Agora definimos um botão:" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "O botão também possui 5px de preenchimento em todos os lados. Além disso, definimos um *gatilho* - um método a ser invocado quando o botão for pressionado." +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 msgid "Then, we add the name box and the button to the main box:" -msgstr "Então, adicionamos o container name_box e o botão ao container principal:" +msgstr "" +"Então, adicionamos o container name_box e o botão ao container principal:" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#: docs/en/tutorial/tutorial-2.md:266 #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "Com isso, finalizamos o layout; o restante do código do método startup() permanece como antes - definindo uma MainWindow (Janela principal) e a atribuição do container principal como conteúdo dessa janela:" +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "" +"Com isso, finalizamos o layout; o restante do código do método startup() " +"permanece como antes - definindo uma MainWindow (Janela principal) e a " +"atribuição do container principal como conteúdo dessa janela:" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#: docs/en/tutorial/tutorial-2.md:276 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "A última etapa consiste na definição do gatilho do botão. Um gatilho pode ser qualquer método, gerador ou corrotina assíncrona; ele aceita como argumento o widget que gerou o evento e será invocado sempre que o botão for pressionado:" +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" +"A última etapa consiste na definição do gatilho do botão. Um gatilho pode " +"ser qualquer método, gerador ou corrotina assíncrona; ele aceita como " +"argumento o widget que gerou o evento e será invocado sempre que o botão for " +"pressionado:" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "O corpo do método é uma simples instrução de impressão. No entanto, ele consultará o valor atual do campo de entrada de nome e usará esse conteúdo como o texto a ser impresso." +#: docs/en/tutorial/tutorial-2.md:286 +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "" +"O corpo do método é uma simples instrução de impressão. No entanto, ele " +"consultará o valor atual do campo de entrada de nome e usará esse conteúdo " +"como o texto a ser impresso." -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "Ao concluirmos essas alterações, podemos visualizar o resultado reiniciando a aplicação. Seguindo o procedimento anterior, utilizaremos o modo de desenvolvedor:" +#: docs/en/tutorial/tutorial-2.md:290 +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "" +"Ao concluirmos essas alterações, podemos visualizar o resultado reiniciando " +"a aplicação. Seguindo o procedimento anterior, utilizaremos o modo de " +"desenvolvedor:" -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#: docs/en/tutorial/tutorial-2.md:326 #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "Dessa vez, você vai reparar que as dependências *não são* instaladas. O Briefcase consegue identificar se o app já foi aberto antes e, pra economizar tempo, só executa ele. Se você adicionar novas dependências, pode garantir que elas sejam instaladas usando a opção `-r` quando executar o comando `briefcase dev`." +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" +"Dessa vez, você vai reparar que as dependências *não são* instaladas. O " +"Briefcase consegue identificar se o app já foi aberto antes e, pra " +"economizar tempo, só executa ele. Se você adicionar novas dependências, pode " +"garantir que elas sejam instaladas usando a opção `-r` quando executar o " +"comando `briefcase dev`." -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#: docs/en/tutorial/tutorial-2.md:332 msgid "This should open a GUI window:" msgstr "Isso deve abrir uma janela GUI:" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Tutorial 2: Janela \"Hello World\", no macOS" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Tutorial 2: Janela \"Hello World\", no Linux" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Tutorial 2: Janela \"Hello World\", no Windows" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "Se você escrever um nome na caixa de texto e clicar no botão da interface, vai ver uma mensagem aparecer no console onde você abriu a aplicação." +#: docs/en/tutorial/tutorial-2.md:358 +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "" +"Se você escrever um nome na caixa de texto e clicar no botão da interface, " +"vai ver uma mensagem aparecer no console onde você abriu a aplicação." -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "Criamos uma aplicação com recursos mais interessantes. Porém, ela somente funciona em nosso computador. Vamos empacotar esta aplicação para distribuição. No [Tutorial 3][tutorial-3], encapsularemos nossa aplicação em um instalador independente, que poderemos enviar a amigos, clientes ou publicar em uma App Store." - -#~ msgid "Lets do something more interesting with our `HelloWorld` app." -#~ msgstr "" - +#: docs/en/tutorial/tutorial-2.md:369 +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" +"Criamos uma aplicação com recursos mais interessantes. Porém, ela somente " +"funciona em nosso computador. Vamos empacotar esta aplicação para " +"distribuição. No [Tutorial 3][tutorial-3], encapsularemos nossa aplicação em " +"um instalador independente, que poderemos enviar a amigos, clientes ou " +"publicar em uma App Store." + +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "Tutorial 2 - Tornando as coisas interessantes" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po index 27cbfc75..fc804eb7 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po @@ -1,292 +1,617 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-03-04 19:01+0000\n" "Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -msgid "Tutorial 3 - Packaging for distribution" -msgstr "Tutorial 3 - Empacotando para Distribuição" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "Até o momento, executamos nossa aplicação no \"modo de desenvolvedor\". Isso facilita a execução da nossa aplicação localmente - mas o que realmente queremos é poder fornecer nossa aplicação para outras pessoas." +#: docs/en/tutorial/tutorial-3.md:3 +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" +"Até o momento, executamos nossa aplicação no \"modo de desenvolvedor\". Isso " +"facilita a execução da nossa aplicação localmente - mas o que realmente " +"queremos é poder fornecer nossa aplicação para outras pessoas." -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "Entretanto, não queremos ter que ensinar aos nossos usuários como instalar o Python, criar um ambiente virtual, clonar um repositório git e executar o Briefcase no modo de desenvolvedor. Queremos é fornecer um instalador, garantindo a execução imediata da aplicação." +#: docs/en/tutorial/tutorial-3.md:7 +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"Entretanto, não queremos ter que ensinar aos nossos usuários como instalar o " +"Python, criar um ambiente virtual, clonar um repositório git e executar o " +"Briefcase no modo de desenvolvedor. Queremos é fornecer um instalador, " +"garantindo a execução imediata da aplicação." -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -msgid "Briefcase can be used to package your application for distribution in this way." -msgstr "O Briefcase pode ser usado para empacotar sua aplicação para distribuição dessa maneira." +#: docs/en/tutorial/tutorial-3.md:12 +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." +msgstr "" +"O Briefcase pode ser usado para empacotar sua aplicação para distribuição " +"dessa maneira." -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 msgid "Creating your application scaffold" msgstr "Criando a estrutura da sua aplicação" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "Como esta é a primeira vez que estamos empacotando nossa aplicação, precisamos criar alguns arquivos de configuração e outras estruturas de suporte ao processo de empacotamento. No diretório `helloworld`, execute:" +#: docs/en/tutorial/tutorial-3.md:17 +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "" +"Como esta é a primeira vez que estamos empacotando nossa aplicação, " +"precisamos criar alguns arquivos de configuração e outras estruturas de " +"suporte ao processo de empacotamento. No diretório `helloworld`, execute:" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" msgstr "" -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +#: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" msgstr "" -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "É provável que você tenha observado uma grande quantidade de texto passando pelo seu terminal... mas o que exatamente aconteceu? O Briefcase fez o seguinte:" +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "Ele **gerou um modelo de aplicação** (template). Existem muitos arquivos e configurações necessárias para construir um instalador nativo, além do código da sua aplicação. Essa estrutura extra é quase igual para todas as aplicações na mesma plataforma, exceto pelo nome da aplicação que está sendo construída - um modelo de aplicação (template) é fornecido pelo Briefcase para cada plataforma que ele suporta. Esta etapa implementa o modelo, substituindo o nome da sua aplicação, ID do pacote e outras propriedades do seu arquivo de configuração conforme necessário para suportar a plataforma na qual você está construindo." +#: docs/en/tutorial/tutorial-3.md:124 +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "" +"É provável que você tenha observado uma grande quantidade de texto passando " +"pelo seu terminal... mas o que exatamente aconteceu? O Briefcase fez o " +"seguinte:" -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "Caso o modelo fornecido pelo Briefcase não seja satisfatório, é possível você fornecer um modelo próprio. Entretanto, é recomendável que isso não seja feito antes de se obter maior familiaridade com o modelo padrão do Briefcase." +#: docs/en/tutorial/tutorial-3.md:127 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"Ele **gerou um modelo de aplicação** (template). Existem muitos arquivos e " +"configurações necessárias para construir um instalador nativo, além do " +"código da sua aplicação. Essa estrutura extra é quase igual para todas as " +"aplicações na mesma plataforma, exceto pelo nome da aplicação que está sendo " +"construída - um modelo de aplicação (template) é fornecido pelo Briefcase " +"para cada plataforma que ele suporta. Esta etapa implementa o modelo, " +"substituindo o nome da sua aplicação, ID do pacote e outras propriedades do " +"seu arquivo de configuração conforme necessário para suportar a plataforma " +"na qual você está construindo." + +#: docs/en/tutorial/tutorial-3.md:127 +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" +"Caso o modelo fornecido pelo Briefcase não seja satisfatório, é possível " +"você fornecer um modelo próprio. Entretanto, é recomendável que isso não " +"seja feito antes de se obter maior familiaridade com o modelo padrão do " +"Briefcase." -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "Ele **baixou e instalou um pacote de suporte**. A abordagem de empacotamento adotada pelo Briefcase é melhor descrita como \"a coisa mais simples que poderia funcionar\" - ele inclui um interpretador Python completo e isolado como parte de cada aplicativo criado. Isso apresenta uma ligeira ineficiência em termos de espaço - se você tiver 5 aplicativos empacotados com o Briefcase, terá 5 cópias do interpretador Python. No entanto, essa abordagem garante que cada aplicação seja completamente independente, usando uma versão específica do Python que comprovadamente funciona com tal aplicação." - -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "Novamente, o Briefcase fornece um pacote de suporte padrão para cada plataforma; entretanto, caso deseje, você pode fornecer seu próprio pacote de suporte e incluí-lo como parte do processo de construção. Isso pode ser útil se você necessita de opções específicas habilitadas no interpretador Python, ou se deseja remover módulos da biblioteca padrão que não são necessários em tempo de execução." - -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "O Briefcase mantém um cache local de pacotes de suporte. Portanto, uma vez que você tenha baixado um pacote de suporte específico, essa cópia armazenada será utilizada em compilações futuras." +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"Ele **baixou e instalou um pacote de suporte**. A abordagem de empacotamento " +"adotada pelo Briefcase é melhor descrita como " +"\"a coisa mais simples que poderia funcionar\" - ele inclui um interpretador " +"Python completo e isolado como parte de cada aplicativo criado. Isso " +"apresenta uma ligeira ineficiência em termos de espaço - se você tiver 5 " +"aplicativos empacotados com o Briefcase, terá 5 cópias do interpretador " +"Python. No entanto, essa abordagem garante que cada aplicação seja " +"completamente independente, usando uma versão específica do Python que " +"comprovadamente funciona com tal aplicação." + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"Novamente, o Briefcase fornece um pacote de suporte padrão para cada " +"plataforma; entretanto, caso deseje, você pode fornecer seu próprio pacote " +"de suporte e incluí-lo como parte do processo de construção. Isso pode ser " +"útil se você necessita de opções específicas habilitadas no interpretador " +"Python, ou se deseja remover módulos da biblioteca padrão que não são " +"necessários em tempo de execução." + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "" +"O Briefcase mantém um cache local de pacotes de suporte. Portanto, uma vez " +"que você tenha baixado um pacote de suporte específico, essa cópia " +"armazenada será utilizada em compilações futuras." -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." msgstr "" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "Ele **instalou os requisitos da aplicação**. Seu aplicativo pode especificar quaisquer módulos de terceiros necessários em tempo de execução. Estes serão instalados utilizando o `pip` no instalador da sua aplicação." +#: docs/en/tutorial/tutorial-3.md:168 +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" +"Ele **instalou os requisitos da aplicação**. Seu aplicativo pode especificar " +"quaisquer módulos de terceiros necessários em tempo de execução. Estes serão " +"instalados utilizando o `pip` no instalador da sua aplicação." -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "Ele **instalou o código da sua aplicação**. Sua aplicação terá seu próprio código e recursos (por exemplo, imagens necessárias em tempo de execução); estes arquivos são copiados para o instalador." +#: docs/en/tutorial/tutorial-3.md:172 +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "" +"Ele **instalou o código da sua aplicação**. Sua aplicação terá seu próprio " +"código e recursos (por exemplo, imagens necessárias em tempo de execução); " +"estes arquivos são copiados para o instalador." -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "Ele **instalou os recursos requeridos pela sua aplicação.** Por fim, são adicionados recursos adicionais requeridos pelo próprio instalador. Isso inclui elementos como ícones que serão anexados à aplicação final e imagens de tela de abertura." +#: docs/en/tutorial/tutorial-3.md:176 +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "" +"Ele **instalou os recursos requeridos pela sua aplicação.** Por fim, são " +"adicionados recursos adicionais requeridos pelo próprio instalador. Isso " +"inclui elementos como ícones que serão anexados à aplicação final e imagens " +"de tela de abertura." -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "Assim que concluído, ao verificar o diretório do projeto, você deverá encontrar um diretório correspondente à sua plataforma (`macOS`, `linux` ou `windows`) contendo arquivos adicionais. Esta é a configuração de empacotamento específica para a plataforma da sua aplicação." +#: docs/en/tutorial/tutorial-3.md:181 +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"Assim que concluído, ao verificar o diretório do projeto, você deverá " +"encontrar um diretório correspondente à sua plataforma (`macOS`, `linux` ou " +"`windows`) contendo arquivos adicionais. Esta é a configuração de " +"empacotamento específica para a plataforma da sua aplicação." -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 msgid "Building your application" msgstr "Compilando sua aplicação" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "Agora você pode compilar sua aplicação. Este passo executa qualquer compilação binária necessária para que sua aplicação seja executável na plataforma de destino." - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "No macOS, o comando `build` não necessita *compilar* nada, mas precisa assinar o conteúdo do binário para que ele possa ser executado. Essa assinatura é do tipo *ad hoc* - só funcionará no *seu* computador. Se você deseja distribuir a aplicação para outras pessoas, será necessário fornecer uma assinatura completa." +#: docs/en/tutorial/tutorial-3.md:188 +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "" +"Agora você pode compilar sua aplicação. Este passo executa qualquer " +"compilação binária necessária para que sua aplicação seja executável na " +"plataforma de destino." -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "Após a conclusão dessa etapa, a pasta `build` conterá uma pasta `helloworld-0.0.1` com uma estrutura semelhante ao sistema de arquivos `/usr` do Linux. Ela conterá uma pasta `bin` com um binário `helloworld`, além das pastas `lib` e `share` necessárias para dar suporte ao binário." +#: docs/en/tutorial/tutorial-3.md:205 +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"No macOS, o comando `build` não necessita *compilar* nada, mas precisa " +"assinar o conteúdo do binário para que ele possa ser executado. Essa " +"assinatura é do tipo *ad hoc* - só funcionará no *seu* computador. Se você " +"deseja distribuir a aplicação para outras pessoas, será necessário fornecer " +"uma assinatura completa." -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "No Windows, o comando `build` não precisa *compilar* nada, mas é preciso registrar alguns metadados para que a aplicação reconheça seu nome, versão e outras coisas assim." +#: docs/en/tutorial/tutorial-3.md:239 +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"Após a conclusão dessa etapa, a pasta `build` conterá uma pasta " +"`helloworld-0.0.1` com uma estrutura semelhante ao sistema de arquivos `/usr`" +" do Linux. Ela conterá uma pasta `bin` com um binário `helloworld`, além das " +"pastas `lib` e `share` necessárias para dar suporte ao binário." -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -msgid "Triggering antivirus" -msgstr "Notificação de antivírus" +#: docs/en/tutorial/tutorial-3.md:256 +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "" +"No Windows, o comando `build` não precisa *compilar* nada, mas é preciso " +"registrar alguns metadados para que a aplicação reconheça seu nome, versão e " +"outras coisas assim." -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "Como esses metadados estão sendo gravados diretamente no binário pré-compilado que sai do modelo durante o comando `create`, isso pode acionar o software antivírus em execução no computador e impedir que os metadados sejam gravados. Nesse caso, instrua o antivírus a permitir que a ferramenta (denominada `rcedit-x64.exe`) seja executada e execute novamente o comando acima." +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:262 +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"Como esses metadados estão sendo gravados diretamente no binário pré-" +"compilado que sai do modelo durante o comando `create`, isso pode acionar o " +"software antivírus em execução no computador e impedir que os metadados " +"sejam gravados. Nesse caso, instrua o antivírus a permitir que a ferramenta (" +"denominada `rcedit-x64.exe`) seja executada e execute novamente o comando " +"acima." + +#: docs/en/tutorial/tutorial-3.md:273 msgid "Running your app" msgstr "Rodando sua aplicação" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 msgid "You can now use Briefcase to run your application:" msgstr "Agora você pode utilizar o Briefcase para executar sua aplicação:" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#: docs/en/tutorial/tutorial-3.md:354 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." -msgstr "Isso iniciará a execução de seu aplicativo nativo, usando a saída do comando `build`." +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." +msgstr "" +"Isso iniciará a execução de seu aplicativo nativo, usando a saída do comando " +"`build`." -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#: docs/en/tutorial/tutorial-3.md:357 #, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "Você pode notar algumas pequenas diferenças na aparência do seu aplicativo quando ele estiver em execução. Por exemplo, os ícones e o nome exibidos pelo sistema operacional podem ser ligeiramente diferentes daqueles vistos durante a execução no modo de desenvolvedor. Isso também ocorre porque você está usando o aplicativo empacotado, e não apenas executando o código Python. Do ponto de vista do sistema operacional, agora você está executando \"um aplicativo\", não \"um programa Python\", e isso se reflete na aparência do aplicativo." - -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"Você pode notar algumas pequenas diferenças na aparência do seu aplicativo " +"quando ele estiver em execução. Por exemplo, os ícones e o nome exibidos " +"pelo sistema operacional podem ser ligeiramente diferentes daqueles vistos " +"durante a execução no modo de desenvolvedor. Isso também ocorre porque você " +"está usando o aplicativo empacotado, e não apenas executando o código " +"Python. Do ponto de vista do sistema operacional, agora você está executando " +"\"um aplicativo\", não \"um programa Python\", e isso se reflete na " +"aparência do aplicativo." + +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 msgid "Building your installer" msgstr "Criando o seu instalador" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#: docs/en/tutorial/tutorial-3.md:372 #, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "Agora você pode empacotar seu aplicativo para distribuição, usando o comando `package`. O comando package faz qualquer compilação necessária para converter o projeto de andaime em um produto final e distribuível. Dependendo da plataforma, isso pode envolver a compilação de um instalador, a execução de assinatura de código ou outras tarefas de pré-distribuição." +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"Agora você pode empacotar seu aplicativo para distribuição, usando o comando " +"`package`. O comando package faz qualquer compilação necessária para " +"converter o projeto de andaime em um produto final e distribuível. " +"Dependendo da plataforma, isso pode envolver a compilação de um instalador, " +"a execução de assinatura de código ou outras tarefas de pré-distribuição." -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#: docs/en/tutorial/tutorial-3.md:410 #, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "A pasta `dist` conterá um arquivo chamado `Hello World-0.0.1.dmg`. Se você localizar esse arquivo no Finder e clicar duas vezes em seu ícone, montará o DMG, fornecendo uma cópia do aplicativo Hello World e um link para a pasta Applications para facilitar a instalação. Arraste o arquivo do aplicativo para Applications e você terá instalado o aplicativo. Envie o arquivo DMG para um amigo e ele poderá fazer o mesmo." - -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"A pasta `dist` conterá um arquivo chamado `Hello World-0.0.1.dmg`. Se você " +"localizar esse arquivo no Finder e clicar duas vezes em seu ícone, montará o " +"DMG, fornecendo uma cópia do aplicativo Hello World e um link para a pasta " +"Applications para facilitar a instalação. Arraste o arquivo do aplicativo " +"para Applications e você terá instalado o aplicativo. Envie o arquivo DMG " +"para um amigo e ele poderá fazer o mesmo." + +#: docs/en/tutorial/tutorial-3.md:417 #, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." - -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando " +"nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só " +"funcionarão em seu computador. Fizemos isso para manter a simplicidade do " +"tutorial. A configuração de identidades de assinatura de código é um pouco " +"complicada, e elas só são *necessárias* se você pretende distribuir o " +"aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo " +"real para ser usado por outras pessoas, precisaríamos especificar " +"credenciais reais." + +#: docs/en/tutorial/tutorial-3.md:425 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" +"Quando estiver pronto para publicar um aplicativo real, consulte o guia de " +"instruções da Briefcase sobre " +"[Configuração de uma identidade de assinatura de código do macOS]{1}" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#: docs/en/tutorial/tutorial-3.md:433 #, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "A saída da etapa do pacote será ligeiramente diferente, dependendo de sua distribuição Linux. Se estiver em uma distribuição derivada do Debian, você verá:" +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "" +"A saída da etapa do pacote será ligeiramente diferente, dependendo de sua " +"distribuição Linux. Se estiver em uma distribuição derivada do Debian, você " +"verá:" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 #, fuzzy msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "A pasta `dist` conterá o arquivo `.deb` que foi gerado." -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 #, fuzzy msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "Se estiver em uma distribuição baseada em RHEL, você verá:" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 #, fuzzy msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "A pasta `dist` conterá o arquivo `.rpm` que foi gerado." -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 #, fuzzy msgid "If you're on an Arch-based distribution, you'll see:" msgstr "Se estiver em uma distribuição baseada no Arch, você verá:" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#: docs/en/tutorial/tutorial-3.md:504 #, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." msgstr "A pasta `dist` conterá o arquivo `.pkg.tar.zst` que foi gerado." -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 #, fuzzy msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "No momento, não há suporte para o empacotamento de outras distribuições do Linux." +msgstr "" +"No momento, não há suporte para o empacotamento de outras distribuições do " +"Linux." -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#: docs/en/tutorial/tutorial-3.md:509 #, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "Se quiser criar um pacote para uma distribuição Linux diferente da que você está usando, o Briefcase também pode ajudar, mas você precisará instalar o Docker." +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "" +"Se quiser criar um pacote para uma distribuição Linux diferente da que você " +"está usando, o Briefcase também pode ajudar, mas você precisará instalar o " +"Docker." -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#: docs/en/tutorial/tutorial-3.md:513 #, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "Os instaladores oficiais do [Docker Engine]{1} estão disponíveis para uma série de distribuições Unix. Siga as instruções para sua plataforma; no entanto, certifique-se de não instalar o Docker no modo \"sem raiz\"." +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"Os instaladores oficiais do [Docker Engine]{1} estão disponíveis para uma " +"série de distribuições Unix. Siga as instruções para sua plataforma; no " +"entanto, certifique-se de não instalar o Docker no modo \"sem raiz\"." -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#: docs/en/tutorial/tutorial-3.md:517 #, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" -msgstr "Depois de instalar o Docker, você deve ser capaz de iniciar um contêiner Linux - por exemplo:" +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" +msgstr "" +"Depois de instalar o Docker, você deve ser capaz de iniciar um contêiner " +"Linux - por exemplo:" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#: docs/en/tutorial/tutorial-3.md:524 #, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "mostrará um prompt do Unix (algo como `root@84444e31cff9:/#`) dentro de um contêiner do Docker do Ubuntu 22.04. Digite Ctrl-D para sair do Docker e retornar ao seu shell local." +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"mostrará um prompt do Unix (algo como `root@84444e31cff9:/#`) dentro de um " +"contêiner do Docker do Ubuntu 22.04. Digite Ctrl-D para sair do Docker e " +"retornar ao seu shell local." -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#: docs/en/tutorial/tutorial-3.md:528 #, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "Depois de instalar o Docker, você pode usar o Briefcase para criar um pacote para qualquer distribuição Linux compatível com o Briefcase, passando uma imagem do Docker como argumento. Por exemplo, para criar um pacote DEB para o Ubuntu 22.04 (Jammy), independentemente do sistema operacional em que você estiver, execute:" +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"Depois de instalar o Docker, você pode usar o Briefcase para criar um pacote " +"para qualquer distribuição Linux compatível com o Briefcase, passando uma " +"imagem do Docker como argumento. Por exemplo, para criar um pacote DEB para " +"o Ubuntu 22.04 (Jammy), independentemente do sistema operacional em que você " +"estiver, execute:" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#: docs/en/tutorial/tutorial-3.md:538 #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "Isso fará o download da imagem do Docker para o sistema operacional selecionado, criará um contêiner capaz de executar as compilações do Briefcase e compilará o pacote do aplicativo dentro da imagem. Após a conclusão, a pasta `dist` conterá o pacote para a distribuição Linux de destino." +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"Isso fará o download da imagem do Docker para o sistema operacional " +"selecionado, criará um contêiner capaz de executar as compilações do " +"Briefcase e compilará o pacote do aplicativo dentro da imagem. Após a " +"conclusão, a pasta `dist` conterá o pacote para a distribuição Linux de " +"destino." -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#: docs/en/tutorial/tutorial-3.md:575 #, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só funcionarão em seu computador. Fizemos isso para manter a simplicidade do tutorial. A configuração de identidades de assinatura de código é um pouco complicada, e elas só são *necessárias* se você pretende distribuir o aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo real para ser usado por outras pessoas, precisaríamos especificar credenciais reais." - -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"Neste exemplo, usamos a opção `--adhoc-sign`, ou seja, estamos assinando " +"nosso aplicativo com credenciais *ad hoc*, credenciais temporárias que só " +"funcionarão em seu computador. Fizemos isso para manter a simplicidade do " +"tutorial. A configuração de identidades de assinatura de código é um pouco " +"complicada, e elas só são *necessárias* se você pretende distribuir o " +"aplicativo para outras pessoas. Se estivéssemos publicando um aplicativo " +"real para ser usado por outras pessoas, precisaríamos especificar " +"credenciais reais." + +#: docs/en/tutorial/tutorial-3.md:585 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "Quando estiver pronto para publicar um aplicativo real, consulte o guia de instruções da Briefcase sobre [Configuração de uma identidade de assinatura de código do macOS]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" +"Quando estiver pronto para publicar um aplicativo real, consulte o guia de " +"instruções da Briefcase sobre " +"[Configuração de uma identidade de assinatura de código do macOS]{1}" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#: docs/en/tutorial/tutorial-3.md:589 #, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "Quando essa etapa for concluída, a pasta `dist` conterá um arquivo chamado `Hello_World-0.0.1.msi`. Se você clicar duas vezes nesse instalador para executá-lo, deverá passar por um processo familiar de instalação do Windows. Após a conclusão da instalação, haverá uma entrada \"Hello World\" em seu menu Iniciar." +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"Quando essa etapa for concluída, a pasta `dist` conterá um arquivo chamado " +"`Hello_World-0.0.1.msi`. Se você clicar duas vezes nesse instalador para " +"executá-lo, deverá passar por um processo familiar de instalação do Windows. " +"Após a conclusão da instalação, haverá uma entrada \"Hello World\" em seu " +"menu Iniciar." -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop. Mas o que acontece quando precisamos atualizar o código em nosso aplicativo? Como podemos colocar essas atualizações em nosso aplicativo empacotado? Consulte o [Tutorial 4][./tutorial-4] para descobrir..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "Tutorial 3 - Empacotando para Distribuição" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po index 57d290db..46093b12 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po @@ -1,175 +1,296 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:08+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -msgid "Tutorial 4 - Updating your application" -msgstr "Tutorial 4 - Atualizando sua aplicação" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#: docs/en/tutorial/tutorial-4.md:3 #, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "No último tutorial, empacotamos nosso aplicativo como um aplicativo nativo. Se estiver lidando com um aplicativo do mundo real, esse não será o fim da história - você provavelmente fará alguns testes, descobrirá problemas e precisará fazer algumas alterações. Mesmo que o seu aplicativo seja perfeito, você eventualmente desejará publicar a versão 2 do seu aplicativo com melhorias." - -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" +"No último tutorial, empacotamos nosso aplicativo como um aplicativo nativo. " +"Se estiver lidando com um aplicativo do mundo real, esse não será o fim da " +"história - você provavelmente fará alguns testes, descobrirá problemas e " +"precisará fazer algumas alterações. Mesmo que o seu aplicativo seja " +"perfeito, você eventualmente desejará publicar a versão 2 do seu aplicativo " +"com melhorias." + +#: docs/en/tutorial/tutorial-4.md:10 #, fuzzy msgid "So - how do you update your installed app when you make code changes?" -msgstr "Então, como você atualiza o aplicativo instalado quando faz alterações no código?" +msgstr "" +"Então, como você atualiza o aplicativo instalado quando faz alterações no " +"código?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 #, fuzzy msgid "Updating application code" msgstr "Atualização do código do aplicativo" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#: docs/en/tutorial/tutorial-4.md:14 #, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "Atualmente, nosso aplicativo imprime no console quando você pressiona o botão. No entanto, os aplicativos de GUI não devem realmente usar o console para saída. Eles precisam usar caixas de diálogo para se comunicar com os usuários." +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "" +"Atualmente, nosso aplicativo imprime no console quando você pressiona o " +"botão. No entanto, os aplicativos de GUI não devem realmente usar o console " +"para saída. Eles precisam usar caixas de diálogo para se comunicar com os " +"usuários." -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#: docs/en/tutorial/tutorial-4.md:18 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "Vamos adicionar uma caixa de diálogo para dizer olá, em vez de escrever no console. Modifique o retorno de chamada `say_hello` para que ele tenha a seguinte aparência:" +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "" +"Vamos adicionar uma caixa de diálogo para dizer olá, em vez de escrever no " +"console. Modifique o retorno de chamada `say_hello` para que ele tenha a " +"seguinte aparência:" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#: docs/en/tutorial/tutorial-4.md:36 #, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." -msgstr "Isso instrui o Toga a abrir uma caixa de diálogo modal quando o botão é pressionado." +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." +msgstr "" +"Isso instrui o Toga a abrir uma caixa de diálogo modal quando o botão é " +"pressionado." -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#: docs/en/tutorial/tutorial-4.md:38 #, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" -msgstr "Se você executar `briefcase dev`, digitar um nome e pressionar o botão, verá a nova caixa de diálogo:" - -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" +msgstr "" +"Se você executar `briefcase dev`, digitar um nome e pressionar o botão, verá " +"a nova caixa de diálogo:" -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Caixa de diálogo do Hello World Tutorial 4, no macOS" +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Diálogo do tutorial 4 do Hello World, no Linux" +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Caixa de diálogo Hello World Tutorial 4, no Windows" +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:69 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "No entanto, se você executar o `briefcase run`, a caixa de diálogo não será exibida." +msgstr "" +"No entanto, se você executar o `briefcase run`, a caixa de diálogo não será " +"exibida." -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "Por que isso acontece? Bem, o `briefcase dev` opera executando seu código no local - ele tenta produzir o ambiente de tempo de execução mais realista possível para seu código, mas não fornece nem usa nenhuma infraestrutura da plataforma para empacotar seu código como um aplicativo. Parte do processo de empacotamento do aplicativo envolve a cópia do código *para* o pacote de aplicativos e, no momento, o aplicativo ainda contém o código antigo." +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#: docs/en/tutorial/tutorial-4.md:79 #, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "Portanto, precisamos dizer ao briefcase para atualizar seu aplicativo, copiando a nova versão do código. Poderíamos fazer isso excluindo o diretório da plataforma antiga e começando do zero. No entanto, o Briefcase oferece uma maneira mais fácil: você pode atualizar o código do seu aplicativo empacotado existente:" +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" +"Portanto, precisamos dizer ao briefcase para atualizar seu aplicativo, " +"copiando a nova versão do código. Poderíamos fazer isso excluindo o " +"diretório da plataforma antiga e começando do zero. No entanto, o Briefcase " +"oferece uma maneira mais fácil: você pode atualizar o código do seu " +"aplicativo empacotado existente:" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#: docs/en/tutorial/tutorial-4.md:140 #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." -msgstr "Se o Briefcase não conseguir encontrar o modelo de andaime, ele invocará automaticamente o `create` para gerar um novo andaime." +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." +msgstr "" +"Se o Briefcase não conseguir encontrar o modelo de andaime, ele invocará " +"automaticamente o `create` para gerar um novo andaime." -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#: docs/en/tutorial/tutorial-4.md:143 #, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "Agora que atualizamos o código do instalador, podemos executar o `briefcase build` para recompilar o aplicativo, o `briefcase run` para executar o aplicativo atualizado e o `briefcase package` para reembalar o aplicativo para distribuição." +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" +"Agora que atualizamos o código do instalador, podemos executar o `briefcase " +"build` para recompilar o aplicativo, o `briefcase run` para executar o " +"aplicativo atualizado e o `briefcase package` para reembalar o aplicativo " +"para distribuição." -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#: docs/en/tutorial/tutorial-4.md:148 #, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(Usuários do macOS, lembrem-se de que, conforme observado em [Tutorial 3][tutorial-3], para o tutorial, recomendamos executar o `briefcase package` com o sinalizador `--adhoc-sign` para evitar a complexidade da configuração de uma identidade de assinatura de código e manter o tutorial o mais simples possível)" +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" +"(Usuários do macOS, lembrem-se de que, conforme observado em [Tutorial 3]" +"[tutorial-3], para o tutorial, recomendamos executar o `briefcase package` " +"com o sinalizador `--adhoc-sign` para evitar a complexidade da configuração " +"de uma identidade de assinatura de código e manter o tutorial o mais simples " +"possível)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 #, fuzzy msgid "Update and run in one step" msgstr "Atualize e execute em uma única etapa" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "Se estiver iterando rapidamente as alterações no código, provavelmente desejará fazer uma alteração no código, atualizar o aplicativo e executá-lo novamente de imediato. Para a maioria das finalidades, o modo de desenvolvedor (`briefcase dev`) será a maneira mais fácil de fazer esse tipo de iteração rápida; no entanto, se estiver testando algo sobre como o aplicativo é executado como um binário nativo ou procurando um bug que só se manifesta quando o aplicativo está no formato empacotado, talvez seja necessário usar chamadas repetidas para `briefcase run`. Para simplificar o processo de atualização e execução do aplicativo empacotado, o Briefcase tem um atalho para suportar esse padrão de uso - a opção `-u` (ou `--update`) no comando `run`." - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"Se estiver iterando rapidamente as alterações no código, provavelmente " +"desejará fazer uma alteração no código, atualizar o aplicativo e executá-lo " +"novamente de imediato. Para a maioria das finalidades, o modo de " +"desenvolvedor (`briefcase dev`) será a maneira mais fácil de fazer esse tipo " +"de iteração rápida; no entanto, se estiver testando algo sobre como o " +"aplicativo é executado como um binário nativo ou procurando um bug que só se " +"manifesta quando o aplicativo está no formato empacotado, talvez seja " +"necessário usar chamadas repetidas para `briefcase run`. Para simplificar o " +"processo de atualização e execução do aplicativo empacotado, o Briefcase tem " +"um atalho para suportar esse padrão de uso - a opção `-u` (ou `--update`) no " +"comando `run`." + +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "Vamos tentar fazer outra alteração. Você deve ter notado que, se não digitar um nome na caixa de entrada de texto, a caixa de diálogo dirá \"Hello, \". Vamos modificar a função `say_hello` novamente para lidar com esse caso extremo." +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" +"Vamos tentar fazer outra alteração. Você deve ter notado que, se não digitar " +"um nome na caixa de entrada de texto, a caixa de diálogo dirá \"Hello, \". " +"Vamos modificar a função `say_hello` novamente para lidar com esse caso " +"extremo." -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#: docs/en/tutorial/tutorial-4.md:170 #, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "Na parte superior do arquivo, entre as importações e a definição da `classe HelloWorld`, adicione um método utilitário para gerar uma saudação apropriada, dependendo do valor do nome que foi fornecido:" +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "" +"Na parte superior do arquivo, entre as importações e a definição da `classe " +"HelloWorld`, adicione um método utilitário para gerar uma saudação " +"apropriada, dependendo do valor do nome que foi fornecido:" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "Em seguida, modifique a chamada de retorno `say_hello` para usar esse novo método utilitário:" +msgstr "" +"Em seguida, modifique a chamada de retorno `say_hello` para usar esse novo " +"método utilitário:" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#: docs/en/tutorial/tutorial-4.md:194 #, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "Execute seu aplicativo no modo de desenvolvimento (com `briefcase dev`) para confirmar que a nova lógica funciona; em seguida, atualize, crie e execute o aplicativo com um único comando:" +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "" +"Execute seu aplicativo no modo de desenvolvimento (com `briefcase dev`) para " +"confirmar que a nova lógica funciona; em seguida, atualize, crie e execute o " +"aplicativo com um único comando:" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#: docs/en/tutorial/tutorial-4.md:268 #, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "O comando package também aceita o argumento `-u`, portanto, se você fizer uma alteração no código do aplicativo e quiser reempacotar imediatamente, poderá executar `briefcase package -u`." +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" +"O comando package também aceita o argumento `-u`, portanto, se você fizer " +"uma alteração no código do aplicativo e quiser reempacotar imediatamente, " +"poderá executar `briefcase package -u`." -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#: docs/en/tutorial/tutorial-4.md:274 #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "Agora temos nosso aplicativo empacotado para distribuição em plataformas de desktop e conseguimos atualizar o código em nosso aplicativo." +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "" +"Agora temos nosso aplicativo empacotado para distribuição em plataformas de " +"desktop e conseguimos atualizar o código em nosso aplicativo." -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In [Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "Mas e quanto ao celular? No [Tutorial 5][tutorial-5/index], converteremos nosso aplicativo em um aplicativo móvel e o implantaremos em um simulador de dispositivo e em um telefone." +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "Tutorial 4 - Atualizando sua aplicação" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po index ef92d378..491179a3 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -1,255 +1,391 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:09+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "Tutorial 5 - Levando para o Mobile: Android" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#: docs/en/tutorial/tutorial-5/android.md:3 #, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." -msgstr "Agora, vamos pegar nosso aplicativo e implantá-lo como um aplicativo Android." +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." +msgstr "" +"Agora, vamos pegar nosso aplicativo e implantá-lo como um aplicativo Android." -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#: docs/en/tutorial/tutorial-5/android.md:6 #, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "O processo de implementação de um aplicativo no Android é muito semelhante ao processo de implementação como um aplicativo de desktop. O Briefcase lida com a instalação de dependências para o Android, incluindo o SDK do Android, o emulador do Android e um compilador Java." +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"O processo de implementação de um aplicativo no Android é muito semelhante " +"ao processo de implementação como um aplicativo de desktop. O Briefcase lida " +"com a instalação de dependências para o Android, incluindo o SDK do Android, " +"o emulador do Android e um compilador Java." -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 #, fuzzy msgid "Create an Android app and compile it" msgstr "Criar um aplicativo Android e compilá-lo" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#: docs/en/tutorial/tutorial-5/android.md:13 #, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "Primeiro, execute o comando `create`. Isso faz o download de um modelo de aplicativo Android e adiciona seu código Python a ele." +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "" +"Primeiro, execute o comando `create`. Isso faz o download de um modelo de " +"aplicativo Android e adiciona seu código Python a ele." + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f +#: docs/en/tutorial/tutorial-5/android.md:104 #, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "Quando você executa o `briefcase create android` pela primeira vez, o Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos arquivos e o tempo de download podem ser consideráveis; isso pode demorar um pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a Internet). Quando o download for concluído, você será solicitado a aceitar a licença do Android SDK do Google." +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"Quando você executa o `briefcase create android` pela primeira vez, o " +"Briefcase faz o download do Java JDK e do Android SDK. O tamanho dos " +"arquivos e o tempo de download podem ser consideráveis; isso pode demorar um " +"pouco (10 minutos ou mais, dependendo da velocidade da sua conexão com a " +"Internet). Quando o download for concluído, você será solicitado a aceitar a " +"licença do Android SDK do Google." -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 +#: docs/en/tutorial/tutorial-5/android.md:113 #, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "Quando isso for concluído, teremos um diretório `build\\helloworld\\android\\gradle` em nosso projeto, que conterá um projeto Android com uma configuração de compilação do Gradle. Esse projeto conterá o código do seu aplicativo e um pacote de suporte que contém o interpretador Python." +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"Quando isso for concluído, teremos um diretório `build\\helloworld\\android" +"\\gradle` em nosso projeto, que conterá um projeto Android com uma " +"configuração de compilação do Gradle. Esse projeto conterá o código do seu " +"aplicativo e um pacote de suporte que contém o interpretador Python." -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 +#: docs/en/tutorial/tutorial-5/android.md:118 #, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "Em seguida, podemos usar o comando `build` do Briefcase para compilar isso em um arquivo de aplicativo APK para Android." +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "" +"Em seguida, podemos usar o comando `build` do Briefcase para compilar isso " +"em um arquivo de aplicativo APK para Android." -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "O Gradle pode parecer travado" +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 +#: docs/en/tutorial/tutorial-5/android.md:184 #, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "Durante a etapa `briefcase build android`, o Gradle (a ferramenta de compilação da plataforma Android) imprimirá `CONFIGURING: 100%` e parecerá não estar fazendo nada. Não se preocupe, ele não está travado - está baixando mais componentes do Android SDK. Dependendo da velocidade da sua conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse atraso só deve ocorrer na primeira vez em que você executar o `build`; as ferramentas são armazenadas em cache e, na próxima compilação, as versões armazenadas em cache serão usadas." +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"Durante a etapa `briefcase build android`, o Gradle (a ferramenta de " +"compilação da plataforma Android) imprimirá `CONFIGURING: 100%` e parecerá " +"não estar fazendo nada. Não se preocupe, ele não está travado - está " +"baixando mais componentes do Android SDK. Dependendo da velocidade da sua " +"conexão com a Internet, isso pode levar mais 10 minutos (ou mais). Esse " +"atraso só deve ocorrer na primeira vez em que você executar o `build`; as " +"ferramentas são armazenadas em cache e, na próxima compilação, as versões " +"armazenadas em cache serão usadas." -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#: docs/en/tutorial/tutorial-5/android.md:194 #, fuzzy msgid "Run the app on a virtual device" msgstr "Execute o aplicativo em um dispositivo virtual" -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -#, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "Agora estamos prontos para executar nosso aplicativo. Você pode usar o comando `run` do Briefcase para executar o aplicativo em um dispositivo Android. Vamos começar com a execução em um emulador de Android." - -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -#, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "Para executar seu aplicativo, execute `briefcase run android`. Ao fazer isso, será exibida uma lista de dispositivos nos quais você pode executar o aplicativo. O último item sempre será uma opção para criar um novo emulador de Android." - -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "Agora podemos escolher o dispositivo desejado. Selecione a opção \"Create a new Android emulator\" e aceite a opção padrão para o nome do dispositivo (`beePhone`)." - -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -#, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "O `run` do Briefcase inicializará automaticamente o dispositivo virtual. Quando o dispositivo estiver sendo inicializado, você verá o logotipo do Android:" - -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -#, fuzzy -msgid "Android virtual device booting" -msgstr "Inicialização do dispositivo virtual Android" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#: docs/en/tutorial/tutorial-5/android.md:196 #, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "Quando o dispositivo terminar a inicialização, o Briefcase instalará seu aplicativo no dispositivo. Você verá brevemente uma tela de inicialização:" +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" +"Agora estamos prontos para executar nosso aplicativo. Você pode usar o " +"comando `run` do Briefcase para executar o aplicativo em um dispositivo " +"Android. Vamos começar com a execução em um emulador de Android." -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 +#: docs/en/tutorial/tutorial-5/android.md:200 #, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Dispositivo virtual Android totalmente iniciado, na tela do iniciador" +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" +"Para executar seu aplicativo, execute `briefcase run android`. Ao fazer " +"isso, será exibida uma lista de dispositivos nos quais você pode executar o " +"aplicativo. O último item sempre será uma opção para criar um novo emulador " +"de Android." -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#: docs/en/tutorial/tutorial-5/android.md:246 #, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "Em seguida, o aplicativo será iniciado. Você verá uma tela inicial enquanto o aplicativo é iniciado:" +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "" +"Agora podemos escolher o dispositivo desejado. Selecione a opção " +"\"Create a new Android emulator\" e aceite a opção padrão para o nome do " +"dispositivo (`beePhone`)." -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 +#: docs/en/tutorial/tutorial-5/android.md:250 #, fuzzy -msgid "App splash screen" -msgstr "Tela inicial do aplicativo" +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "" +"O `run` do Briefcase inicializará automaticamente o dispositivo virtual. " +"Quando o dispositivo estiver sendo inicializado, você verá o logotipo do " +"Android:" -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#: docs/en/tutorial/tutorial-5/android.md:259 #, fuzzy -msgid "The emulator didn't start!" -msgstr "O emulador não foi iniciado!" +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "" +"Quando o dispositivo terminar a inicialização, o Briefcase instalará seu " +"aplicativo no dispositivo. Você verá brevemente uma tela de inicialização:" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#: docs/en/tutorial/tutorial-5/android.md:269 #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "O emulador do Android é um software complexo que depende de vários recursos de hardware e do sistema operacional - recursos que podem não estar disponíveis ou habilitados em máquinas mais antigas. Se tiver alguma dificuldade para iniciar o emulador do Android, consulte a seção \"Requisitos e recomendações\" da documentação do desenvolvedor do Android." +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "" +"Em seguida, o aplicativo será iniciado. Você verá uma tela inicial enquanto " +"o aplicativo é iniciado:" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "Na primeira vez que o aplicativo é iniciado, ele precisa ser descompactado no dispositivo. Isso pode levar alguns segundos. Depois de descompactado, você verá a versão para Android do nosso aplicativo para desktop:" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#: docs/en/tutorial/tutorial-5/android.md:280 #, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "Aplicativo do Tutorial 2, totalmente lançado" +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" +"O emulador do Android é um software complexo que depende de vários recursos " +"de hardware e do sistema operacional - recursos que podem não estar " +"disponíveis ou habilitados em máquinas mais antigas. Se tiver alguma " +"dificuldade para iniciar o emulador do Android, consulte a seção " +"\"Requisitos e recomendações\" da documentação do desenvolvedor do Android." -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#: docs/en/tutorial/tutorial-5/android.md:290 #, fuzzy -msgid "Demo app fully launched" -msgstr "Aplicativo de demonstração totalmente lançado" +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "" +"Na primeira vez que o aplicativo é iniciado, ele precisa ser descompactado " +"no dispositivo. Isso pode levar alguns segundos. Depois de descompactado, " +"você verá a versão para Android do nosso aplicativo para desktop:" -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#: docs/en/tutorial/tutorial-5/android.md:300 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário verificar o terminal em que você executou o `briefcase run` e procurar mensagens de erro." +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "" +"Se não conseguir ver o aplicativo sendo iniciado, talvez seja necessário " +"verificar o terminal em que você executou o `briefcase run` e procurar " +"mensagens de erro." -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#: docs/en/tutorial/tutorial-5/android.md:309 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "No futuro, se você quiser executar nesse dispositivo sem usar o menu, poderá fornecer o nome do emulador ao Briefcase, usando `briefcase run android -d @beePhone` para executar diretamente no dispositivo virtual." +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"No futuro, se você quiser executar nesse dispositivo sem usar o menu, poderá " +"fornecer o nome do emulador ao Briefcase, usando `briefcase run android -d " +"@beePhone` para executar diretamente no dispositivo virtual." -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 #, fuzzy msgid "Run the app on a physical device" msgstr "Execute o aplicativo em um dispositivo físico" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#: docs/en/tutorial/tutorial-5/android.md:316 #, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "Se você tiver um telefone ou tablet Android físico, poderá conectá-lo ao seu computador com um cabo USB e, em seguida, usar o Briefcase para direcionar seu dispositivo físico." +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "" +"Se você tiver um telefone ou tablet Android físico, poderá conectá-lo ao seu " +"computador com um cabo USB e, em seguida, usar o Briefcase para direcionar " +"seu dispositivo físico." -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#: docs/en/tutorial/tutorial-5/android.md:320 #, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "O Android exige que você prepare seu dispositivo antes que ele possa ser usado para desenvolvimento. Você precisará fazer duas alterações nas opções do seu dispositivo:" +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "" +"O Android exige que você prepare seu dispositivo antes que ele possa ser " +"usado para desenvolvimento. Você precisará fazer duas alterações nas opções " +"do seu dispositivo:" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 #, fuzzy msgid "Enable developer options" msgstr "Ativar opções de desenvolvedor" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 #, fuzzy msgid "Enable USB debugging" msgstr "Ativar a depuração USB" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#: docs/en/tutorial/tutorial-5/android.md:327 #, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." -msgstr "Detalhes sobre como fazer essas alterações podem ser encontrados [na documentação do desenvolvedor do Android]{1}." - -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 -#, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na lista de dispositivos disponíveis quando você executar o `briefcase run android`." +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" +"Detalhes sobre como fazer essas alterações podem ser encontrados " +"[na documentação do desenvolvedor do Android]{1}." -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#: docs/en/tutorial/tutorial-5/android.md:330 #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "Aqui podemos ver um novo dispositivo físico com seu número de série na lista de implantação - neste caso, um Pixel 3a. No futuro, se quiser executar nesse dispositivo sem usar o menu, você poderá fornecer o número de série do telefone ao Briefcase (nesse caso, `briefcase run android -d 94ZZY0LNE8`). Isso será executado diretamente no dispositivo, sem avisos." +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "" +"Depois que essas etapas forem concluídas, seu dispositivo deverá aparecer na " +"lista de dispositivos disponíveis quando você executar o `briefcase run " +"android`." -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd +#: docs/en/tutorial/tutorial-5/android.md:381 #, fuzzy -msgid "My device doesn't appear!" -msgstr "Meu dispositivo não aparece!" +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"Aqui podemos ver um novo dispositivo físico com seu número de série na lista " +"de implantação - neste caso, um Pixel 3a. No futuro, se quiser executar " +"nesse dispositivo sem usar o menu, você poderá fornecer o número de série do " +"telefone ao Briefcase (nesse caso, `briefcase run android -d 94ZZY0LNE8`). " +"Isso será executado diretamente no dispositivo, sem avisos." + +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#: docs/en/tutorial/tutorial-5/android.md:390 #, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "Se o seu dispositivo não aparecer nessa lista, você não ativou a depuração USB (ou o dispositivo não está conectado!)." +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "" +"Se o seu dispositivo não aparecer nessa lista, você não ativou a depuração " +"USB (ou o dispositivo não está conectado!)." -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#: docs/en/tutorial/tutorial-5/android.md:393 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "Se o seu dispositivo aparecer, mas estiver listado como \"Dispositivo desconhecido (não autorizado para desenvolvimento)\", o modo de desenvolvedor não foi ativado corretamente. Execute novamente [as etapas para ativar as opções de desenvolvedor]{1} e execute novamente `briefcase run android`." +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" +"Se o seu dispositivo aparecer, mas estiver listado como " +"\"Dispositivo desconhecido (não autorizado para desenvolvimento)\", o modo " +"de desenvolvedor não foi ativado corretamente. Execute novamente " +"[as etapas para ativar as opções de desenvolvedor]{1} e execute novamente `" +"briefcase run android`." -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "Tutorial 5 - Levando para o Mobile: Android" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po index fba83ccb..a1549c56 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -1,97 +1,144 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:08+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "Tutorial 5 - Levando para o Mobile: iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#: docs/en/tutorial/tutorial-5/iOS.md:13 #, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." -msgstr "Depois de instalar o Xcode, podemos pegar nosso aplicativo e implantá-lo como um aplicativo iOS." +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." +msgstr "" +"Depois de instalar o Xcode, podemos pegar nosso aplicativo e implantá-lo " +"como um aplicativo iOS." -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "O processo de implantação de um aplicativo no iOS é muito semelhante ao processo de implantação como um aplicativo de desktop. Primeiro, você executa o comando `create`, mas, desta vez, especificamos que queremos criar um aplicativo iOS:" +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#: docs/en/tutorial/tutorial-5/iOS.md:46 #, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "Quando isso for concluído, teremos um diretório `build/helloworld/ios/xcode` contendo um projeto Xcode, bem como as bibliotecas de suporte e o código do aplicativo necessários para o aplicativo." +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"Quando isso for concluído, teremos um diretório `build/helloworld/ios/xcode` " +"contendo um projeto Xcode, bem como as bibliotecas de suporte e o código do " +"aplicativo necessários para o aplicativo." -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#: docs/en/tutorial/tutorial-5/iOS.md:50 #, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "Em seguida, você pode usar o Briefcase para compilar o aplicativo usando `briefcase build iOS`:" +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "" +"Em seguida, você pode usar o Briefcase para compilar o aplicativo usando `" +"briefcase build iOS`:" -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#: docs/en/tutorial/tutorial-5/iOS.md:66 #, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "Agora estamos prontos para executar nosso aplicativo, usando o `briefcase run iOS`. Será solicitado que você selecione um dispositivo para o qual compilar; se você tiver simuladores para várias versões do SDK do iOS instalados, também poderá ser perguntado qual versão do iOS deseja usar como alvo. As opções mostradas a você podem ser diferentes das opções mostradas nesta saída - no mínimo, a lista de dispositivos provavelmente será diferente. Para nossos propósitos, não importa qual simulador você escolherá." - -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"Agora estamos prontos para executar nosso aplicativo, usando o `briefcase " +"run iOS`. Será solicitado que você selecione um dispositivo para o qual " +"compilar; se você tiver simuladores para várias versões do SDK do iOS " +"instalados, também poderá ser perguntado qual versão do iOS deseja usar como " +"alvo. As opções mostradas a você podem ser diferentes das opções mostradas " +"nesta saída - no mínimo, a lista de dispositivos provavelmente será " +"diferente. Para nossos propósitos, não importa qual simulador você escolherá." + +#: docs/en/tutorial/tutorial-5/iOS.md:116 #, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "Isso iniciará o simulador do iOS, instalará seu aplicativo e o iniciará. Você deverá ver o simulador iniciar e, por fim, abrir seu aplicativo iOS:" +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "" +"Isso iniciará o simulador do iOS, instalará seu aplicativo e o iniciará. " +"Você deverá ver o simulador iniciar e, por fim, abrir seu aplicativo iOS:" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Janela do tutorial 5 do Hello World, no iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#: docs/en/tutorial/tutorial-5/iOS.md:127 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "Se você souber antecipadamente qual simulador de iOS deseja usar, poderá dizer ao Briefcase para usar esse simulador fornecendo uma opção `-d` (ou `--device`). Usando o nome do dispositivo que você selecionou ao criar o aplicativo, execute:" +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"Se você souber antecipadamente qual simulador de iOS deseja usar, poderá " +"dizer ao Briefcase para usar esse simulador fornecendo uma opção `-d` (ou " +"`--device`). Usando o nome do dispositivo que você selecionou ao criar o " +"aplicativo, execute:" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#: docs/en/tutorial/tutorial-5/iOS.md:136 #, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "Se você tiver várias versões do iOS disponíveis, o Briefcase escolherá a versão mais alta do iOS; se você quiser escolher uma versão específica do iOS, diga a ele para usar essa versão específica:" +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "" +"Se você tiver várias versões do iOS disponíveis, o Briefcase escolherá a " +"versão mais alta do iOS; se você quiser escolher uma versão específica do " +"iOS, diga a ele para usar essa versão específica:" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 #, fuzzy msgid "Or, you can name a specific device UDID:" msgstr "Ou você pode nomear um UDID de dispositivo específico:" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "Agora temos um aplicativo em nosso telefone! Há algum outro lugar onde possamos implantar um aplicativo BeeWare? Consulte [Tutorial 6][../tutorial-6] para descobrir..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "Para compilar aplicativos iOS, precisaremos do Xcode, que está disponível gratuitamente [na macOS App Store]{1}." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "Tutorial 5 - Levando para o Mobile: iOS" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po index 7ffb13c6..54ff90cd 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -1,50 +1,46 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-03-01 19:00+0000\n" "Last-Translator: joaovitorpmoreira \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "Tutorial 5 - Levando para o Mobile" - -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "Até agora, executamos e testamos nosso aplicativo no desktop. No entanto, o BeeWare também oferece suporte a plataformas móveis, e o aplicativo que escrevemos também pode ser implantado em seu dispositivo móvel!" - -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "os aplicativos iOS só podem ser compilados no macOS." +#: docs/en/tutorial/tutorial-5/index.md:3 +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" +msgstr "" +"Até agora, executamos e testamos nosso aplicativo no desktop. No entanto, o " +"BeeWare também oferece suporte a plataformas móveis, e o aplicativo que " +"escrevemos também pode ser implantado em seu dispositivo móvel!" -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#: docs/en/tutorial/tutorial-5/index.md:9 msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Os aplicativos Android podem ser compilados no macOS, Windows ou Linux." -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Vamos criar nosso aplicativo para iOS!][iOS]" +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" -#~ msgid "[Let's build our app for Android!][android]" -#~ msgstr "[Vamos criar nosso aplicativo para Android!][android]" +#: docs/en/tutorial/tutorial-5/index.md:13 +msgid "iOS applications can only be compiled on macOS." +msgstr "os aplicativos iOS só podem ser compilados no macOS." +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "Tutorial 5 - Levando para o Mobile" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po index 69007428..406b916c 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po @@ -1,108 +1,177 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-24 17:48+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:08+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language-Team: Portuguese \n" -"Language: pt\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Poedit 3.4.2\n" -"Generated-By: Babel 2.14.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 86ed1df7b28e481184dcee23d0e7da6f -msgid "Tutorial 6 - Put it on the web!" -msgstr "Tutorial 6 - Coloque na web!" +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:5 c76e1152ed1b46d4b1c9a217c2fd5e6e +#: docs/en/tutorial/tutorial-6.md:3 #, fuzzy -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." -msgstr "Além de oferecer suporte a plataformas móveis, o kit de ferramentas de widget Toga também oferece suporte à Web! Usando a mesma API que você usou para implantar seus aplicativos de desktop e móveis, você pode implantar seu aplicativo como um aplicativo da Web de página única." +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." +msgstr "" +"Além de oferecer suporte a plataformas móveis, o kit de ferramentas de " +"widget Toga também oferece suporte à Web! Usando a mesma API que você usou " +"para implantar seus aplicativos de desktop e móveis, você pode implantar seu " +"aplicativo como um aplicativo da Web de página única." -#: ../../tutorial/tutorial-6.rst:9 adc62943ecc54b35b15e0601d0e8946a -#, fuzzy -msgid "Proof of Concept" -msgstr "Prova de conceito" +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 c56e6544da5e4f80aa672f9139458d5a +#: docs/en/tutorial/tutorial-6.md:10 #, fuzzy -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." -msgstr "O backend do Toga Web é o menos maduro de todos os backends do Toga. Ele está maduro o suficiente para exibir alguns recursos, mas é provável que apresente bugs e não tenha muitos dos widgets disponíveis em outras plataformas. Neste momento, a implementação na Web deve ser considerada uma \"Prova de Conceito\" - o suficiente para demonstrar o que pode ser feito, mas não o suficiente para ser usado em um desenvolvimento sério." - -#: ../../tutorial/tutorial-6.rst:18 ce4a8e59bf48498c8c689a4b147c44a6 +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." +msgstr "" +"O backend do Toga Web é o menos maduro de todos os backends do Toga. Ele " +"está maduro o suficiente para exibir alguns recursos, mas é provável que " +"apresente bugs e não tenha muitos dos widgets disponíveis em outras " +"plataformas. Neste momento, a implementação na Web deve ser considerada uma " +"\"Prova de Conceito\" - o suficiente para demonstrar o que pode ser feito, " +"mas não o suficiente para ser usado em um desenvolvimento sério." + +#: docs/en/tutorial/tutorial-6.md:17 #, fuzzy -msgid "If you have problems with this step of the tutorial, you can skip to the next page." -msgstr "Se você tiver problemas com esta etapa do tutorial, pule para a próxima página." +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." +msgstr "" +"Se você tiver problemas com esta etapa do tutorial, pule para a próxima " +"página." + +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-6.rst:22 3edb2c92ee8e44dc9605a927694b2ae2 +#: docs/en/tutorial/tutorial-6.md:22 #, fuzzy msgid "Deploying as a web app" msgstr "Implementação como um aplicativo Web" -#: ../../tutorial/tutorial-6.rst:24 529524a7da844e78b40470efe6b6acc4 +#: docs/en/tutorial/tutorial-6.md:24 #, fuzzy -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" +msgstr "" +"O processo de implementação como um aplicativo da Web de página única segue " +"o mesmo padrão familiar - você cria o aplicativo, constrói o aplicativo e, " +"em seguida, o executa. No entanto, o Briefcase pode ser um pouco inteligente;" +" se você tentar executar um aplicativo e o Briefcase determinar que ele não " +"foi criado ou compilado para a plataforma que está sendo visada, ele " +"executará as etapas de criação e compilação para você. Como esta é a " +"primeira vez que executamos o aplicativo para a Web, podemos executar todas " +"as três etapas com um único comando:" + +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" msgstr "" -"O processo de implementação como um aplicativo da Web de página única segue o mesmo padrão familiar - você cria o aplicativo, constrói o aplicativo e, em seguida, o executa. No entanto, o Briefcase pode ser um pouco inteligente; se você tentar executar um aplicativo e o Briefcase determinar que ele não foi criado ou compilado para a plataforma que está sendo visada, ele executará as etapas de criação e compilação para você. Como esta é a primeira vez que executamos o aplicativo para a " -"Web, podemos executar todas as três etapas com um único comando:" - -#: ../../tutorial/tutorial-6.rst:34 f735de1635d5496e914177c0ac70f5d4 -msgid "macOS" -msgstr "macOS" -#: ../../tutorial/tutorial-6.rst:72 9c5a07798eb44b90852231de5cd48d84 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 b47bbba97a354fa8a875469360a24df8 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 0034a6c6fdf54c2ea2cd4cc09384f99d -#, fuzzy -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "Isso abrirá um navegador da Web, apontando para [http://127.0.0.1:8080](http://127.0.0.1:8080):" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 497aa7152b48453ba4b2c1f28cab0817 -#, fuzzy -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Diálogo do tutorial 6 do Hello World em um navegador" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 f6966e6cbed24009afff1d3b2c72f532 +#: docs/en/tutorial/tutorial-6.md:156 #, fuzzy msgid "If you enter your name and click the button, a dialog will appear." -msgstr "Se você digitar seu nome e clicar no botão, será exibida uma caixa de diálogo." +msgstr "" +"Se você digitar seu nome e clicar no botão, será exibida uma caixa de " +"diálogo." -#: ../../tutorial/tutorial-6.rst:157 e7d3d45f2609402bb1ad8b0c26e3d00d +#: docs/en/tutorial/tutorial-6.md:158 msgid "How does this work?" msgstr "Como isso funciona?" -#: ../../tutorial/tutorial-6.rst:159 94a41e02bcb447d8865ed42d40deb712 +#: docs/en/tutorial/tutorial-6.md:160 #, fuzzy -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." -msgstr "Este aplicativo da Web é um site estático - uma única página de origem HTML, com alguns recursos CSS e outros. O Briefcase iniciou um servidor da Web local para servir essa página para que o seu navegador possa visualizá-la. Se você quiser colocar essa página da Web em produção, poderá copiar o conteúdo da pasta `www` em qualquer servidor da Web que possa servir conteúdo estático." - -#: ../../tutorial/tutorial-6.rst:165 457368c5d7494291b2411badef1db4ac +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." +msgstr "" +"Este aplicativo da Web é um site estático - uma única página de origem HTML, " +"com alguns recursos CSS e outros. O Briefcase iniciou um servidor da Web " +"local para servir essa página para que o seu navegador possa visualizá-la. " +"Se você quiser colocar essa página da Web em produção, poderá copiar o " +"conteúdo da pasta `www` em qualquer servidor da Web que possa servir " +"conteúdo estático." + +#: docs/en/tutorial/tutorial-6.md:166 #, fuzzy -msgid "But when you press the button, you're running Python code... how does that work? Toga uses [PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." msgstr "" -"Mas quando você pressiona o botão, está executando código Python... como isso funciona? O Toga usa o [PyScript]{1} para fornecer um interpretador Python no navegador. O Briefcase empacota o código do seu aplicativo como rodas que o PyScript pode carregar no navegador. Quando a página é carregada, o código do aplicativo é executado no navegador, criando a interface do usuário usando o DOM do navegador. Quando você clica em um botão, esse botão executa o código de " -"manipulação de eventos no navegador." - -#: ../../tutorial/tutorial-6.rst:173 122d17f0ad0d4e8ab0e442f96fad590b +"Mas quando você pressiona o botão, está executando código Python... como " +"isso funciona? O Toga usa o [PyScript]{1} para fornecer um interpretador " +"Python no navegador. O Briefcase empacota o código do seu aplicativo como " +"rodas que o PyScript pode carregar no navegador. Quando a página é " +"carregada, o código do aplicativo é executado no navegador, criando a " +"interface do usuário usando o DOM do navegador. Quando você clica em um " +"botão, esse botão executa o código de manipulação de eventos no navegador." + +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-6.rst:175 212de898d2df409dbbc74628b3ba00f4 +#: docs/en/tutorial/tutorial-6.md:176 #, fuzzy -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." -msgstr "Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos móveis e na Web, ele é bastante simples e não envolve bibliotecas de terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em nosso aplicativo? Consulte o [Tutorial 7][tutorial-7] para descobrir..." +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." +msgstr "" +"Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos " +"móveis e na Web, ele é bastante simples e não envolve bibliotecas de " +"terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em " +"nosso aplicativo? Consulte o [Tutorial 7][tutorial-7] para descobrir..." + +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "Tutorial 6 - Coloque na web!" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po index 95eecd83..993ea4bf 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po @@ -1,378 +1,551 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:07+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "Tutorial 7 - Iniciando o uso de bibliotecas externas" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#: docs/en/tutorial/tutorial-7.md:3 #, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "Até o momento, o aplicativo que criamos usou apenas o nosso próprio código, além do código fornecido pelo BeeWare. Entretanto, em um aplicativo do mundo real, você provavelmente desejará usar uma biblioteca de terceiros, baixada do Python Package Index (PyPI)." +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"Até o momento, o aplicativo que criamos usou apenas o nosso próprio código, " +"além do código fornecido pelo BeeWare. Entretanto, em um aplicativo do mundo " +"real, você provavelmente desejará usar uma biblioteca de terceiros, baixada " +"do Python Package Index (PyPI)." -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 #, fuzzy msgid "Let's modify our app to include a third-party library." -msgstr "Vamos modificar nosso aplicativo para incluir uma biblioteca de terceiros." +msgstr "" +"Vamos modificar nosso aplicativo para incluir uma biblioteca de terceiros." -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#: docs/en/tutorial/tutorial-7.md:23 #, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "Vamos adicionar uma chamada de API `httpx` ao nosso aplicativo. Adicione uma importação na parte superior do `app.py` para importar `httpx`:" +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "" +"Vamos adicionar uma chamada de API `httpx` ao nosso aplicativo. Adicione uma " +"importação na parte superior do `app.py` para importar `httpx`:" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Em seguida, modifique a chamada de retorno `say_hello()` para que fique assim:" +msgstr "" +"Em seguida, modifique a chamada de retorno `say_hello()` para que fique " +"assim:" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#: docs/en/tutorial/tutorial-7.md:43 #, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." -msgstr "Vamos executar nosso aplicativo atualizado no modo de desenvolvedor do Briefcase para verificar se nossa alteração funcionou." - -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." +msgstr "" +"Vamos executar nosso aplicativo atualizado no modo de desenvolvedor do " +"Briefcase para verificar se nossa alteração funcionou." + +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "O que aconteceu? Adicionamos o `httpx` ao nosso *código*, mas não o adicionamos ao nosso ambiente virtual de desenvolvimento. Podemos corrigir isso instalando o `httpx` com o `pip` e, em seguida, executando novamente o `briefcase dev`:" +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "Ao inserir um nome e pressionar o botão, você verá uma caixa de diálogo semelhante:" +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Caixa de diálogo do tutorial 7 do Hello World, no macOS" +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#: docs/en/tutorial/tutorial-7.md:126 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Diálogo do tutorial 7 do Hello World, no Linux" +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"O que aconteceu? Adicionamos o `httpx` ao nosso *código*, mas não o " +"adicionamos ao nosso ambiente virtual de desenvolvimento. Podemos corrigir " +"isso instalando o `httpx` com o `pip` e, em seguida, executando novamente o `" +"briefcase dev`:" -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Caixa de diálogo Hello World Tutorial 7, no Windows" +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" +"Ao inserir um nome e pressionar o botão, você verá uma caixa de diálogo " +"semelhante:" -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#: docs/en/tutorial/tutorial-7.md:192 #, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" -msgstr "Agora temos um aplicativo funcional, usando uma biblioteca de terceiros, em execução no modo de desenvolvimento!" +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" +msgstr "" +"Agora temos um aplicativo funcional, usando uma biblioteca de terceiros, em " +"execução no modo de desenvolvimento!" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 #, fuzzy msgid "Running the updated app" msgstr "Executando o aplicativo atualizado" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "Vamos empacotar esse código de aplicativo atualizado como um aplicativo autônomo. Como fizemos alterações no código, precisamos seguir as mesmas etapas do [Tutorial 4][tutorial-4]:" +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"Vamos empacotar esse código de aplicativo atualizado como um aplicativo " +"autônomo. Como fizemos alterações no código, precisamos seguir as mesmas " +"etapas do [Tutorial 4][tutorial-4]:" -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "Atualize o código no aplicativo empacotado:" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "Reconstrua o aplicativo:" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 #, fuzzy msgid "And finally, run the app:" msgstr "E, por fim, execute o aplicativo:" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" -msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console, além de uma caixa de diálogo de falha:" - -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Falha no aplicativo Hello World Tutorial 7, no macOS" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" +msgstr "" +"No entanto, quando o aplicativo for executado, você verá um erro no console, " +"além de uma caixa de diálogo de falha:" -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" -msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console:" - -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Falha no aplicativo Hello World Tutorial 7, no Windows" +msgstr "" +"No entanto, quando o aplicativo for executado, você verá um erro no console:" -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" -msgstr "No entanto, quando o aplicativo for executado, você verá um erro no console:" +msgstr "" +"No entanto, quando o aplicativo for executado, você verá um erro no console:" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "Mais uma vez, o aplicativo não foi iniciado porque o `httpx` foi instalado - mas por quê? Já não instalamos o `httpx`?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "Temos, mas somente no ambiente de desenvolvimento. O ambiente de desenvolvimento é totalmente local em seu computador e só é ativado quando você o ativa explicitamente. Embora o Briefcase tenha um modo de desenvolvimento, a principal razão pela qual você usaria o Briefcase é para empacotar o seu código para que você possa fornecê-lo a outra pessoa." +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"Temos, mas somente no ambiente de desenvolvimento. O ambiente de " +"desenvolvimento é totalmente local em seu computador e só é ativado quando " +"você o ativa explicitamente. Embora o Briefcase tenha um modo de " +"desenvolvimento, a principal razão pela qual você usaria o Briefcase é para " +"empacotar o seu código para que você possa fornecê-lo a outra pessoa." -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "A única maneira de garantir que outra pessoa tenha um ambiente Python que contenha tudo o que ela precisa é criar um ambiente Python completamente isolado. Isso significa que há uma instalação completamente isolada do Python e um conjunto completamente isolado de dependências. Isso é o que o Briefcase está construindo quando você executa o `briefcase build` - um ambiente Python isolado. Isso também explica por que o `httpx` não está instalado - ele foi instalado em seu ambiente de *desenvolvimento*, mas não no aplicativo empacotado." +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"A única maneira de garantir que outra pessoa tenha um ambiente Python que " +"contenha tudo o que ela precisa é criar um ambiente Python completamente " +"isolado. Isso significa que há uma instalação completamente isolada do " +"Python e um conjunto completamente isolado de dependências. Isso é o que o " +"Briefcase está construindo quando você executa o `briefcase build` - um " +"ambiente Python isolado. Isso também explica por que o `httpx` não está " +"instalado - ele foi instalado em seu ambiente de *desenvolvimento*, mas não " +"no aplicativo empacotado." -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "Portanto, precisamos informar ao Briefcase que nosso aplicativo tem uma dependência externa." +msgstr "" +"Portanto, precisamos informar ao Briefcase que nosso aplicativo tem uma " +"dependência externa." -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "Atualização de dependências" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "No diretório raiz do seu aplicativo, há um arquivo chamado `pyproject.toml`. Esse arquivo contém todos os detalhes de configuração do aplicativo que você forneceu quando executou originalmente o `briefcase new`." +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"No diretório raiz do seu aplicativo, há um arquivo chamado `pyproject.toml`. " +"Esse arquivo contém todos os detalhes de configuração do aplicativo que você " +"forneceu quando executou originalmente o `briefcase new`." -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" -msgstr "o `pyproject.toml` é dividido em seções; uma das seções descreve as configurações do seu aplicativo:" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" +msgstr "" +"o `pyproject.toml` é dividido em seções; uma das seções descreve as " +"configurações do seu aplicativo:" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "A opção `requires` descreve as dependências do nosso aplicativo. É uma lista de cadeias de caracteres, especificando as bibliotecas (e, opcionalmente, as versões) das bibliotecas que você deseja incluir em seu aplicativo." +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "" +"A opção `requires` descreve as dependências do nosso aplicativo. É uma lista " +"de cadeias de caracteres, especificando as bibliotecas (e, opcionalmente, as " +"versões) das bibliotecas que você deseja incluir em seu aplicativo." -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "Modifique a configuração `requires` para que fique assim:" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "Ao adicionar essa configuração, estamos dizendo ao Briefcase \"quando você compilar meu aplicativo, execute `pip install httpx` no pacote de aplicativos\". Qualquer coisa que seja uma entrada legal para `pip install` pode ser usada aqui - portanto, você poderia especificar:" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"Ao adicionar essa configuração, estamos dizendo ao Briefcase \"quando você " +"compilar meu aplicativo, execute `pip install httpx` no pacote de " +"aplicativos\". Qualquer coisa que seja uma entrada legal para `pip install` " +"pode ser usada aqui - portanto, você poderia especificar:" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "Uma versão específica da biblioteca (por exemplo, `\"httpx==0.19.0\"`);" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "Um intervalo de versões de biblioteca (por exemplo, `\"httpx>=0.19\"`);" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" -msgstr "Um caminho para um repositório git (por exemplo, `\"git+https://github.com/encode/httpx\"`); ou" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" +msgstr "" +"Um caminho para um repositório git (por exemplo, `" +"\"git+https://github.com/encode/httpx\"`); ou" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#: docs/en/tutorial/tutorial-7.md:519 #, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "Um caminho de arquivo local (no entanto, esteja avisado: se você fornecer seu código a outra pessoa, esse caminho provavelmente não existirá no computador dela!)" +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "" +"Um caminho de arquivo local (no entanto, esteja avisado: se você fornecer " +"seu código a outra pessoa, esse caminho provavelmente não existirá no " +"computador dela!)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "Mais abaixo no `pyproject.toml`, você notará outras seções que dependem do sistema operacional, como `[tool.briefcase.app.helloworld.macOS]` e `[tool.briefcase.app.helloworld.windows]`. Essas seções *também* têm uma configuração `requires`. Essas configurações permitem definir dependências adicionais específicas da plataforma. Assim, por exemplo, se você precisar de uma biblioteca específica da plataforma para lidar com algum aspecto do seu aplicativo, poderá especificar essa biblioteca na seção `requires` específica da plataforma, e essa configuração será usada somente para essa plataforma. Você notará que as bibliotecas `toga` são todas especificadas na seção `requires` específica da plataforma - isso ocorre porque as bibliotecas necessárias para exibir uma interface de usuário são específicas da plataforma." - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"Mais abaixo no `pyproject.toml`, você notará outras seções que dependem do " +"sistema operacional, como `[tool.briefcase.app.helloworld.macOS]` e `" +"[tool.briefcase.app.helloworld.windows]`. Essas seções *também* têm uma " +"configuração `requires`. Essas configurações permitem definir dependências " +"adicionais específicas da plataforma. Assim, por exemplo, se você precisar " +"de uma biblioteca específica da plataforma para lidar com algum aspecto do " +"seu aplicativo, poderá especificar essa biblioteca na seção `requires` " +"específica da plataforma, e essa configuração será usada somente para essa " +"plataforma. Você notará que as bibliotecas `toga` são todas especificadas na " +"seção `requires` específica da plataforma - isso ocorre porque as " +"bibliotecas necessárias para exibir uma interface de usuário são específicas " +"da plataforma." + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "No nosso caso, queremos que o `httpx` seja instalado em todas as plataformas, portanto, usamos a configuração `requires` em nível de aplicativo. As dependências no nível do aplicativo sempre serão instaladas; as dependências específicas da plataforma são instaladas *além* das dependências no nível do aplicativo." +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"No nosso caso, queremos que o `httpx` seja instalado em todas as " +"plataformas, portanto, usamos a configuração `requires` em nível de " +"aplicativo. As dependências no nível do aplicativo sempre serão instaladas; " +"as dependências específicas da plataforma são instaladas *além* das " +"dependências no nível do aplicativo." -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "Agora que informamos o Briefcase sobre nossos requisitos adicionais, podemos tentar empacotar nosso aplicativo novamente. Certifique-se de que salvou suas alterações no `pyproject.toml` e, em seguida, atualize seu aplicativo novamente - desta vez, passando o sinalizador `-r`. Isso diz ao Briefcase para atualizar os requisitos no aplicativo empacotado:" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"Agora que informamos o Briefcase sobre nossos requisitos adicionais, podemos " +"tentar empacotar nosso aplicativo novamente. Certifique-se de que salvou " +"suas alterações no `pyproject.toml` e, em seguida, atualize seu aplicativo " +"novamente - desta vez, passando o sinalizador `-r`. Isso diz ao Briefcase " +"para atualizar os requisitos no aplicativo empacotado:" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "Depois de atualizar, você pode executar `briefcase build` e `briefcase run` e verá o aplicativo empacotado com o novo comportamento de diálogo." +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" +"Depois de atualizar, você pode executar `briefcase build` e `briefcase run` " +"e verá o aplicativo empacotado com o novo comportamento de diálogo." + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "A opção `-r` para atualizar os requisitos também é aceita pelos comandos `build` e `run`, portanto, se quiser atualizar, compilar e executar em uma única etapa, você pode usar `briefcase run -u -r`." +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"A opção `-r` para atualizar os requisitos também é aceita pelos comandos " +"`build` e `run`, portanto, se quiser atualizar, compilar e executar em uma " +"única etapa, você pode usar `briefcase run -u -r`." -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "Em plataformas de desktop (macOS, Windows, Linux), qualquer `pip` instalável pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, [suas opções são ligeiramente limitadas]{1}." +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"Em plataformas de desktop (macOS, Windows, Linux), qualquer `pip` instalável " +"pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, " +"[suas opções são ligeiramente limitadas]{1}." -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{2}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#: docs/en/tutorial/tutorial-7.md:719 #, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "O BeeWare pode fornecer binários para alguns módulos binários populares (incluindo `numpy`, `pandas` e `cryptography`). Normalmente, é possível compilar pacotes para plataformas móveis, mas isso não é fácil de configurar, o que está fora do escopo de um tutorial introdutório como este." +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" +"O BeeWare pode fornecer binários para alguns módulos binários populares (" +"incluindo `numpy`, `pandas` e `cryptography`). Normalmente, é possível " +"compilar pacotes para plataformas móveis, mas isso não é fácil de " +"configurar, o que está fora do escopo de um tutorial introdutório como este." -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "Acesso a uma API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "Uma tarefa comum que um aplicativo precisará executar é fazer uma solicitação em uma API da Web para recuperar dados e exibir esses dados ao usuário. Como este é um aplicativo de brinquedo, não temos uma API *real* para trabalhar, portanto, usaremos a [{JSON} Placeholder API]{1} como fonte de dados." - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "A API {JSON} Placeholder tem vários endpoints de API \"falsos\" que você pode usar como dados de teste. Uma dessas APIs é o ponto de extremidade `/posts/`, que retorna publicações de blog falsas. Se você abrir `https://jsonplaceholder.typicode.com/posts/42` em seu navegador, obterá uma carga JSON que descreve uma única publicação - algum conteúdo [Lorum ipsum]{1} para uma publicação de blog com ID 42." - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "A biblioteca padrão do Python contém todas as ferramentas necessárias para acessar uma API. Entretanto, as APIs incorporadas são de nível muito baixo. Elas são boas implementações do protocolo HTTP, mas exigem que o usuário gerencie muitos detalhes de baixo nível, como redirecionamento de URL, sessões, autenticação e codificação de carga útil. Como um \"usuário normal de navegador\", você provavelmente está acostumado a considerar esses detalhes como garantidos, pois o navegador gerencia esses detalhes para você." - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "Como resultado, as pessoas desenvolveram bibliotecas de terceiros que envolvem as APIs incorporadas e fornecem uma API mais simples que se aproxima da experiência cotidiana do navegador. Vamos usar uma dessas bibliotecas para acessar a API {JSON} Placeholder - uma biblioteca chamada [httpx]{1}." - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "Isso alterará a chamada de retorno `say_hello()` para que, quando for chamada, ela o faça:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "faça uma solicitação GET na API do espaço reservado JSON para obter o post 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "decodificar a resposta como JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "extrair o corpo da postagem; e" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "incluir o corpo dessa postagem como o texto da caixa de diálogo." - -#~ msgid "Some binary packages may not be available" -#~ msgstr "Alguns pacotes binários podem não estar disponíveis" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "Resumindo: qualquer pacote Python *puro* (ou seja, pacotes que *não* contêm um módulo binário) pode ser usado sem dificuldade. No entanto, se sua dependência contiver um componente binário, ele deverá ser compilado; no momento, a maioria dos pacotes Python não oferece suporte à compilação para plataformas que não sejam de desktop." - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "Agora temos um aplicativo que usa uma biblioteca de terceiros! No entanto, você deve ter notado que, ao pressionar o botão, o aplicativo fica um pouco sem resposta. Podemos fazer algo para corrigir isso? Consulte o [Tutorial 8][tutorial-8] para descobrir..." - +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "Tutorial 7 - Iniciando o uso de bibliotecas externas" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po index ae4ee0aa..f4dc9ffd 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po @@ -1,374 +1,590 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-02-13 12:07+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: pt\n" -"Language-Team: Portuguese \n" -"Plural-Forms: nplurals=2; plural=n != 1;\n" +"Language-Team: Portuguese \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -msgid "Tutorial 8 - Making it Smooooth" -msgstr "Tutorial 8 - Suavizando o Processo" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." msgstr "" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" +msgstr "" +"Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos " +"`say_hello()` para que ele tenha a seguinte aparência:" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "" -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "A menos que você tenha uma conexão de Internet *muito* rápida, poderá perceber que, ao pressionar o botão, a GUI do seu aplicativo trava um pouco. Isso ocorre porque a solicitação da Web que fizemos é *síncrona*. Quando nosso aplicativo faz a solicitação da Web, ele espera que a API retorne uma resposta antes de continuar. Enquanto espera, ele não permite que o aplicativo seja redesenhado e, como resultado, o aplicativo trava." - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"A menos que você tenha uma conexão de Internet *muito* rápida, poderá " +"perceber que, ao pressionar o botão, a GUI do seu aplicativo trava um pouco. " +"Isso ocorre porque a solicitação da Web que fizemos é *síncrona*. Quando " +"nosso aplicativo faz a solicitação da Web, ele espera que a API retorne uma " +"resposta antes de continuar. Enquanto espera, ele não permite que o " +"aplicativo seja redesenhado e, como resultado, o aplicativo trava." + +#: docs/en/tutorial/tutorial-8.md:181 #, fuzzy msgid "GUI Event Loops" msgstr "Loops de eventos da GUI" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 +#: docs/en/tutorial/tutorial-8.md:183 #, fuzzy -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "Para entender por que isso acontece, precisamos nos aprofundar nos detalhes de como funciona um aplicativo de GUI. Os detalhes variam de acordo com a plataforma, mas os conceitos de alto nível são os mesmos, independentemente da plataforma ou do ambiente de GUI que você estiver usando." +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"Para entender por que isso acontece, precisamos nos aprofundar nos detalhes " +"de como funciona um aplicativo de GUI. Os detalhes variam de acordo com a " +"plataforma, mas os conceitos de alto nível são os mesmos, independentemente " +"da plataforma ou do ambiente de GUI que você estiver usando." -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#: docs/en/tutorial/tutorial-8.md:188 #, fuzzy msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "Um aplicativo de GUI é, basicamente, um único loop que se parece com:" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "Esse loop é chamado de *Event Loop*. (Esses não são nomes de métodos reais - é uma ilustração do que está acontecendo no \"pseudocódigo\")." +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "" +"Esse loop é chamado de *Event Loop*. (Esses não são nomes de métodos reais - " +"é uma ilustração do que está acontecendo no \"pseudocódigo\")." -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#: docs/en/tutorial/tutorial-8.md:199 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "Quando você clica em um botão, arrasta uma barra de rolagem ou digita uma tecla, está gerando um \"evento\". Esse \"evento\" é colocado em uma fila, e o aplicativo processará a fila de eventos quando tiver a oportunidade de fazê-lo. O código do usuário que é acionado em resposta ao evento é chamado de *manipulador de eventos*. Esses manipuladores de eventos são invocados como parte da chamada `process_events()`." - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"Quando você clica em um botão, arrasta uma barra de rolagem ou digita uma " +"tecla, está gerando um \"evento\". Esse \"evento\" é colocado em uma fila, e " +"o aplicativo processará a fila de eventos quando tiver a oportunidade de " +"fazê-lo. O código do usuário que é acionado em resposta ao evento é chamado " +"de *manipulador de eventos*. Esses manipuladores de eventos são invocados " +"como parte da chamada `process_events()`." + +#: docs/en/tutorial/tutorial-8.md:206 #, fuzzy -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "Depois que um aplicativo tiver processado todos os eventos disponíveis, ele `redraw()` a GUI. Isso leva em conta todas as alterações que os eventos causaram na exibição do aplicativo, bem como qualquer outra coisa que esteja acontecendo no sistema operacional - por exemplo, as janelas de outro aplicativo podem obscurecer ou revelar parte da janela do nosso aplicativo, e o redesenho do nosso aplicativo precisará refletir a parte da janela que está visível no momento." - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"Depois que um aplicativo tiver processado todos os eventos disponíveis, ele " +"`redraw()` a GUI. Isso leva em conta todas as alterações que os eventos " +"causaram na exibição do aplicativo, bem como qualquer outra coisa que esteja " +"acontecendo no sistema operacional - por exemplo, as janelas de outro " +"aplicativo podem obscurecer ou revelar parte da janela do nosso aplicativo, " +"e o redesenho do nosso aplicativo precisará refletir a parte da janela que " +"está visível no momento." + +#: docs/en/tutorial/tutorial-8.md:213 #, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "O detalhe importante a ser observado: enquanto um aplicativo estiver processando um evento, *ele não pode redesenhar* e *não pode processar outros eventos*." +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "" +"O detalhe importante a ser observado: enquanto um aplicativo estiver " +"processando um evento, *ele não pode redesenhar* e *não pode processar " +"outros eventos*." -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#: docs/en/tutorial/tutorial-8.md:216 #, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "Isso significa que qualquer lógica de usuário contida em um manipulador de eventos precisa ser concluída rapidamente. Qualquer atraso na conclusão do manipulador de eventos será observado pelo usuário como uma desaceleração (ou parada) nas atualizações da GUI. Se esse atraso for longo o suficiente, seu sistema operacional poderá informar isso como um problema - os ícones \"bola de praia\" do macOS e \"botão giratório\" do Windows são o sistema operacional informando que seu aplicativo está demorando demais em um manipulador de eventos." - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"Isso significa que qualquer lógica de usuário contida em um manipulador de " +"eventos precisa ser concluída rapidamente. Qualquer atraso na conclusão do " +"manipulador de eventos será observado pelo usuário como uma desaceleração (" +"ou parada) nas atualizações da GUI. Se esse atraso for longo o suficiente, " +"seu sistema operacional poderá informar isso como um problema - os ícones " +"\"bola de praia\" do macOS e \"botão giratório\" do Windows são o sistema " +"operacional informando que seu aplicativo está demorando demais em um " +"manipulador de eventos." + +#: docs/en/tutorial/tutorial-8.md:224 #, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "Operações simples como \"atualizar um rótulo\" ou \"recomputar o total das entradas\" são fáceis de concluir rapidamente. Entretanto, há muitas operações que não podem ser concluídas rapidamente. Se estiver realizando um cálculo matemático complexo, ou indexando todos os arquivos em um sistema de arquivos, ou realizando uma grande solicitação de rede, não é possível \"simplesmente fazer isso rapidamente\" - as operações são inerentemente lentas." - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"Operações simples como \"atualizar um rótulo\" ou " +"\"recomputar o total das entradas\" são fáceis de concluir rapidamente. " +"Entretanto, há muitas operações que não podem ser concluídas rapidamente. Se " +"estiver realizando um cálculo matemático complexo, ou indexando todos os " +"arquivos em um sistema de arquivos, ou realizando uma grande solicitação de " +"rede, não é possível \"simplesmente fazer isso rapidamente\" - as operações " +"são inerentemente lentas." + +#: docs/en/tutorial/tutorial-8.md:231 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "Então, como realizamos operações de longa duração em um aplicativo de GUI?" +msgstr "" +"Então, como realizamos operações de longa duração em um aplicativo de GUI?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 #, fuzzy msgid "Asynchronous programming" msgstr "Programação assíncrona" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#: docs/en/tutorial/tutorial-8.md:235 #, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "O que precisamos é de uma maneira de informar a um aplicativo no meio de um manipulador de eventos de longa duração que não há problema em liberar temporariamente o controle de volta para o loop de eventos, desde que possamos retomar de onde paramos. Cabe ao aplicativo determinar quando essa liberação pode ocorrer; mas se o aplicativo liberar o controle para o loop de eventos regularmente, poderemos ter um manipulador de eventos de longa duração *e* manter uma interface de usuário responsiva." - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"O que precisamos é de uma maneira de informar a um aplicativo no meio de um " +"manipulador de eventos de longa duração que não há problema em liberar " +"temporariamente o controle de volta para o loop de eventos, desde que " +"possamos retomar de onde paramos. Cabe ao aplicativo determinar quando essa " +"liberação pode ocorrer; mas se o aplicativo liberar o controle para o loop " +"de eventos regularmente, poderemos ter um manipulador de eventos de longa " +"duração *e* manter uma interface de usuário responsiva." + +#: docs/en/tutorial/tutorial-8.md:242 #, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "Podemos fazer isso usando a *programação assíncrona*. A programação assíncrona é uma maneira de descrever um programa que permite que o intérprete execute várias funções ao mesmo tempo, compartilhando recursos entre todas as funções executadas simultaneamente." +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" +"Podemos fazer isso usando a *programação assíncrona*. A programação " +"assíncrona é uma maneira de descrever um programa que permite que o " +"intérprete execute várias funções ao mesmo tempo, compartilhando recursos " +"entre todas as funções executadas simultaneamente." -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "As funções assíncronas (conhecidas como *co-rotinas*) precisam ser explicitamente declaradas como assíncronas. Elas também precisam declarar internamente quando existe uma oportunidade de mudar o contexto para outra co-rotina." +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "" +"As funções assíncronas (conhecidas como *co-rotinas*) precisam ser " +"explicitamente declaradas como assíncronas. Elas também precisam declarar " +"internamente quando existe uma oportunidade de mudar o contexto para outra " +"co-rotina." -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "Em Python, a programação assíncrona é implementada usando as palavras-chave `async` e `await` e o módulo [asyncio]{1} na biblioteca padrão. A palavra-chave `async` nos permite declarar que uma função é uma co-rotina assíncrona. A palavra-chave `await` fornece uma maneira de declarar quando existe uma oportunidade de mudar o contexto para outra co-rotina. O módulo [asyncio]{2} fornece algumas outras ferramentas e primitivas úteis para codificação assíncrona." - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"Em Python, a programação assíncrona é implementada usando as palavras-chave " +"`async` e `await` e o módulo [asyncio]{1} na biblioteca padrão. A palavra-" +"chave `async` nos permite declarar que uma função é uma co-rotina " +"assíncrona. A palavra-chave `await` fornece uma maneira de declarar quando " +"existe uma oportunidade de mudar o contexto para outra co-rotina. O módulo " +"[asyncio]{2} fornece algumas outras ferramentas e primitivas úteis para " +"codificação assíncrona." + +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "Tornando o tutorial assíncrono" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#: docs/en/tutorial/tutorial-8.md:263 #, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos `say_hello()` para que ele tenha a seguinte aparência:" +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "" +"Para tornar nosso tutorial assíncrono, modifique o manipulador de eventos " +"`say_hello()` para que ele tenha a seguinte aparência:" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" +msgid "" +"There are only three changes to this callback from the previous version:" msgstr "Há apenas 4 alterações nesse código em relação à versão anterior:" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#: docs/en/tutorial/tutorial-8.md:284 #, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "O cliente criado é um `AsyncClient()` assíncrono, em vez de um `Client()` síncrono. Isso informa ao `httpx` que ele deve operar no modo assíncrono, e não no modo síncrono." +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"O cliente criado é um `AsyncClient()` assíncrono, em vez de um `Client()` " +"síncrono. Isso informa ao `httpx` que ele deve operar no modo assíncrono, e " +"não no modo síncrono." -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#: docs/en/tutorial/tutorial-8.md:287 #, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "O gerenciador de contexto usado para criar o cliente é marcado como `async`. Isso informa ao Python que há uma oportunidade de liberar o controle à medida que o gerenciador de contexto entra e sai." +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "" +"O gerenciador de contexto usado para criar o cliente é marcado como `async`. " +"Isso informa ao Python que há uma oportunidade de liberar o controle à " +"medida que o gerenciador de contexto entra e sai." -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "A Toga permite que você use métodos regulares ou co-rotinas assíncronas como manipuladores; a Toga gerencia tudo nos bastidores para garantir que o manipulador seja chamado ou aguardado conforme necessário." +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "" +"A Toga permite que você use métodos regulares ou co-rotinas assíncronas como " +"manipuladores; a Toga gerencia tudo nos bastidores para garantir que o " +"manipulador seja chamado ou aguardado conforme necessário." -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "Se você salvar essas alterações e executar novamente o aplicativo (com o `briefcase dev` no modo de desenvolvimento ou atualizando e executando novamente o aplicativo empacotado), não haverá nenhuma alteração óbvia no aplicativo. No entanto, ao clicar no botão para acionar a caixa de diálogo, você poderá notar uma série de melhorias sutis:" +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"Se você salvar essas alterações e executar novamente o aplicativo (com o `" +"briefcase dev` no modo de desenvolvimento ou atualizando e executando " +"novamente o aplicativo empacotado), não haverá nenhuma alteração óbvia no " +"aplicativo. No entanto, ao clicar no botão para acionar a caixa de diálogo, " +"você poderá notar uma série de melhorias sutis:" -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#: docs/en/tutorial/tutorial-8.md:314 #, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." -msgstr "O botão retorna a um estado \"não clicado\", em vez de ficar preso em um estado \"clicado\"." +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." +msgstr "" +"O botão retorna a um estado \"não clicado\", em vez de ficar preso em um " +"estado \"clicado\"." -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "O ícone \"bola de praia\"/\"botão giratório\" não é exibido" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe +#: docs/en/tutorial/tutorial-8.md:317 #, fuzzy -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." -msgstr "Se você mover/redimensionar a janela do aplicativo enquanto aguarda a exibição da caixa de diálogo, a janela será redesenhada." +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." +msgstr "" +"Se você mover/redimensionar a janela do aplicativo enquanto aguarda a " +"exibição da caixa de diálogo, a janela será redesenhada." -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "Se você tentar abrir um menu de aplicativo, o menu será exibido imediatamente." +msgstr "" +"Se você tentar abrir um menu de aplicativo, o menu será exibido " +"imediatamente." -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "Próximos passos" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "Agora temos um aplicativo que é elegante e responsivo, mesmo quando está esperando em uma API lenta. Mas como podemos ter certeza de que o aplicativo continuará funcionando à medida que continuarmos a desenvolvê-lo? Como testamos nosso aplicativo? Consulte o [Tutorial 9][tutorial-9] para descobrir..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "O método é definido como `async def`, em vez de apenas `def`. Isso informa ao Python que o método é uma co-rotina assíncrona." - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "A chamada `get` é feita com uma palavra-chave `await`. Isso instrui o aplicativo que, enquanto aguardamos a resposta da rede, ele pode liberar o controle para o loop de eventos." - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "Tutorial 8 - Suavizando o Processo" diff --git a/locales/templates/SUMMARY.pot b/locales/templates/SUMMARY.pot new file mode 100644 index 00000000..bd2c9cbc --- /dev/null +++ b/locales/templates/SUMMARY.pot @@ -0,0 +1,85 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/templates/how-to/index.pot b/locales/templates/how-to/index.pot new file mode 100644 index 00000000..e6c38af8 --- /dev/null +++ b/locales/templates/how-to/index.pot @@ -0,0 +1,375 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/how-to/index.md:1 +msgid "Contributing to this tutorial" +msgstr "" + +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." +msgstr "" + +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" +msgstr "" + +#: docs/en/how-to/index.md:12 +msgid "Set up your development environment" +msgstr "" + +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 +msgid "Create a virtual environment" +msgstr "" + +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" +msgstr "" + +#: docs/en/how-to/index.md:78 +msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgstr "" + +#: docs/en/how-to/index.md:80 +msgid "Clone the BeeWare repository" +msgstr "" + +#: docs/en/how-to/index.md:82 +msgid "For updates to BeeWare documentation:" +msgstr "" + +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" +msgstr "" + +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 +msgid "Fork the BeeWare repository, and then:" +msgstr "" + +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 +msgid "(substituting your GitHub username)" +msgstr "" + +#: docs/en/how-to/index.md:128 +msgid "Install BeeWare tutorial docs dependencies" +msgstr "" + +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" +msgstr "" + +#: docs/en/how-to/index.md:162 +msgid "Install pre-commit" +msgstr "" + +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" +msgstr "" + +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" +msgstr "" + +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." +msgstr "" + +#: docs/en/how-to/index.md:352 +msgid "Now you are ready to start hacking on BeeWare docs!" +msgstr "" + +#: docs/en/how-to/index.md:354 +msgid "Building BeeWare's documentation" +msgstr "" + +#: docs/en/how-to/index.md:356 +msgid "Build documentation locally" +msgstr "" + +#: docs/en/how-to/index.md:358 +msgid "Once your development environment is set up, run:" +msgstr "" + +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:387 +msgid "Live documentation preview" +msgstr "" + +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" +msgstr "" + +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." +msgstr "" + +#: docs/en/how-to/index.md:422 +msgid "Documentation linting" +msgstr "" + +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" +msgstr "" + +#: docs/en/how-to/index.md:451 +msgid "This will validate the documentation does not contain:" +msgstr "" + +#: docs/en/how-to/index.md:453 +msgid "dead hyperlinks" +msgstr "" + +#: docs/en/how-to/index.md:454 +msgid "misspelled words" +msgstr "" + +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" +msgstr "" + +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." +msgstr "" + +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." +msgstr "" + +#: docs/en/how-to/index.md:468 +msgid "Rebuilding all documentation" +msgstr "" + +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" +msgstr "" + +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:499 +msgid "What to work on?" +msgstr "" + +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +msgstr "" + +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." +msgstr "" + +#: docs/en/how-to/index.md:510 +msgid "Submitting a pull request" +msgstr "" + +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." +msgstr "" + +#: docs/en/how-to/index.md:515 +msgid "Submit from a feature branch, not your `main` branch" +msgstr "" + +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." +msgstr "" + +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." +msgstr "" + +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." +msgstr "" + +#: docs/en/how-to/index.md:533 +msgid "To create a feature branch, run:" +msgstr "" + +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." +msgstr "" diff --git a/locales/templates/index.pot b/locales/templates/index.pot new file mode 100644 index 00000000..c5f102cf --- /dev/null +++ b/locales/templates/index.pot @@ -0,0 +1,152 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "" + +#: docs/en/index.md:3 +msgid "**Write Python. Run Anywhere.**" +msgstr "" + +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" + +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" + +#: docs/en/index.md:15 +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" + +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" + +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" + +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" + +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "" + +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" + +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" + +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" + +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "" + +#: docs/en/index.md:64 +msgid "What is BeeWare?" +msgstr "" + +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" + +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" + +#: docs/en/index.md:71 +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "" + +#: docs/en/index.md:74 +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" +msgstr "" + +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." +msgstr "" + +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" + +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" + +#: docs/en/index.md:87 +msgid "Let's go!" +msgstr "" + +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" diff --git a/locales/templates/tutorial/topics/camera-access.pot b/locales/templates/tutorial/topics/camera-access.pot new file mode 100644 index 00000000..ea2f2102 --- /dev/null +++ b/locales/templates/tutorial/topics/camera-access.pot @@ -0,0 +1,193 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:3 +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:26 +msgid "Start a new project" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:50 +msgid "Add code to take a photo" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:107 +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:130 +msgid "Adding device permissions" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:141 +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:157 +msgid "We can now generate and run the app:" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:183 +msgid "Adding more permissions" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." +msgstr "" diff --git a/locales/templates/tutorial/topics/custom-icons.pot b/locales/templates/tutorial/topics/custom-icons.pot new file mode 100644 index 00000000..0d2e54ad --- /dev/null +++ b/locales/templates/tutorial/topics/custom-icons.pot @@ -0,0 +1,209 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:3 +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:7 +msgid "Adding an icon" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" diff --git a/locales/templates/tutorial/topics/index.pot b/locales/templates/tutorial/topics/index.pot new file mode 100644 index 00000000..c3ed83b0 --- /dev/null +++ b/locales/templates/tutorial/topics/index.pot @@ -0,0 +1,55 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" +msgstr "" + +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." +msgstr "" + +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" +msgstr "" + +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." +msgstr "" + +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" +msgstr "" + +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." +msgstr "" + +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" +msgstr "" + +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" +msgstr "" diff --git a/locales/templates/tutorial/topics/testing.pot b/locales/templates/tutorial/topics/testing.pot new file mode 100644 index 00000000..178ed0ea --- /dev/null +++ b/locales/templates/tutorial/topics/testing.pot @@ -0,0 +1,189 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:3 +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:8 +msgid "Running the test suite" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:10 +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:21 +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:26 +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:112 +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:115 +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:133 +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:137 +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:199 +msgid "Excellent! Our `greeting()` utility method is working as expected." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:201 +msgid "Test driven development" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:203 +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:213 +msgid "Then, run the test suite with this new test:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:320 +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:335 +msgid "If we run the tests again, we'll now see our tests pass:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:398 +msgid "Runtime tests" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:400 +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:406 +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:529 +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" + +#: docs/en/tutorial/topics/testing.md:533 +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-0.pot b/locales/templates/tutorial/tutorial-0.pot new file mode 100644 index 00000000..b43f4a1e --- /dev/null +++ b/locales/templates/tutorial/tutorial-0.pot @@ -0,0 +1,288 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:6 +msgid "Install Python" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:8 +msgid "The first thing we'll need is a working Python interpreter." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:12 +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:18 +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:40 +msgid "If Python is installed, you'll see its version number." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:50 +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:54 +msgid "Support for Raspberry Pi is limited at this time." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:66 +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:71 +msgid "Support for Windows on ARM64 is limited at this time." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:73 +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:83 +msgid "Install dependencies" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:90 +msgid "Building BeeWare apps on macOS requires:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:106 +msgid "**Ubuntu / Debian**" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:113 +msgid "**Fedora**" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:119 +msgid "**Arch / Manjaro**" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:125 +msgid "**OpenSUSE Tumbleweed**" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:135 +msgid "Building BeeWare apps on Windows requires:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:147 +msgid "Set up a virtual environment" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:194 +msgid "If you're using PowerShell, and you receive the error:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:203 +msgid "Run [Windows PowerShell as Administrator]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:204 +msgid "Run `set-executionpolicy RemoteSigned`" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:205 +msgid "Select `Y` to change the execution policy." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:233 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-1.pot b/locales/templates/tutorial/tutorial-1.pot new file mode 100644 index 00000000..578206d8 --- /dev/null +++ b/locales/templates/tutorial/tutorial-1.pot @@ -0,0 +1,249 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:3 +msgid "We're ready to create our first application." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:5 +msgid "Install the BeeWare tools" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:57 +msgid "Bootstrap a new project" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:87 +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:90 +msgid "**Formal Name** - Accept the default value: `Hello World`." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:91 +msgid "**App Name** - Accept the default value: `helloworld`." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:92 +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:96 +msgid "**Project Name** - Accept the default value: `Hello World`." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:97 +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:99 +msgid "**Author** - Enter your own name here." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:100 +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:103 +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:109 +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:113 +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:116 +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:142 +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:149 +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:152 +msgid "Run the app in developer mode" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:154 +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:203 +msgid "This should open a GUI window:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:229 +msgid "If you encounter the error:" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:248 +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:254 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:256 +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-2.pot b/locales/templates/tutorial/tutorial-2.pot new file mode 100644 index 00000000..a271c92a --- /dev/null +++ b/locales/templates/tutorial/tutorial-2.pot @@ -0,0 +1,350 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:3 +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:7 +msgid "What was generated" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:9 +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:12 +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:28 +msgid "This file does two things:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:31 +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:35 +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:54 +msgid "Let's go through this line by line:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:61 +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:65 +msgid "Then, we define a class:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:71 +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:76 +msgid "Next, we define a `startup()` method:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:83 +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:89 +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:92 +msgid "Next, we define a window into which we can put this empty box:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:98 +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:115 +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:123 +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:131 +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:135 +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:138 +msgid "Adding some content of our own" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:140 +msgid "Let's do something more interesting with our `HelloWorld` app." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:150 +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:185 +msgid "Let's look in detail at what has changed." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:187 +msgid "We're still creating a main box; however, we are now applying a style:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:193 +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:213 +msgid "Next, we define a couple of widgets:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:223 +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:229 +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:233 +msgid "Next, we define a box to hold these two widgets:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:241 +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:246 +msgid "Now we define a button:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:259 +msgid "Then, we add the name box and the button to the main box:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:266 +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:276 +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:286 +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:290 +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:326 +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:332 +msgid "This should open a GUI window:" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:358 +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:367 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:369 +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-3.pot b/locales/templates/tutorial/tutorial-3.pot new file mode 100644 index 00000000..3d126663 --- /dev/null +++ b/locales/templates/tutorial/tutorial-3.pot @@ -0,0 +1,436 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:3 +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:7 +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:12 +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:15 +msgid "Creating your application scaffold" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:17 +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:85 +msgid "If you receive an error that reads something like:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:124 +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:127 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:127 +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:168 +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:172 +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:176 +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:181 +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:186 +msgid "Building your application" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:188 +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:205 +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:239 +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:256 +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:262 +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:273 +msgid "Running your app" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:275 +msgid "You can now use Briefcase to run your application:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:354 +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:357 +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:370 +msgid "Building your installer" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:372 +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:410 +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:417 +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:425 +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:433 +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:455 +msgid "The `dist` folder will contain the `.deb` file that was generated." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:457 +msgid "If you're on a RHEL-based distribution, you'll see:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:484 +msgid "The `dist` folder will contain the `.rpm` file that was generated." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:486 +msgid "If you're on an Arch-based distribution, you'll see:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:504 +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:507 +msgid "Other Linux distributions aren't currently supported for packaging." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:509 +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:513 +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:517 +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:524 +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:528 +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:538 +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:575 +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:585 +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:589 +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:597 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-4.pot b/locales/templates/tutorial/tutorial-4.pot new file mode 100644 index 00000000..864d44bd --- /dev/null +++ b/locales/templates/tutorial/tutorial-4.pot @@ -0,0 +1,208 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:3 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:10 +msgid "So - how do you update your installed app when you make code changes?" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:12 +msgid "Updating application code" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:14 +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:18 +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:36 +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:38 +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:69 +msgid "However, if you run `briefcase run`, the dialog box won't appear." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:79 +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:140 +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:143 +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:148 +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:153 +msgid "Update and run in one step" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:155 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:166 +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:170 +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:182 +msgid "Then, modify the `say_hello` callback to use this new utility method:" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:194 +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:268 +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:272 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:274 +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/android.pot b/locales/templates/tutorial/tutorial-5/android.pot new file mode 100644 index 00000000..f97adde1 --- /dev/null +++ b/locales/templates/tutorial/tutorial-5/android.pot @@ -0,0 +1,278 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:3 +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:6 +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:11 +msgid "Create an Android app and compile it" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:13 +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:104 +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:113 +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:118 +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:184 +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:194 +msgid "Run the app on a virtual device" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:196 +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:200 +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:246 +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:250 +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:259 +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:269 +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:280 +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:290 +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:300 +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:309 +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:314 +msgid "Run the app on a physical device" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:316 +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:320 +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:324 +msgid "Enable developer options" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:325 +msgid "Enable USB debugging" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:327 +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:330 +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:381 +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:390 +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:393 +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:401 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/iOS.pot b/locales/templates/tutorial/tutorial-5/iOS.pot new file mode 100644 index 00000000..b9dc8c0d --- /dev/null +++ b/locales/templates/tutorial/tutorial-5/iOS.pot @@ -0,0 +1,110 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:13 +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:46 +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:50 +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:66 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:116 +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:127 +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:136 +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:144 +msgid "Or, you can name a specific device UDID:" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:150 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/index.pot b/locales/templates/tutorial/tutorial-5/index.pot new file mode 100644 index 00000000..9469d3d7 --- /dev/null +++ b/locales/templates/tutorial/tutorial-5/index.pot @@ -0,0 +1,40 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:3 +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:9 +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:13 +msgid "iOS applications can only be compiled on macOS." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-6.pot b/locales/templates/tutorial/tutorial-6.pot new file mode 100644 index 00000000..1a8b6463 --- /dev/null +++ b/locales/templates/tutorial/tutorial-6.pot @@ -0,0 +1,126 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:3 +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:10 +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:17 +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:22 +msgid "Deploying as a web app" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:24 +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:156 +msgid "If you enter your name and click the button, a dialog will appear." +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:158 +msgid "How does this work?" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:160 +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:166 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:174 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:176 +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-7.pot b/locales/templates/tutorial/tutorial-7.pot new file mode 100644 index 00000000..eb16c606 --- /dev/null +++ b/locales/templates/tutorial/tutorial-7.pot @@ -0,0 +1,420 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:3 +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:8 +msgid "Let's modify our app to include a third-party library." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:10 +msgid "Adding a package" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:23 +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:30 +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:43 +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:126 +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:192 +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:195 +msgid "Running the updated app" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:197 +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 +msgid "Update the code in the packaged app:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 +msgid "Rebuild the app:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 +msgid "And finally, run the app:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 +msgid "However, when the app runs, you'll see an error in the console:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 +msgid "And finally, run the app (selecting a simulator when prompted):" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:444 +msgid "However, when the app runs, you'll see an error in the console" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:462 +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:468 +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:477 +msgid "So - we need to tell Briefcase that our app has an external dependency." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:479 +msgid "Updating dependencies" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:481 +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:485 +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:498 +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:502 +msgid "Modify the `requires` setting so that it reads:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:510 +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:515 +msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:516 +msgid "A range of library versions (e.g., `\"faker>=37\"`);" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:517 +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:519 +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:522 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:534 +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:539 +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:663 +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:668 +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:674 +msgid "Third-Party Python Packages for Mobile and Web" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:683 +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:719 +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:723 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." +msgstr "" diff --git a/locales/templates/tutorial/tutorial-8.pot b/locales/templates/tutorial/tutorial-8.pot new file mode 100644 index 00000000..450e1a5c --- /dev/null +++ b/locales/templates/tutorial/tutorial-8.pot @@ -0,0 +1,470 @@ +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:15 +msgid "Accessing an API" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:59 +msgid "Add an import to the top of the `app.py` to import `httpx`:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:65 +msgid "Then modify the `say_hello()` callback so it looks like this:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:86 +msgid "make a GET request on the JSON placeholder API to obtain post 42;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:87 +msgid "decode the response as JSON;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:88 +msgid "extract the body of the post; and" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:176 +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:181 +msgid "GUI Event Loops" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:183 +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:188 +msgid "A GUI app is, fundamentally, a single loop that looks something like:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:196 +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:199 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:206 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:213 +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:216 +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:224 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:231 +msgid "So - how do we perform long-lived operations in a GUI application?" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:233 +msgid "Asynchronous programming" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:235 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:242 +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:247 +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:251 +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:261 +msgid "Making the tutorial asynchronous" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:263 +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:282 +msgid "" +"There are only three changes to this callback from the previous version:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:284 +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:287 +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:305 +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:309 +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:314 +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:317 +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:319 +msgid "If you try to open an app menu, the menu will appear immediately." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:369 +msgid "Next steps" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:374 +msgid "Created a new GUI app project;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:375 +msgid "Run that app in development mode;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:376 +msgid "Built the app as a standalone binary for a desktop operating system;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:377 +msgid "Packaged that project for distribution to others;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:378 +msgid "Run the app on a mobile simulator and/or device;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:379 +msgid "Run the app as a web app;" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:380 +msgid "Added a third-party dependency to your app; and" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:381 +msgid "Modified the app so that it remains responsive." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:383 +msgid "So - where to from here?" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." +msgstr "" diff --git a/locales/zh_CN/LC_MESSAGES/SUMMARY.po b/locales/zh_CN/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/zh_CN/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po index dbb4e824..4bf8d05b 100644 --- a/locales/zh_CN/LC_MESSAGES/how-to/index.po +++ b/locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: zh_CN\n" "Language-Team: zh_CN \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po index 80e8bdfd..7ec27545 100644 --- a/locales/zh_CN/LC_MESSAGES/index.po +++ b/locales/zh_CN/LC_MESSAGES/index.po @@ -1,98 +1,176 @@ - msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-07-07 01:01+0000\n" "Last-Translator: John \n" -"Language: zh_CN\n" -"Language-Team: Chinese (Simplified Han script) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Simplified Han script) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "欢迎来到 BeeWare 教程!" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "欢迎来到 BeeWare 教程! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 msgid "**Write Python. Run Anywhere.**" msgstr "**用 Python 编写。随处运行。**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "欢迎来到 BeeWare!在本教程中,我们将使用 Python 构建一个图形用户界面,并将其部署为桌面应用程序、移动应用程序和单页网页应用程序。我们还将探讨如何使用 BeeWare 工具执行应用程序开发者需要做的一些常见任务,例如测试你的应用。" +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"欢迎来到 BeeWare!在本教程中,我们将使用 Python " +"构建一个图形用户界面,并将其部署为桌面应用程序、移动应用程序和单页网页应用程" +"序。我们还将探讨如何使用 BeeWare " +"工具执行应用程序开发者需要做的一些常见任务,例如测试你的应用。" + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" + +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" + +#: docs/en/index.md:15 +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"如果您不熟悉中文,本教程提供了以下语言的翻译:[Deutsch]{1} (德语)、" +"[Español]{2} (西班牙语)、[Français]{3} (法语)、[Italiano]{4} " +"(意大利语)、[Português]{5} (葡萄牙语)、[中文(简体)]{6} (中文(简体))" +"和 [中文(繁體)]{7} (中文(繁体))。" + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "有翻译版本" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "如果您不熟悉中文,本教程提供了以下语言的翻译:[Deutsch]{1} (德语)、[Español]{2} (西班牙语)、[Français]{3} (法语)、[Italiano]{4} (意大利语)、[Português]{5} (葡萄牙语)、[中文(简体)]{6} (中文(简体))和 [中文(繁體)]{7} (中文(繁体))。" +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "这是一份机器翻译!" +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "本教程版本由机器翻译生成。我们知道这并不理想,但我们认为糟糕的翻译总比没有翻译好。" +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "本教程版本由机器翻译生成。我们知道这并不理想,但我们认为糟糕的翻译总比没有翻" +"译好。" + +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"如果您想帮助改进翻译,请联系我们!我们在 [Discord]{1} 中有一个 " +"`#translations` 频道;在那儿介绍自己,我们会邀请您加入翻译团队。" -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "如果您想帮助改进翻译,请联系我们!我们在 [Discord]{1} 中有一个 `#translations` 频道;在那儿介绍自己,我们会邀请您加入翻译团队。" +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "这是一份翻译!" +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "本文档是英文文档的翻译。翻译已由人工审核,但较新的部分可能是由机器翻译生成的,或者根本未翻译。" +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "本文档是英文文档的翻译。翻译已由人工审核,但较新的部分可能是由机器翻译生成的" +",或者根本未翻译。" -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:64 msgid "What is BeeWare?" msgstr "什么是 BeeWare?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare 并不是一个单独的产品、工具或库 (library),它是一系列工具和库的集合:每个工具和库都能协同工作,帮助您编写跨平台、具有本地图形用户界面的 Python 应用程序。它包括:" +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"BeeWare 并不是一个单独的产品、工具或库 " +"(library),它是一系列工具和库的集合:每个工具和库都能协同工作,帮助您编写跨平" +"台、具有本地图形用户界面的 Python 应用程序。它包括:" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1},一个跨平台控件工具包;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" +#: docs/en/index.md:71 +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" msgstr "[Briefcase]{1},一个用于将 Python 项目打包为可分发给最终用户的的成品的工具;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +#: docs/en/index.md:74 +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" msgstr "用于访问平台原生库的库(如 [Rubicon ObjC]{1});" -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." msgstr "预编译的 Python 版本,可在官方 Python 安装程序不可用的平台上使用。" -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "在这个教程中,我们将使用所有这些工具,但作为用户,你只需要与前两个(Toga 和 Briefcase)互动。然而,每个工具也可以单独使用 - 例如,你可以使用Briefcase部署应用程序,而不使用 Toga 作为 GUI 工具包。" +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"在这个教程中,我们将使用所有这些工具,但作为用户,你只需要与前两个(Toga 和 " +"Briefcase)互动。然而,每个工具也可以单独使用 - " +"例如,你可以使用Briefcase部署应用程序,而不使用 Toga 作为 GUI 工具包。" -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "BeeWare 套件可用于 macOS、Windows、Linux(使用GTK)上;在移动平台如 Android 和 iOS 上;以及在 Web 上。" +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "" +"BeeWare 套件可用于 macOS、Windows、Linux(使用GTK)上;在移动平台如 Android " +"和 iOS 上;以及在 Web 上。" -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "让我们开始吧!" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "准备好亲身体验 BeeWare 了吗?[让我们用 Python 构建一个跨平台应用程序!][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "欢迎来到 BeeWare 教程!" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po index 8498486f..d80d2ae9 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,140 +1,202 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-08-09 01:02+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" -msgstr "使用相机" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +#: docs/en/tutorial/topics/camera-access.md:3 +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." msgstr "" "几乎每一台现代计算机都配备某种类型的摄像头。在本教程中,我们将编写一个新程序" ",使该程序能够请求访问摄像头、拍摄照片,然后在这个新的应用程序当中显示所拍摄" "的照片。" -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" -msgstr "本教程不适用于所有平台!" +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." msgstr "遗憾的是,目前本教程仅适用于 macOS 系统和 Android。" -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." msgstr "" "虽然所有 iPhone 都有摄像头,iOS *虚拟机*\\ 没有正常工作的摄像头。Windows 与 " "Linux 设备也有摄像头,但 Toga 目前不提供在这些平台上访问摄像头的能力。" -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." msgstr "这里展示的代码可以在 Windows 或 Linux 上运行,但是当您尝试照相时,它会报错。" -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." msgstr "这段代码在 iOS 设备上会正常工作,但部署到 iOS 虚拟器时,它将无法正常拍照。" -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." msgstr "" -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" msgstr "" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +#: docs/en/tutorial/topics/camera-access.md:107 +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." msgstr "" -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." msgstr "" -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." msgstr "" -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "添加设备权限" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." msgstr "" -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." msgstr "" -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#: docs/en/tutorial/topics/camera-access.md:141 +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" msgstr "" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." msgstr "" -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "我们现在可以生成并运行应用程序:" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" +msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." msgstr "" -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 +#, fuzzy msgid "Adding more permissions" -msgstr "" +msgstr "添加设备权限" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." msgstr "" -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" +#~ msgid "Using the camera" +#~ msgstr "使用相机" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po index f22e2392..9e989c6a 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,47 +2,61 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-08-09 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" -msgstr "自定义图标" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" +msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "我们在主教程中开发的应用在打包时使用了默认的 “灰色蜜蜂” 图标。让我们通过配置使用我们自己的图标来个性化此应用程序。" +#: docs/en/tutorial/topics/custom-icons.md:3 +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "我们在主教程中开发的应用在打包时使用了默认的 “灰色蜜蜂” " +"图标。让我们通过配置使用我们自己的图标来个性化此应用程序。" -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 msgid "Adding an icon" msgstr "添加图标" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." msgstr "" "每个平台都使用不同的应用程序图标格式 -- 有些还需要\\ *多个*\\ " "不同大小和形状的。为此考虑,Briefcase " "提供了一种简短的方法,可以配置一次图标,并让这种定义扩充到每个单个平台的所有" "所需要的图标。" -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" -"编辑您的 `project.toml`,在 `[tool.briefcase.app.helloworld]` " -"配置部分中,在 `sources` 的正上方添加一个 `icon` 配置项:" +"编辑您的 `project.toml`,在 `[tool.briefcase.app.helloworld]` 配置部分中,在 " +"`sources` 的正上方添加一个 `icon` 配置项:" -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" "图标配置时,无需指定任何扩展文件名。这里的值将会被作为前缀使用;每个平台将会" "在此前缀基础上添加更多项目,以构建在那个平台上所需的文件。有些平台需要\\ " @@ -50,106 +64,163 @@ msgstr "" "图标文件;在这种情况下,前缀将与文件大小和变种结合在一起,生成使用的图标列表" "。" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" "我们现在可以重新运行 `briefcase update` — 但这次,我们传入 `--update-" "resources` 标志,以告诉 Briefcase 我们想要安装新的应用资源(图标):" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" -msgstr "Android" - -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" -msgstr "在浅蓝背景上的绿蛇图标" +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" +msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**即将推出**" +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." +msgstr "" -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 [Tutorial 11` 了解更多..." +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" +msgstr "" -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "教程 10 - 制作属于自己的应用程序" +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" +msgstr "" -#~ msgid "Next steps" -#~ msgstr "下一步" +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." +msgstr "" -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" + +#~ msgid "Customizing icons" +#~ msgstr "自定义图标" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po index bc95b01c..a1c425fa 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po @@ -1,54 +1,59 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-05 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" -msgstr "更进一步" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" +msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "想在一些主题更加深入吗?这里有一些探索应用程序开发的常见方面的教程。教程互相" "独立,可以任意顺序完成,但它们都假设您已学习了主教程。" -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" -msgstr "自定义图标" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" +msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "替换“灰蜜蜂”图标以自定义您的应用程序的外观。" -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" -msgstr "应用测试" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" +msgstr "" -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" -msgstr "怎样确保您的应用程序始终正常工作?向您的项目加入一个测试组!" +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." +msgstr "使用在移动或桌面设备上的相机在您的应用程序中拍与查看图片。" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" -msgstr "相机访问" +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" +msgstr "" -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." -msgstr "使用在移动或桌面设备上的相机在您的应用程序中拍与查看图片。" +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" +msgstr "怎样确保您的应用程序始终正常工作?向您的项目加入一个测试组!" + +#~ msgid "Going further" +#~ msgstr "更进一步" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po index 64e47572..f15f5b2e 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po @@ -2,175 +2,223 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-07 05:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12-dev\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -msgid "Testing times" -msgstr "测试的时候" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" +msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." +#: docs/en/tutorial/topics/testing.md:3 +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." msgstr "" "大多数软件开发并不涉及编写新代码,而是修改现有代码。确保现有代码以我们期望的" "方式继续正常工作是软件开发过程的关键部分。" "确保应用程序行为的方法之一是使用一个\\ *测试套件*。" -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 msgid "Running the test suite" msgstr "运行测试套件" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" +#: docs/en/tutorial/topics/testing.md:10 +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" msgstr "" "原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:[" "`src`\\ 和\\ `tests`。`src`\\ 文件夹包含应用程序的代码;`tests`\\ " -"文件夹包含测试套件。在\\ `tests`\\ 文件夹中,有一个名为\\ `test_app.py`\\" -" 的文件,内容如下:" +"文件夹包含测试套件。在\\ `tests`\\ 文件夹中,有一个名为\\ `test_app.py`\\ " +"的文件,内容如下:" -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a `Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." +#: docs/en/tutorial/topics/testing.md:21 +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." msgstr "" -"这是一个 [Pytest]{1} *测试用例* - " -"用于验证应用程序的某些行为的可以执行的代码块。在本例中,该测试是一个占位符," -"并不测试我们应用程序的任何内容,但我们可以执行该测试。" -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" +#: docs/en/tutorial/topics/testing.md:26 +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" msgstr "" "我们可以使用 `briefcase dev` 的 `--test` " "选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` " "选项,以确保测试以来想也已安装:" -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:112 +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." msgstr "成功了!我们刚刚执行了一个测试,验证了 Python " "数学以我们预期的方式运行(真是松了一口气!)。" -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" +#: docs/en/tutorial/topics/testing.md:115 +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" msgstr "" "让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` " "方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容:" -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." +#: docs/en/tutorial/topics/testing.md:133 +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." msgstr "这将定义两个新测试,验证我们期望看到的两种行为:提供名称时的输出和名称为空时" "的输出。" -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "" -"现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` " +#: docs/en/tutorial/topics/testing.md:137 +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` " "选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +#: docs/en/tutorial/topics/testing.md:199 msgid "Excellent! Our `greeting()` utility method is working as expected." msgstr "非常好!我们的 `greeting()` 实用程序方法如期工作了。" -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 msgid "Test driven development" msgstr "测试驱动开发" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" +#: docs/en/tutorial/topics/testing.md:203 +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" msgstr "" "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位" "用户添加特殊的问候语。首先,我们可以在 `test_app.py` " "的底部为我们希望看到的新行为添加一个测试用例:" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 msgid "Then, run the test suite with this new test:" msgstr "然后,用这个新测试运行测试套件:" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" +#: docs/en/tutorial/topics/testing.md:320 +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" msgstr "" "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 " "\"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 " "\"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` " "的实现,使其具有新的行为:" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 msgid "If we run the tests again, we'll now see our tests pass:" msgstr "如果我们再次运行测试,就会发现测试通过了:" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 msgid "Runtime tests" msgstr "运行时测试" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." +#: docs/en/tutorial/topics/testing.md:400 +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." msgstr "" "到目前为止,我们一直在开发模式下运行测试。这在开发新功能时尤其有用,因为您可" "以快速迭代添加测试,并添加代码使测试通过。不过,在某些情况下,您会希望验证您" "的代码在捆绑应用程序环境下是否也能正确运行。" -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" +#: docs/en/tutorial/topics/testing.md:406 +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" msgstr "" -"`-test` 和 `-r` 选项也可以传递给 `run` 命令。如果使用 `briefcase run " -"--test " -"-r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发" -"环境中运行:" +"`-test` 和 `-r` 选项也可以传递给 `run` 命令。如果使用 `briefcase run --test " +"-r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发环" +"境中运行:" -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." +#: docs/en/tutorial/topics/testing.md:529 +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." msgstr "" -"与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r`" -" 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" +"与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r` " +"选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." +#: docs/en/tutorial/topics/testing.md:533 +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." msgstr "" "你也可以在移动后端使用 `--test` 选项:`briefcase run iOS --test` 和 `" "briefcase run android --test`` 都可以在你选择的移动设备上运行测试套件。" -#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -#~ msgstr "这只是您利用 BeeWare 项目提供的工具所能做的一些尝试。接下来的工作就靠您自己了!" - -#~ msgid "Some places to go from here:" -#~ msgstr "从这里可以去一些地方:" - -#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" - -#~ msgid "Details on the `options available when configuring your Briefcase project]{1}." -#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" - -#~ msgid "Next steps" -#~ msgstr "下一步" +#~ msgid "Testing times" +#~ msgstr "测试的时候" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po index 4b7daefe..0ab07a49 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po @@ -2,236 +2,330 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-08-09 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "教程 0 - 让我们开始吧!" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "在构建第一个使用 BeeWare 的应用程序之前,我们必须确保已具备运行 BeeWare 的所有先决条件。" +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "在构建第一个使用 BeeWare 的应用程序之前,我们必须确保已具备运行 BeeWare " +"的所有先决条件。" -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 msgid "Install Python" msgstr "安装 Python" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 msgid "The first thing we'll need is a working Python interpreter." msgstr "首先,我们需要一个正常工作的 Python 解释器。" -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." +#: docs/en/tutorial/tutorial-0.md:12 +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." msgstr "" -"如果您使用 macOS,您可以从 [Python 网站]{1}" -"_\\ 获取官方安装程序。您可以使用 Python 3.10 以上时任何版本,但避免使用 " -"Alpha、Beta 和候选版本。我们强烈建议使用 Python 3.13 或更新版本。" +"如果您使用 macOS,您可以从 [Python 网站]{1}_\\ 获取官方安装程序。您可以使用 " +"Python 3.10 以上时任何版本,但避免使用 Alpha、Beta 和候选版本。" +"我们强烈建议使用 Python 3.13 或更新版本。" -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." +#: docs/en/tutorial/tutorial-0.md:18 +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." msgstr "" -"安装 Python 也有很多其他不同的方法。您可以通过 [homebrew]{1} 安装 Python,或使用 [pyenv]{2}" -"来管理同一台机器上的多个 Python 安装,或使用 [Anaconda]{3} 或 [Miniconda]{4}。*怎么*\\ 安装 Python 并不重要," -"只要可以从终端运行 `python3` 并获取到支持的、正常工作的 Python 解释器即可。" +"安装 Python 也有很多其他不同的方法。您可以通过 [homebrew]{1} 安装 Python," +"或使用 [pyenv]{2}来管理同一台机器上的多个 Python 安装,或使用 [Anaconda]{3} " +"或 [Miniconda]{4}。*怎么*\\ 安装 Python 并不重要,只要可以从终端运行 " +"`python3` 并获取到支持的、正常工作的 Python 解释器即可。" -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "如果您使用的是 Linux,您将使用系统软件包管理器(Debian/Ubuntu/Mint 上的 `apt`,Fedora 上的 `dnf`,或 Arch 上的 `pacman`)安装 Python。" +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"如果您使用的是 Linux,您将使用系统软件包管理器(Debian/Ubuntu/Mint 上的 " +"`apt`,Fedora 上的 `dnf`,或 Arch 上的 `pacman`)安装 Python。" -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "您应该确保系统 Python 是 Python 3.9 或更高;如果不是(例如,Ubuntu 20.04 附带 Python 3.8),您需要将您的 Linux 发行版升级到更新版本。" +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"您应该确保系统 Python 是 Python 3.9 或更高;如果不是(例如,Ubuntu 20.04 " +"附带 Python 3.8),您需要将您的 Linux 发行版升级到更新版本。" -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 msgid "Support for Raspberry Pi is limited at this time." msgstr "目前对 Raspberry Pi 的支持有限。" -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "如果您使用的是 Windows,您可以从 [Python 网站]{1}\\ 获取官方安装程序。您可以使用 Python 3.9 到 3.13 的任何稳定版本。我们还建议避免使用 Alpha、Beta 和候选版本,除非你\\ *真的*\\ 知道自己在做什么。" +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"如果您使用的是 Windows,您可以从 [Python 网站]{1}\\ 获取官方安装程序。" +"您可以使用 Python 3.9 到 3.13 的任何稳定版本。我们还建议避免使用 Alpha、Beta " +"和候选版本,除非你\\ *真的*\\ 知道自己在做什么。" -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "目前对 Raspberry Pi 的支持有限。" -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{1}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "如果您使用的是 macOS 或 Windows 操作系统,如何安装 Python 并不重要,重要的是您能从操作系统的命令提示符/终端应用程序中运行 `python3`,并获得一个正常工作的 Python 解释器。" +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"安装 Python 也有很多其他不同的方法。您可以通过 [homebrew]{1} 安装 Python," +"或使用 [pyenv]{2}来管理同一台机器上的多个 Python 安装,或使用 [Anaconda]{3} " +"或 [Miniconda]{4}。*怎么*\\ 安装 Python 并不重要,只要可以从终端运行 " +"`python3` 并获取到支持的、正常工作的 Python 解释器即可。" -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 msgid "Install dependencies" msgstr "安装依赖项" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" msgstr "接下来,安装您的操作系统所需的其他依赖项:" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 msgid "Building BeeWare apps on macOS requires:" msgstr "在 macOS 上构建 BeeWare 应用程序需要:" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." -msgstr "**Git**,一个版本控制系统。上面已安装的 Xcode 或其命令行开发工具已经包含了Git。您可能需要第一次打开 Xcode 以后才能再命令行会话中使Git正常工作。如果仍然无法识别 Git,可能需要重启您的命令行会话。" +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." +msgstr "" +"**Git**,一个版本控制系统。上面已安装的 Xcode " +"或其命令行开发工具已经包含了Git。您可能需要第一次打开 Xcode " +"以后才能再命令行会话中使Git正常工作。如果仍然无法识别 " +"Git,可能需要重启您的命令行会话。" -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" msgstr "为支持本地开发,您将需要安装一些系统软件包。所需的软件包列表因发行版而异:" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 msgid "**Ubuntu / Debian**" msgstr "**Ubuntu 或 Debian**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 msgid "**Arch / Manjaro**" msgstr "**Arch 或 Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "**OpenSUSE Tumbleweed**" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 msgid "Building BeeWare apps on Windows requires:" msgstr "在 Windows 上构建 BeeWare 应用程序需要:" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." msgstr "**Git**,一个版本控制系统。您可以从 [git-scm.com]{1} 下载 Git。" -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "安装这些工具后,应确保重新启动任何终端会话。Windows 只在安装完成后开始的命令行,才会显示新安装的工具。" +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "安装这些工具后,应确保重新启动任何终端会话。Windows " +"只在安装完成后开始的命令行,才会显示新安装的工具。" -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 msgid "Set up a virtual environment" msgstr "建立虚拟环境" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "我们现在要创建一个虚拟环境--一个 \"沙箱\",用来将本教程的工作与我们的主 Python 安装隔离开来。如果我们将软件包安装到虚拟环境中,我们的主 Python 安装(以及计算机上的任何其他 Python 项目)将不会受到影响。如果我们把虚拟环境弄得一团糟,我们可以简单地删除它,然后重新开始,不会影响计算机上的任何其他 Python 项目,也不需要重新安装 Python。" +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"我们现在要创建一个虚拟环境--一个 \"沙箱\",用来将本教程的工作与我们的主 " +"Python 安装隔离开来。如果我们将软件包安装到虚拟环境中,我们的主 Python 安装(" +"以及计算机上的任何其他 Python " +"项目)将不会受到影响。如果我们把虚拟环境弄得一团糟,我们可以简单地删除它,然" +"后重新开始,不会影响计算机上的任何其他 Python 项目,也不需要重新安装 Python。" -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "如果您不在使用 Python 3.12,将指示中的 `-3.12` 替换为您在使用的版本号。" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "运行 PowerShell 脚本时出现的错误" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 msgid "If you're using PowerShell, and you receive the error:" msgstr "如果使用 PowerShell 时收到以下错误信息:" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "您的 Windows 账户没有运行脚本的权限。要解决这个问题:" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "[以管理员身份运行 PowerShell]{1}." -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "运行 `set-executionpolicy RemoteSigned`" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 msgid "Select `Y` to change the execution policy." msgstr "选择 `Y` 更改执行策略。" -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "完成后,您就可以在原来的 PowerShell 会话(或同一目录下的新会话)中重新运行 `beeware-venv\\scripts\\activate.ps1`。" +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"完成后,您就可以在原来的 PowerShell 会话(或同一目录下的新会话)中重新运行 " +"`beeware-venv\\scripts\\activate.ps1`。" -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "如果这样做成功了,您的提示符现在应该有所改变--它会带有 `(beeware-venv)` 前缀。这样,您就可以知道您当前正处于 BeeWare 虚拟环境中。无论何时运行本教程,都应确保虚拟环境已激活。如果没有激活,请重新执行前一条命令(`activate`)以重新激活虚拟环境。" +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"如果这样做成功了,您的提示符现在应该有所改变--它会带有 `(beeware-venv)` " +"前缀。这样,您就可以知道您当前正处于 BeeWare " +"虚拟环境中。无论何时运行本教程,都应确保虚拟环境已激活。如果没有激活,请重新" +"执行前一条命令(`activate`)以重新激活虚拟环境。" -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "替代虚拟环境" +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "如果您使用的是 Anaconda 或 miniconda,那么您可能对使用 conda 环境更为熟悉。您可能还听说过 `virtualenv`,它是 Python 内置的 `venv` 模块的前身。就像 Python 安装一样,如您使用的是 macOS 或 Windows,那么如何创建虚拟环境并不重要,只要有就够了。如果在 Linux 上,则应坚持使用 `venv` 和系统 Python。" +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序][tutorial-1]\\ 了。" - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "以管理员身份运行 Windows PowerShell。" - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "*版本控制系统 *Git**。它包含在您安装的 Xcode 或命令行开发工具中。" - -#~ msgid "Alternative Python distributions" -#~ msgstr "其他 Python 发行版" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "如果您使用 Linux,则\\ **必须**\\ 使用操作系统提供的系统 Python。您可以使用非系统 Python 完成本教程的\\ *大部分*\\ 内容,但是您无法将应用程序打包发布给他人。" - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "如果您使用的是 macOS,Xcode 或命令行开发工具中会包含最新版本的 Python。要检查是否已安装,请运行以下命令:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "如果已安装 Python,则会看到其版本号。否则,系统会提示您安装命令行开发工具。" +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序][tutorial-1]" +"\\ 了。" -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from [the Python website]{1}. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "您应该确保您使用的是 Python 3.9 或更高版本。如果不是,则需要升级 Python 安装。您可以从 [Python 官网]{1} 获取官方安装程序。从 3.9 开始,您可以使用任何稳定版本的 Python。我们建议避免使用 Alpha、Beta 和候选版本,除非你真的知道自己在做什么。" +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "教程 0 - 让我们开始吧!" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po index 5d50fcf0..079e6c1c 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po @@ -2,147 +2,215 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-08-03 20:51+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "教程 1 - 您的第一个应用程序" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 msgid "We're ready to create our first application." msgstr "我们准备好创建我们的第一个应用程序了。" -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 msgid "Install the BeeWare tools" msgstr "安装 BeeWare 工具" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" msgstr "" "首先,我们需要安装 **Briefcase**。Briefcase 是一款 BeeWare " "工具,可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" -"确保您在 [教程0][tutorial-0] 中创建的 `beeware-tutorial` 目录中," -"并已激活 `beeware-venv` 虚拟环境,然后运行:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "安装过程中可能出现的错误" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "" -"如果在安装过程中出现错误,几乎可以肯定是因为某些系统要求尚未安装。" -"请确保您已\\ [安装了所有您的平台的先决条件 ][install-dependencies]。" - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "请务必使用 `python -m pip`,而不是简单的 `pip`。Briefcase 需要确保它拥有最新版本的 `pip` 和 `setuptools` ,而裸调用的 `pip` 无法自我更新。如果您想了解更多,[Brett Cannon 有一篇关于这个问题的详细博文]{1}。" - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +"确保您在 [教程0][tutorial-0] 中创建的 `beeware-tutorial` 目录中,并已激活 " +"`beeware-venv` 虚拟环境,然后运行:" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"请务必使用 `python -m pip`,而不是简单的 `pip`。Briefcase " +"需要确保它拥有最新版本的 `pip` 和 `setuptools` ,而裸调用的 `pip` " +"无法自我更新。如果您想了解更多,[Brett Cannon 有一篇关于这个问题的详细博文]" +"{1}。" + +#: docs/en/tutorial/tutorial-1.md:57 msgid "Bootstrap a new project" msgstr "引导新项目" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "让我们开始我们的第一个 BeeWare 项目! 我们将使用 Briefcase 的 `new` 命令创建一个名为 **Hello World** 的应用程序。在命令提示符下运行以下命令:" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" +#: docs/en/tutorial/tutorial-1.md:87 +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" msgstr "Briefcase会要求我们提供新应用程序的一些详细信息。在本教程中,请使用以下内容:" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Formal Name** - 接受默认值:`Hello World`。" -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**App Name** - 接受默认值:`helloworld`。" -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." +#: docs/en/tutorial/tutorial-1.md:92 +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." msgstr "" "**Bundle Identifier(捆绑标识符)** - " "如果您拥有自己的域名,请按相反顺序输入该域名。(例如,如果您拥有域名 " "\"cupcakes.com\",则输入 `com.cupcakes` " "作为捆绑标识符)。如果您没有自己的域名,请接受默认值(`com.example`)。" -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Project Name** - 接受默认值:`Hello World`。" -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" -msgstr "**描述** - 接受默认值(或者,如果您想发挥自己的创造力,也可以提出自己的描述!)" +#: docs/en/tutorial/tutorial-1.md:97 +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" +msgstr "**描述** - " +"接受默认值(或者,如果您想发挥自己的创造力,也可以提出自己的描述!)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 msgid "**Author** - Enter your own name here." msgstr "**Author** - 在此处输入您自己的名字。" -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." +#: docs/en/tutorial/tutorial-1.md:100 +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." msgstr "" "**Author's Email** - " "输入您自己的电子邮件地址。这将用于配置文件、帮助文本以及向应用程序商店提交应" "用程序时需要电子邮件的任何地方。" -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." +#: docs/en/tutorial/tutorial-1.md:103 +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." msgstr "" "**URL** - 应用程序登陆页面的 URL。同样,如果您拥有自己的域名,请输入该域名的 " -"URL(包括 `https://`)。否则,接受默认 URL (`https://example.com/" -"helloworld`) 即可。此 " +"URL(包括 `https://`)。否则,接受默认 URL (`https://example.com/helloworld`)" +" 即可。此 " "URL(暂时)不需要实际存在;只有在您将应用程序发布到应用程序商店时才会使用。" -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." +#: docs/en/tutorial/tutorial-1.md:109 +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." msgstr "" "**Project License** (项目许可证) - " "接受默认许可证(BSD)。这不会影响本教程的任何操作,因此,如果您对许可证选择有" "特别强烈的意见,请随意选择其他许可证。" -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +#: docs/en/tutorial/tutorial-1.md:113 +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." msgstr "**GUI Framework** - 接受默认选项 Toga(BeeWare 自己的图形用户界面工具包)。" -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "接下来,Briefcase 会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受了所述的默认设置,那么你的文件系统应该是这样的:" +#: docs/en/tutorial/tutorial-1.md:116 +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "" +"接下来,Briefcase " +"会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受" +"了所述的默认设置,那么你的文件系统应该是这样的:" -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." +#: docs/en/tutorial/tutorial-1.md:142 +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." msgstr "" "该骨架实际上是一个功能完备的应用程序,无需添加任何其他内容。`src` " "文件夹包含应用程序的所有代码,`tests` " @@ -150,68 +218,74 @@ msgstr "" "如果您用编辑器打开 `pyproject.toml`,就会看到刚才提供给 Briefcase " "的配置详细信息。" -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." +#: docs/en/tutorial/tutorial-1.md:149 +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." msgstr "现在我们有了一个包含占位代码的应用程序,可以使用 Briefcase 来运行它。" -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 msgid "Run the app in developer mode" msgstr "在开发者模式下运行应用程序" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" -msgstr "移动到 `helloworld` 项目目录,告诉 Briefcase 以开发者(或 `dev`)模式启动项目:" +#: docs/en/tutorial/tutorial-1.md:154 +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" +msgstr "移动到 `helloworld` 项目目录,告诉 Briefcase 以开发者(或 " +"`dev`)模式启动项目:" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 msgid "This should open a GUI window:" msgstr "这将打开一个图形用户界面 (GUI) 窗口:" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "macOS 上的 Hello World 教程 1 窗口" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "在 Linux 上的 Hello World 教程 1 窗口" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "在 Windows 上的 Hello World 教程 1 窗口" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" -msgstr "无效的要求或 pip 无法连接" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" +msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "如果您遇到错误:" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." -msgstr "确认您在运行\\ [此教程支持的 Python 版本 ][install-python]。" +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." +msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "如果您的 Python 版本\\ *不*\\ 被支持,则需重新开始本教程。" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" +#: docs/en/tutorial/tutorial-1.md:248 +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" msgstr "" "关闭应用程序 -- " "可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" -"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** -- " -"就完成了!恭喜您,您刚刚使用 Python 编写了一个独立、原生的应用程序!" +"或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** -- 就完成了!恭喜您," +"您刚刚使用 Python 编写了一个独立、原生的应用程序!" -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." +#: docs/en/tutorial/tutorial-1.md:256 +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." msgstr "" "现在,我们有了一个在开发者模式下运行的应用程序。现在我们可以添加一些自己的逻" "辑,让应用程序做更有趣一些的事情。在\\ :doc:`教程 2` " "中,我们将为应用程序添加一个更有用的用户界面。" -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "BeeWare 工具之一是 **Briefcase**。Briefcase 可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "教程 1 - 您的第一个应用程序" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po deleted file mode 100644 index d80b871a..00000000 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-10.po +++ /dev/null @@ -1,147 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-30 17:27+0000\n" -"PO-Revision-Date: 2024-01-13 02:06+0000\n" -"Last-Translator: Sheep Cat \n" -"Language: zh_CN\n" -"Language-Team: Chinese (Simplified) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-10.rst:5 4490d66e8f014d7387572b3cf21051f3 -#, fuzzy -msgid "Tutorial 10 - Make this app your own" -msgstr "教程 10 - 制作属于自己的应用程序" - -#: ../../tutorial/tutorial-10.rst:7 9d669b8cfe15428fab16ad73fb72bc54 -#, fuzzy -msgid "So far, our app has used a default \"gray bee\" icon when it is packaged. Let's personalize our application by configuring it to use our own icon." -msgstr "到目前为止,我们的应用程序一直使用默认的 \"灰色蜜蜂 \"图标。如何更新应用程序,使用我们自己的图标?" - -#: ../../tutorial/tutorial-10.rst:11 16691757c29a4de6b233fa36cbbd717d -#, fuzzy -msgid "Adding an icon" -msgstr "添加图标" - -#: ../../tutorial/tutorial-10.rst:13 a14beed2dd68493bbde7e4573c8f747d -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:19 5dd01823f92a416ea9132296fe3c1329 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:25 42d72c24ab9c4c88a1a8cf338848acff -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:31 3575513b55fc4069beec0551875a11e4 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:37 ../../tutorial/tutorial-10.rst:204 -#: ../../tutorial/tutorial-10.rst:380 3a3f465bc82845bd9fcd232d769a7546 -#: b1453ed5d0ed49bc9af7711c56121557 cb98e9e207c94a08afadb1b0e1ae0878 -msgid "macOS" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:54 ../../tutorial/tutorial-10.rst:228 -#: ../../tutorial/tutorial-10.rst:395 340d85d5053a4cc19269563b8cb7ddd3 -#: 5a5e29a3baf14083bdc4079d39e3bf35 707ec2a30c43486eb9c640f1b8a0ebce -msgid "Linux" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:76 ../../tutorial/tutorial-10.rst:258 -#: ../../tutorial/tutorial-10.rst:410 5b1ba783115c405fa41e3c1cb2646c63 -#: 8758570de34045859904b70ed8b4eaba e8246440df0b4577a0d919912786b18d -msgid "Windows" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:93 ../../tutorial/tutorial-10.rst:283 -#: ../../tutorial/tutorial-10.rst:425 718de2ca2d734ea29c3d201d10cb5537 -#: e1da4f86873a4d1497ec94e4bc59a553 f07ab418351445a7acccfccaa60d6902 -msgid "Android" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:129 ../../tutorial/tutorial-10.rst:328 -#: ../../tutorial/tutorial-10.rst:439 7d8026d1813741aeaff54b01110296b6 -#: caba5994c07d42318fa397e5387cacb8 d83b549ec22447ac87fe4203c16af57d -msgid "iOS" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:161 710795c5e5e24f24b9f745692eea2611 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:165 407dfeadf4f64fa1883d0e6efda3ae13 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](./resources/icons.zip) (TODO: Verify path.), and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:184 b41c049eac4149db9d693a17c98ba25f -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:187 ba1e16882f46406fb206c986efba997d -msgid "Icon of green snake with a light blue background" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:191 36190ded79ab4b8facb6c7d125e99910 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:195 de8977a03bb245649a0db4e72699537c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:323 59ddcf9d12d54bb7888af960947125f3 -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:362 770fc67b202e414898dad70af6015ac1 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:371 1fccdfb6089a4dd89df2134ab55b6161 -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:453 4f85656e9dd446159ca59aade076cd61 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:457 cbcd518108964d04a905c571f5d12046 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:468 ead01201ed7b44d2879d42b9f6dba403 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-10.rst:470 78ff8572b7a84c98884b85a112ab0c59 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:473 2b36141b3cfd4ec2b897857699239e31 -msgid "Some places to go from here:" -msgstr "" - -#: ../../tutorial/tutorial-10.rst:475 671dcb52f97541cdb0ee9138caf877bd -msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -msgstr "" - -#: ../../tutorial/tutorial-10.rst:477 f150cd3c96c0400a972ae968ee960212 -msgid "Details on the [options available when configuring your Briefcase project]{1}." -msgstr "" - -#~ msgid "**Coming soon**" -#~ msgstr "**即将推出**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "现在,我们的桌面和手机上都有了一个带有自定义图标的应用程序!我们如何与其他人共享这个应用程序呢?请访问 :doc:`Tutorial 11` 了解更多..." - diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po index eabef812..8a08c5ed 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,151 +2,247 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-07-07 01:02+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -msgid "Tutorial 2 - Making it interesting" -msgstr "教程 2 - 使之更有趣" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "在 [教程 1` 中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。让我们看看 Briefcase 为我们生成了什么。" +#: docs/en/tutorial/tutorial-2.md:3 +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "" +"在 [教程 1` " +"中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。" +"让我们看看 Briefcase 为我们生成了什么。" -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 msgid "What was generated" msgstr "生成的内容" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "在 `src/helloworld` 目录中,你应该看到 3 个文件:`__init__.py`、`__main__.py` 和 `app.py`。" +#: docs/en/tutorial/tutorial-2.md:9 +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "" +"在 `src/helloworld` 目录中,你应该看到 3 个文件:`__init__.py`、`__main__.py`" +" 和 `app.py`。" -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` 将 `helloworld` 目录标记为可导入的 Python 模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld 目录定义了一个模块。" +#: docs/en/tutorial/tutorial-2.md:12 +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` 将 `helloworld` 目录标记为可导入的 Python " +"模块。这是一个空文件;它的存在告诉 Python 解释器 helloworld " +"目录定义了一个模块。" -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` 将 `helloworld` 模块标记为一种特殊的模块 - 可执行模块。如果你尝试使用 `python -m helloworld` 试图运行 `helloworld` 模块,Python 将从 `__main__.py` 文件开始执行。 `__main__.py` 的内容相对简单:" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "此文件做以下两件事:" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." -msgstr "它从 `helloworld` 应用程序导入了 `main` 方法。" +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." +msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." +#: docs/en/tutorial/tutorial-2.md:31 +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." msgstr "然后,它会开始应用程序的主循环,以便侦听用户输入(例如鼠标点击或键盘按键)。" -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +#: docs/en/tutorial/tutorial-2.md:35 +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" msgstr "更有趣的文件是 `app.py` - 它包含创建我们应用程序窗口的逻辑:" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 msgid "Let's go through this line by line:" msgstr "让我们逐行查看:" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." +#: docs/en/tutorial/tutorial-2.md:61 +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." msgstr "首先,我们导入 `toga` " "控件工具包,以及一些与样式相关的实用常量。目前我们的代码还没有使用这些——但我" "们很快就会用到它们。" -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 msgid "Then, we define a class:" msgstr "然后,我们定义了一个类 :" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "每个 Toga 应用程序都有一个 `toga.App` 实例,代表应用程序的运行实体。应用程序最终可能会管理多个窗口;但是对于简单的应用程序来说,可能只有一个主窗口。" +#: docs/en/tutorial/tutorial-2.md:71 +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"每个 Toga 应用程序都有一个 `toga.App` " +"实例,代表应用程序的运行实体。应用程序最终可能会管理多个窗口;但是对于简单的" +"应用程序来说,可能只有一个主窗口。" -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 msgid "Next, we define a `startup()` method:" msgstr "接下来,我们定义一个 `startup()` 方法 (startup意为启动):" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." +#: docs/en/tutorial/tutorial-2.md:83 +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." msgstr "" "startup 方法的第一件事是定义一个主盒子 (main box)。Toga 的布局方案类似于 " "HTML。你通过构造一系列盒子 (box) 来构建应用程序," "每个盒子包含其他盒子或实际的控件 (widgets)。然后,你对这些盒子应用样式 " "(styles),以定义它们将如何消耗可用的窗口空间 (window space)。" -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 -msgid "In this application, we define a single box, but we don't put anything into it." +#: docs/en/tutorial/tutorial-2.md:89 +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." msgstr "在这个应用程序中,我们定义了一个单独的空盒子 (我们没有放任何东西进去)。" -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 msgid "Next, we define a window into which we can put this empty box:" msgstr "接下来,我们定义一个可以将这个空盒子放入其中的窗口:" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "这将创建一个 `toga.MainWindow` 的实例,它的标题 (title) 将与应用程序的名称 (self.formal_name) 匹配。主窗口是 Toga 中的一种特殊窗口——它与应用程序的生命周期 (life cycle) 密切绑定。主窗口关闭,应用程序就退出了。主窗口也具有应用程序菜单(例如类似 Windows 这样的平台上,菜单栏是窗口的一部分)。" - -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" -msgstr "我的窗口怎么没有出现?" +#: docs/en/tutorial/tutorial-2.md:98 +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"这将创建一个 `toga.MainWindow` 的实例,它的标题 (title) 将与应用程序的名称 " +"(self.formal_name) 匹配。主窗口是 Toga 中的一种特殊窗口——" +"它与应用程序的生命周期 (life cycle) " +"密切绑定。主窗口关闭,应用程序就退出了。主窗口也具有应用程序菜单(例如类似 " +"Windows 这样的平台上,菜单栏是窗口的一部分)。" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." -msgstr "如果你写的代码中有错误,app的主窗口可能不会显示。要是真这样了,你可以找到先前启动app的终端窗口,并在其中按下\\ **Ctrl + C**,以终止app运行。之后,你就可以修改代码里的错误,再重启app。" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." +msgstr "" +"如果你写的代码中有错误,app的主窗口可能不会显示。要是真这样了,你可以找到先前" +"启动app的终端窗口,并在其中按下\\ **Ctrl + " +"C**,以终止app运行。之后,你就可以修改代码里的错误,再重启app。" + +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +#: docs/en/tutorial/tutorial-2.md:115 +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" msgstr "然后,我们将空盒子作为主窗口的内容,并指示应用程序显示我们的窗口:" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +#: docs/en/tutorial/tutorial-2.md:123 +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" msgstr "最后,我们定义一个 `main()` 方法。它将创建应用程序的实例:" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "这个 `main()` 方法由 `__main__.py` 导入并调用。它创建并返回我们的 `HelloWorld` 应用程序的实例。" +#: docs/en/tutorial/tutorial-2.md:131 +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "这个 `main()` 方法由 `__main__.py` 导入并调用。它创建并返回我们的 " +"`HelloWorld` 应用程序的实例。" -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "这是最简单可能的 Toga 应用程序。接下来,让我们在应用程序中加入一些我们自己的内容,使应用程序做一些有趣的事情。" +#: docs/en/tutorial/tutorial-2.md:135 +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "这是最简单可能的 Toga " +"应用程序。接下来,让我们在应用程序中加入一些我们自己的内容,使应用程序做一些" +"有趣的事情。" -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 msgid "Adding some content of our own" msgstr "添加一些我们自己的内容" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "对我们的 `HelloWorld` 应用程序,做些更有意思的事吧。" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." -msgstr "在做这些更改时,确保不要删除文件顶部的导入 (imports),也不要删除底部的 `main()`。您只需更新 `HelloWorld` 类。" +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +#: docs/en/tutorial/tutorial-2.md:144 +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." +msgstr "在做这些更改时,确保不要删除文件顶部的导入 (imports),也不要删除底部的 " +"`main()`。您只需更新 `HelloWorld` 类。" + +#: docs/en/tutorial/tutorial-2.md:150 +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" msgstr "修改 `src/helloworld/app.py` 中的 `HelloWorld` 类,使其看起来像这样:" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 msgid "Let's look in detail at what has changed." msgstr "让我们详细看看有哪些变化。" -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 msgid "We're still creating a main box; however, we are now applying a style:" msgstr "我们仍然在创建一个主盒子;然而,现在我们正在应用一个样式:" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." +#: docs/en/tutorial/tutorial-2.md:193 +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." msgstr "" "Toga 的内置布局系统称为 \"Pack\" (包)。它的行为很像 CSS (Cascading Style " "Sheets 层叠样式表)。你可以在一个层次结构中定义对象--在 HTML 中,对象是 " @@ -156,121 +252,160 @@ msgstr "" "`COLUMN` (垂直) 框,也就是说,它是一个将占用所有可用宽度 (width) 的框," "并会随着内容的添加而扩大高度 (height),但会尽量使高度更短。" -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "对于更高级的使用,Toga 也支持可以被这样使用的单独的样式对象:" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 msgid "Next, we define a couple of widgets:" msgstr "接下来,我们定义了一些控件:" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." +#: docs/en/tutorial/tutorial-2.md:223 +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." msgstr "" "在这里,我们定义了一个标签 (Label) 和一个文本输入框 " "(TextInput)。这两个控件都有与其相关的样式;标签左右会各有 5px " "的填充,上下没有填充。文本输入框是被标记为灵活的——也就是说,它将吸收其布局方" "向上所有可用的空间。" -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." +#: docs/en/tutorial/tutorial-2.md:229 +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." msgstr "文本输入框 (TextInput) 被分配为类的实例变量。这使我们能够轻松访问控件 " "(widget) 实例 - 这是我们马上就会使用的东西。" -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 msgid "Next, we define a box to hold these two widgets:" msgstr "接下来,我们定义了一个盒子来容纳这两个控件:" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "`name_box` 就像主盒子一样;然而,这次它是一个 `ROW` (水平) 盒子。这意味着内容将会被水平添加,并且它会尽量使其宽度尽可能窄。盒子也有一些空白填充——四周各为 5px。" +#: docs/en/tutorial/tutorial-2.md:241 +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"`name_box` 就像主盒子一样;然而,这次它是一个 `ROW` (水平) " +"盒子。这意味着内容将会被水平添加,并且它会尽量使其宽度尽可能窄。盒子也有一些" +"空白填充——四周各为 5px。" -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 msgid "Now we define a button:" msgstr "现在,我们定义一个按钮:" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "按钮的四周也有 5px 的填充。我们还定义了一个\\ **处理程序** (handler)——当按钮被按下时要调用的方法。" +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 msgid "Then, we add the name box and the button to the main box:" msgstr "然后,我们将 name box 和按钮添加到主盒子中:" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "这完成了我们的布局;其余的 startup 方法与以前一样 - 定义一个 `MainWindow` ,并将主盒子指定为窗口的内容:" +#: docs/en/tutorial/tutorial-2.md:266 +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "这完成了我们的布局;其余的 startup 方法与以前一样 - 定义一个 `MainWindow` " +",并将主盒子指定为窗口的内容:" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" +#: docs/en/tutorial/tutorial-2.md:276 +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" msgstr "" "我们需要做的最后一件事,就是定义按钮的处理器(handler)——它可以是任何方法、生成" "器或异步协程,且接受生成事件的控件 (widget) " "作为参数。只要按下按钮,就会调用这些处理器:" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "方法的主体是一个简单的打印语句——然而,它会使用名称输入的当前值,并使用该内容作为打印的文本。" - -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "现在我们已经做了这些更改,我们可以通过再次启动应用程序来看看它们的样子。和以前一样,我们将使用开发者模式:" +#: docs/en/tutorial/tutorial-2.md:286 +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "方法的主体是一个简单的打印语句——然而,它会使用名称输入的当前值,并使用该内容" +"作为打印的文本。" -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-2.md:290 +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "现在我们已经做了这些更改,我们可以通过再次启动应用程序来看看它们的样子。和以" +"前一样,我们将使用开发者模式:" + +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:326 +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." msgstr "" "你会注意到,这次\\ *没有*\\ 安装依赖项。Briefcase " "可以检测到已经被运行过的应用程序 -- " "为了节省时间,它只会运行应用程序,而不会安装依赖项。如果你在应用程序中添加了" -"新的依赖项,你可以在运行 `briefcase dev` 时通过 `-r` " -"选项来确保它们被安装。" +"新的依赖项,你可以在运行 `briefcase dev` 时通过 `-r` 选项来确保它们被安装。" -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#: docs/en/tutorial/tutorial-2.md:332 msgid "This should open a GUI window:" msgstr "这将打开一个图形用户界面 (GUI) 窗口:" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "在 MacOS 上的 Hello World 教程 2 窗口" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "在 Linux 上的 Hello World 教程 2 窗口" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "在 Windows 上的 Hello World 教程 2 窗口" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "如果在文本框中输入名称,并按下图形用户界面中的按钮,就会在启动程序的控制台中看到输出结果。" +#: docs/en/tutorial/tutorial-2.md:358 +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "如果在文本框中输入名称,并按下图形用户界面中的按钮,就会在启动程序的控制台中" +"看到输出结果。" -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" "在继续之前,关闭应用程序。和教程 1 " "一样,您可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" "或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In :doc:`Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "我们现在有了一个做一些更有趣的事情的应用程序,但它只能在我们自己的电脑上运行。让我们将这个应用程序打包,以供分发。在 :doc:`教程3` 中,我们将把应用程序打包成一个独立的安装程序,以供发送给朋友、客户,或上传到应用商店。" +#: docs/en/tutorial/tutorial-2.md:369 +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" + +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "教程 2 - 使之更有趣" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po index 8d09f934..27751ea9 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po @@ -2,263 +2,536 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-07-21 22:03+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -msgid "Tutorial 3 - Packaging for distribution" -msgstr "教程 3 - 打包与分发" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "到目前为止,我们一直在“开发者模式”下运行应用程序。这可以让我们轻松地在本地运行应用程序,但我们真正想要的是能将我们的应用程序提供给其他人。" +#: docs/en/tutorial/tutorial-3.md:3 +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "到目前为止,我们一直在“开发者模式”下运行应用程序。这可以让我们轻松地在本地运" +"行应用程序,但我们真正想要的是能将我们的应用程序提供给其他人。" -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "但是,我们不想教用户怎样安装 Python、创建虚拟环境、克隆 git 仓库和在开发者模式下运行 Briefcase。我们宁可只给他们一个安装程序,让应用程序能够正常运行。" +#: docs/en/tutorial/tutorial-3.md:7 +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"但是,我们不想教用户怎样安装 Python、创建虚拟环境、克隆 git " +"仓库和在开发者模式下运行 " +"Briefcase。我们宁可只给他们一个安装程序,让应用程序能够正常运行。" -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 -msgid "Briefcase can be used to package your application for distribution in this way." +#: docs/en/tutorial/tutorial-3.md:12 +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." msgstr "Briefcase 可用于打包应用程序,以便以这种方式发布。" -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 msgid "Creating your application scaffold" msgstr "创建应用程序脚手架" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "由于这是我们第一次打包应用程序,我们需要创建一些配置文件和其他脚手架来支持打包过程。在 `helloworld` 目录中,运行:" - -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" -msgstr "有关Python版本的错误" - -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 -msgid "If you receive an error that reads something like:" -msgstr "如果您收到类似如下的错误信息:" - -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." -msgstr "用于运行 Briefcase 的 Python 版本 (3.12) 不是系统 python3 (3.10)。" +#: docs/en/tutorial/tutorial-3.md:17 +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "由于这是我们第一次打包应用程序,我们需要创建一些配置文件和其他脚手架来支持打" +"包过程。在 `helloworld` 目录中,运行:" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." -msgstr "您将需要使用系统的 `python3` 重新创建您的虚拟环境。打包您的应用程序要求使用系统 Python。" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" -msgstr "您可能刚刚在终端上看到了几页内容滑过......刚刚发生了什么?Briefcase 做了以下工作:" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" +msgstr "" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "它生成了一个应用程序模板。除了实际应用程序的代码之外,构建本机安装程序还需要许多文件和配置。这些额外的脚手架对于同一平台上的每个应用程序几乎都是一样的,除了正在构建的实际应用程序的名称--因此,Briefcase 为其支持的每个平台提供了一个应用程序模板。这一步将推出模板,替换应用程序名称、捆绑 ID 和配置文件中的其他属性,以支持正在构建的平台。" +#: docs/en/tutorial/tutorial-3.md:85 +msgid "If you receive an error that reads something like:" +msgstr "如果您收到类似如下的错误信息:" -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "如果您对 Briefcase 提供的模板不满意,可以提供自己的模板。不过,在使用 Briefcase 的默认模板获得更多经验之前,您可能不想这样做。" +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." +msgstr "用于运行 Briefcase 的 Python 版本 (3.12) 不是系统 python3 (3.10)。" -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "它下载并安装了一个支持包。Briefcase 所采用的打包方法被描述为“最简单可行的方法”--它将一个完整、独立的 Python 解释器作为其构建的每个应用程序的一部分(除了了、 Linux 上的原生系统包构建)。这种打包方式在空间利用上略显不足--如果有 5 个应用程序使用 Briefcase 打包,那么就会有 5 份 Python 解释器副本。但是,这种方法保证了每个应用程序都是完全独立的,使已知的能与应用程序一起工作的特定 Python版本。" +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." +msgstr "您将需要使用系统的 `python3` 重新创建您的虚拟环境。" +"打包您的应用程序要求使用系统 Python。" + +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "同样,Briefcase 为每个平台提供了默认的支持包;如果需要,您可以提供自己的支持包,并将其作为构建过程的一部分。如果您需要启用 Python 解释器中的特定选项,或者如果您想从标准库中剥离运行时不需要的模块,您可能需要这样做。" +#: docs/en/tutorial/tutorial-3.md:124 +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" +msgstr "您可能刚刚在终端上看到了几页内容滑过......刚刚发生了什么?Briefcase " +"做了以下工作:" -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "Briefcase 维护支持包的本地缓存,因此一旦您下载了特定的支持包,该缓存副本将用于未来的构建。" +#: docs/en/tutorial/tutorial-3.md:127 +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"它生成了一个应用程序模板。除了实际应用程序的代码之外,构建本机安装程序还需要" +"许多文件和配置。这些额外的脚手架对于同一平台上的每个应用程序几乎都是一样的," +"除了正在构建的实际应用程序的名称--因此,Briefcase " +"为其支持的每个平台提供了一个应用程序模板。这一步将推出模板,替换应用程序名称" +"、捆绑 ID 和配置文件中的其他属性,以支持正在构建的平台。" -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." -msgstr "如上所述,当 Briefcase 将一个应用程序打包成 Linux 上的原生系统包(Linux 上的默认包格式),应用程序中将不会包含任何的支持包;应用程序将会使用将要被分发到的 Linux 发行版提供的 Python。" +#: docs/en/tutorial/tutorial-3.md:127 +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "" +"如果您对 Briefcase 提供的模板不满意,可以提供自己的模板。不过,在使用 " +"Briefcase 的默认模板获得更多经验之前,您可能不想这样做。" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "它\\ **安装应用程序的依赖项**。您的应用程序可以指定运行时所需的任何第三方模块。这些模块将会被用 `pip` 安装到应用程序的安装程序中。" +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"它下载并安装了一个支持包。Briefcase " +"所采用的打包方法被描述为“最简单可行的方法”--它将一个完整、独立的 Python " +"解释器作为其构建的每个应用程序的一部分(除了了、 Linux " +"上的原生系统包构建)。这种打包方式在空间利用上略显不足--如果有 5 " +"个应用程序使用 Briefcase 打包,那么就会有 5 份 Python " +"解释器副本。但是,这种方法保证了每个应用程序都是完全独立的," +"使已知的能与应用程序一起工作的特定 Python版本。" + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"同样,Briefcase " +"为每个平台提供了默认的支持包;如果需要,您可以提供自己的支持包,并将其作为构" +"建过程的一部分。如果您需要启用 Python " +"解释器中的特定选项,或者如果您想从标准库中剥离运行时不需要的模块,您可能需要" +"这样做。" -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "它\\ **安装您的应用程序代码**。您的应用程序将有自己的代码和资源(如运行时需要的图像);这些文件会被复制到安装程序中。" +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "Briefcase " +"维护支持包的本地缓存,因此一旦您下载了特定的支持包,该缓存副本将用于未来的构" +"建。" + +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." +msgstr "" +"如上所述,当 Briefcase 将一个应用程序打包成 Linux 上的原生系统包(Linux " +"上的默认包格式),应用程序中将不会包含任何的支持包;" +"应用程序将会使用将要被分发到的 Linux 发行版提供的 Python。" -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "最后,它还会\\ **添加安装程序本身所需的其他资源**。这包括需要附加到最终应用程序的图标和启动画面等。" +#: docs/en/tutorial/tutorial-3.md:168 +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "" +"它\\ " +"**安装应用程序的依赖项**。您的应用程序可以指定运行时所需的任何第三方模块。" +"这些模块将会被用 `pip` 安装到应用程序的安装程序中。" -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "完成上述操作后,如果查看项目目录,就会发现一个与平台(`macOS`, `linux`,或\\ `windows`)相对应的目录,其中包含附加文件。这就是应用程序的平台具体的打包配置。" +#: docs/en/tutorial/tutorial-3.md:172 +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "它\\ " +"**安装您的应用程序代码**。您的应用程序将有自己的代码和资源(如运行时需要的图" +"像);这些文件会被复制到安装程序中。" + +#: docs/en/tutorial/tutorial-3.md:176 +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "最后,它还会\\ " +"**添加安装程序本身所需的其他资源**。这包括需要附加到最终应用程序的图标和启动" +"画面等。" + +#: docs/en/tutorial/tutorial-3.md:181 +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"完成上述操作后,如果查看项目目录,就会发现一个与平台(`macOS`, `linux`,或\\ " +"`windows`)相对应的目录,其中包含附加文件。这就是应用程序的平台具体的打包配置" +"。" -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 msgid "Building your application" msgstr "构建您的应用程序" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "现在可以编译应用程序了。此步骤将执行任何使应用程序在目标平台上可执行所必须的二进制编译。" - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "在 macOS 上,` build`\\ 命令不需要\\ *编译*\\ 任何内容,但需要对二进制文件的内容进行(数字)签名,以便执行。这种签名是一种\\ *临时 (ad hoc)*\\ 签名--它只能在\\ *你的*\\ 机器上工作;如果你想将应用程序发布给其他人,就需要提供完整的签名。" +#: docs/en/tutorial/tutorial-3.md:188 +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "现在可以编译应用程序了。此步骤将执行任何使应用程序在目标平台上可执行所必须的" +"二进制编译。" -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "此步骤完成后,[build`\\ 文件夹将包含一个\\ `helloworld-0.0.1`\\ 文件夹,其中包含一个 Linux `/usr` 文件系统的镜像。这个文件系统镜像将包含一个\\ `bin`\\ 文件夹,里面有一个\\ `helloworld`\\ 二进制文件,以及支持二进制文件所需的\\ `lib`\\ 和\\ `share`\\ 文件夹。" +#: docs/en/tutorial/tutorial-3.md:205 +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"在 macOS 上,` build`\\ 命令不需要\\ *编译*\\ " +"任何内容,但需要对二进制文件的内容进行(数字)签名,以便执行。" +"这种签名是一种\\ *临时 (ad hoc)*\\ 签名--它只能在\\ *你的*\\ " +"机器上工作;如果你想将应用程序发布给其他人,就需要提供完整的签名。" -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "在 Windows 上,`build` 命令不需要\\ *编译*\\ 任何东西,但它确实需要写入一些元数据,以便应用程序知道它的名称、版本等。" +#: docs/en/tutorial/tutorial-3.md:239 +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"此步骤完成后,[build`\\ 文件夹将包含一个\\ `helloworld-0.0.1`\\ 文件夹," +"其中包含一个 Linux `/usr` 文件系统的镜像。这个文件系统镜像将包含一个\\ `bin`" +"\\ 文件夹,里面有一个\\ `helloworld`\\ 二进制文件,以及支持二进制文件所需的\\" +" `lib`\\ 和\\ `share`\\ 文件夹。" -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa -msgid "Triggering antivirus" -msgstr "触发杀毒软件" +#: docs/en/tutorial/tutorial-3.md:256 +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "在 Windows 上,`build` 命令不需要\\ *编译*\\ " +"任何东西,但它确实需要写入一些元数据,以便应用程序知道它的名称、版本等。" + +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "由于这些元数据是在 `create` 命令中直接写入从模板推出的预编译二进制文件的,因此可能会触发机器上运行的杀毒软件,从而阻止元数据的写入。在这种情况下,请指示杀毒软件允许工具(名为 `rcedit-x64.exe`)运行,并重新运行上述命令。" +#: docs/en/tutorial/tutorial-3.md:262 +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"由于这些元数据是在 `create` " +"命令中直接写入从模板推出的预编译二进制文件的,因此可能会触发机器上运行的杀毒" +"软件,从而阻止元数据的写入。在这种情况下,请指示杀毒软件允许工具(名为 " +"`rcedit-x64.exe`)运行,并重新运行上述命令。" -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:273 msgid "Running your app" msgstr "运行应用程序" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 msgid "You can now use Briefcase to run your application:" msgstr "现在您可以使用 Briefcase 运行应用程序了:" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 -msgid "This will start to run your native application, using the app bundle created by the `build` command." +#: docs/en/tutorial/tutorial-3.md:354 +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." msgstr "这将使用 `build` 命令的输出开始运行原生应用程序。" -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "你可能会注意到应用程序运行时的外观有一些细微差别。例如,操作系统显示的图标和名称可能与在开发者模式下运行时略有不同。这也是因为您使用的是打包的应用程序,而不仅仅是运行 Python 代码。从操作系统的角度来看,您现在运行的是“一个应用程序”,而不是“一个 Python 程序\"”,这也反映在应用程序的显示方式上。" +#: docs/en/tutorial/tutorial-3.md:357 +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"你可能会注意到应用程序运行时的外观有一些细微差别。例如,操作系统显示的图标和" +"名称可能与在开发者模式下运行时略有不同。这也是因为您使用的是打包的应用程序," +"而不仅仅是运行 Python " +"代码。从操作系统的角度来看,您现在运行的是“一个应用程序”,而不是“一个 Python " +"程序\"”,这也反映在应用程序的显示方式上。" -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" "在继续之前,关闭应用程序。和之前的教程步骤一样,您可以使用应用程序窗口上的关" "闭按钮、从应用程序的菜单栏选择关闭/退出、或在您运行 `briefcase dev` " "的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 msgid "Building your installer" msgstr "创建安装程序" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "现在,您可以使用 `package` 命令打包应用程序,以便发布。打包命令会执行将脚手架项目转换为最终可发布产品所需的编译工作。根据平台的不同,这可能涉及编译安装程序、执行代码签名或执行其他发布前任务。" +#: docs/en/tutorial/tutorial-3.md:372 +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"现在,您可以使用 `package` " +"命令打包应用程序,以便发布。打包命令会执行将脚手架项目转换为最终可发布产品所" +"需的编译工作。根据平台的不同,这可能涉及编译安装程序、执行代码签名或执行其他" +"发布前任务。" -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "`dist` 文件夹将包含一个名为 `Hello World-0.0.1.dmg` 的文件。如果在 Finder 中找到该文件,并双击其图标,就会加载 DMG,从而获得 Hello World 应用程序的副本,并链接到 `Applications` 文件夹以方便安装。将应用程序文件拖入 Applications,就安装好了应用程序。将 DMG 文件发送给朋友,他们应该也能完成同样的操作。" +#: docs/en/tutorial/tutorial-3.md:410 +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"`dist` 文件夹将包含一个名为 `Hello World-0.0.1.dmg` 的文件。如果在 Finder " +"中找到该文件,并双击其图标,就会加载 DMG,从而获得 Hello World " +"应用程序的副本,并链接到 `Applications` 文件夹以方便安装。将应用程序文件拖入 " +"Applications,就安装好了应用程序。将 DMG " +"文件发送给朋友,他们应该也能完成同样的操作。" -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "在本例中,我们使用了 `--adhoc-sign` 选项--也就是说,我们使用 *ad hoc* 凭据(仅在你的机器上有效的临时凭据)来签署我们的应用程序。我们这样做是为了让教程简单明了。设置代码签名身份有点麻烦,而且只有当你打算将应用程序发布给他人时\\ *才*\\ 需要。如果我们要发布一个真正的应用程序供他人使用,我们就需要指定真实的凭据。" +#: docs/en/tutorial/tutorial-3.md:417 +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"在本例中,我们使用了 `--adhoc-sign` 选项--也就是说,我们使用 *ad hoc* " +"凭据(仅在你的机器上有效的临时凭据)来签署我们的应用程序。我们这样做是为了让" +"教程简单明了。设置代码签名身份有点麻烦," +"而且只有当你打算将应用程序发布给他人时\\ *才*\\ " +"需要。如果我们要发布一个真正的应用程序供他人使用,我们就需要指定真实的凭据。" -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a macOS code signing identity]{1}." -msgstr "当您准备发布真正的应用程序时,请查看关于 [设置 macOS 代码签名身份]{1} 的 Briefcase 操作指南。" +#: docs/en/tutorial/tutorial-3.md:425 +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "软件包步骤的输出会因 Linux 发行版的不同而略有不同。如果你使用的是 Debian 衍生发行版,你会看到:" +#: docs/en/tutorial/tutorial-3.md:433 +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "软件包步骤的输出会因 Linux 发行版的不同而略有不同。如果你使用的是 Debian " +"衍生发行版,你会看到:" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "`dist` 文件夹将包含生成的 `.deb` 文件。" -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "如果你使用的是基于 RHEL 的发行版,你就会看到:" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "`dist` 文件夹将包含生成的 `.rpm` 文件。" -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 msgid "If you're on an Arch-based distribution, you'll see:" msgstr "如果你使用的是基于 Arch 的发行版,你就会看到:" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +#: docs/en/tutorial/tutorial-3.md:504 +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." msgstr "`dist` 文件夹将包含生成的 `.pkg.tar.zst` 文件。" -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 msgid "Other Linux distributions aren't currently supported for packaging." msgstr "目前不支持其他 Linux 发行版的打包。" -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "如果你想为你正在使用的 Linux 发行版之外的其他发行版构建软件包,Briefcase 也能提供帮助,但你需要安装 Docker。" +#: docs/en/tutorial/tutorial-3.md:509 +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "如果你想为你正在使用的 Linux 发行版之外的其他发行版构建软件包,Briefcase " +"也能提供帮助,但你需要安装 Docker。" -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "[Docker Engine]{1} 的官方安装程序适用于一系列 Unix 发行版。请按照您所在平台的说明进行操作;不过,请确保不要在 rootless 模式下安装 Docker。" +#: docs/en/tutorial/tutorial-3.md:513 +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"[Docker Engine]{1} 的官方安装程序适用于一系列 Unix " +"发行版。请按照您所在平台的说明进行操作;不过,请确保不要在 rootless " +"模式下安装 Docker。" -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +#: docs/en/tutorial/tutorial-3.md:517 +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" msgstr "安装好 Docker 后,你就可以启动 Linux 容器了,例如:" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "将显示 Ubuntu 22.04 Docker 容器中的 Unix 提示符(类似于 `root@84444e31cff9:/#`)。键入 Ctrl-D 退出 Docker 并返回本地 shell。" +#: docs/en/tutorial/tutorial-3.md:524 +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"将显示 Ubuntu 22.04 Docker 容器中的 Unix 提示符(类似于 " +"`root@84444e31cff9:/#`)。键入 Ctrl-D 退出 Docker 并返回本地 shell。" -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "一旦安装了 Docker,只要将 Docker 镜像作为参数传递,就可以使用 Briefcase 为 Briefcase 支持的任何 Linux 发行版构建软件包。例如,要为 Ubuntu 22.04 (Jammy) 构建一个 DEB 包,无论你使用的是哪种操作系统,你都可以运行:" +#: docs/en/tutorial/tutorial-3.md:528 +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"一旦安装了 Docker,只要将 Docker 镜像作为参数传递,就可以使用 Briefcase 为 " +"Briefcase 支持的任何 Linux 发行版构建软件包。例如,要为 Ubuntu 22.04 (Jammy) " +"构建一个 DEB 包,无论你使用的是哪种操作系统,你都可以运行:" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "这将下载所选操作系统的 Docker 镜像,创建一个能够运行 Briefcase 构建的容器,并在镜像中构建应用程序软件包。完成后,[dist` 文件夹将包含目标 Linux 发行版的软件包。" +#: docs/en/tutorial/tutorial-3.md:538 +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"这将下载所选操作系统的 Docker 镜像,创建一个能够运行 Briefcase " +"构建的容器,并在镜像中构建应用程序软件包。完成后,[dist` 文件夹将包含目标 " +"Linux 发行版的软件包。" -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "在本例中,我们没有签署我们的应用程序。因此,当您使用安装程序时,您将收到系统警告,该应用程序来自未知开发人员。我们这样做是为了保持教程的简单性。设置代码签名身份比较复杂,只有当您打算将您的应用程序分发给其他人时,它们才*需要*。如果我们发布一个真实的应用程序供其他人使用,我们需要指定一个真实的签名身份;当该签名的应用程序安装时,系统将通知用户该应用程序来自与证书关联的已知身份。" +#: docs/en/tutorial/tutorial-3.md:575 +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"在本例中,我们没有签署我们的应用程序。因此,当您使用安装程序时,您将收到系统" +"警告,该应用程序来自未知开发人员。我们这样做是为了保持教程的简单性。设置代码" +"签名身份比较复杂,只有当您打算将您的应用程序分发给其他人时,它们才*需要*。如" +"果我们发布一个真实的应用程序供其他人使用,我们需要指定一个真实的签名身份;当" +"该签名的应用程序安装时,系统将通知用户该应用程序来自与证书关联的已知身份。" -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on `Setting up a Windows code signing identity]{1}." -msgstr "当您准备好发布真正的应用程序时,请查看 Briefcase 操作指南中关于\\ [设置 Windows 代码签名身份]{1}\\ 的内容。" +#: docs/en/tutorial/tutorial-3.md:585 +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "此步骤完成后,`dist` 文件夹中将包含一个名为 `Hello_World-0.0.1.msi`` 的文件。如果双击运行该安装程序,就会进入熟悉的 Windows 安装过程。安装完成后,开始菜单中将出现 \"Hello World \"条目。" +#: docs/en/tutorial/tutorial-3.md:589 +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"此步骤完成后,`dist` 文件夹中将包含一个名为 `Hello_World-0.0.1.msi`` " +"的文件。如果双击运行该安装程序,就会进入熟悉的 Windows 安装过程。安装完成后," +"开始菜单中将出现 \"Hello World \"条目。" -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "现在,我们已将应用程序打包发布到桌面平台上。但是,当我们需要更新应用程序中的代码时该怎么办?如何将这些更新添加到打包好的应用程序中?请访问 [教程4][./tutorial-4] 了解详情..." +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" + +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "教程 3 - 打包与分发" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po index 068f42c7..77aa3f10 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po @@ -2,185 +2,240 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-05 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12-dev\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -msgid "Tutorial 4 - Updating your application" -msgstr "教程 4 - 更新应用程序" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." +#: docs/en/tutorial/tutorial-4.md:3 +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." msgstr "" "在上一教程中,我们将应用程序打包为本地应用程序。如果您面对的是一个真实世界的" "应用程序,这并不是故事的结束--" "您可能会进行一些测试,发现一些问题,并需要进行一些修改。即使您的应用程序是完" "美的,您最终还是希望发布改进后的第二版应用程序。" -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#: docs/en/tutorial/tutorial-4.md:10 msgid "So - how do you update your installed app when you make code changes?" msgstr "那么,在更改代码时如何更新已安装的应用程序?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 msgid "Updating application code" msgstr "更新应用程序代码" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." +#: docs/en/tutorial/tutorial-4.md:14 +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." msgstr "目前,我们的应用程序会在您按下按钮时打印到控制台。但是,图形用户界面应用程序" "实际上不应该使用控制台进行输出。它们需要使用对话框与用户交流。" -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" +#: docs/en/tutorial/tutorial-4.md:18 +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" msgstr "让我们添加一个对话框来说 \"你好\",而不是写入控制台。修改 `say_hello` " "回调,使它看起来像这样::" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -"我们需要将方法设置为`async`,以便在显示对话框时,应用程序的其余部分继续运行" -"。现在不要太担心这个细节——我们将在 [Tutorial 8][tutorial-8] " -"中给出更详细的解释。" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 -msgid "This directs Toga to open a modal dialog box when the button is pressed." +#: docs/en/tutorial/tutorial-4.md:36 +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." msgstr "这将指示 Toga 在按下按钮时打开一个模态对话框。" -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +#: docs/en/tutorial/tutorial-4.md:38 +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" msgstr "如果运行 `briefcase dev`,输入名称并按下按钮,就会看到新的对话框:" -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hello World 教程 4 对话框,在 macOS 上" - -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Hello World 教程 4 对话框,在 Linux 上" - -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Hello World 教程 4 对话框,在 Windows 上" - -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:69 msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "但是,如果运行\\ `briefcase run`,对话框就不会出现。" -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." msgstr "" -"为什么会这样?`briefcase dev`\\ 通过就地运行您的代码来运行--" -"它试图为您的代码提供尽可能逼真的运行环境,但并不提供或使用任何平台基础架构来" -"将您的代码包装成应用程序。打包应用程序的部分过程包括将代码复制到应用程序捆绑" -"包中,目前,您的应用程序中仍有旧代码。" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" +#: docs/en/tutorial/tutorial-4.md:79 +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" msgstr "" "因此,我们需要告诉 Briefcase 让它更新应用程序,复制新版本的代码。我们\\ " "*可以*\\ 删除旧的平台目录,然后从头开始。不过,Briefcase " "提供了一种更简单的方法--您可以更新现有捆绑的应用程序的代码:" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +#: docs/en/tutorial/tutorial-4.md:140 +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." msgstr "如果 Briefcase 找不到脚手架模板,它会自动调用 `create` 生成一个新的脚手架。" -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." +#: docs/en/tutorial/tutorial-4.md:143 +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." msgstr "" "更新了安装程序代码后,我们就可以运行 `briefcase build` 来重新编译应用程序," "运行 `briefcase run` 来运行更新后的应用程序,并运行 `briefcase package` " "来重新打包应用程序以便分发。" -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" +#: docs/en/tutorial/tutorial-4.md:148 +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" msgstr "" -"(macOS 用户请记住,正如 [Tutorial 3` 中所述,我们建议在运行 " -"`briefcase package` 时使用 `--adhoc-sign` " +"(macOS 用户请记住,正如 [Tutorial 3` 中所述,我们建议在运行 `" +"briefcase package` 时使用 `--adhoc-sign` " "标志,以避免设置代码签名身份的复杂性,并使教程尽可能简单)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 msgid "Update and run in one step" msgstr "更新和运行一步到位" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." +#: docs/en/tutorial/tutorial-4.md:155 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." msgstr "" "如果要快速迭代代码更改,很可能需要更改代码、更新应用程序并立即重新运行应用程" "序。对于大多数情况来说,开发人员模式 (`briefcase dev`) " "是进行这种快速迭代的最简单方法;但是,如果您要测试应用程序作为原生二进制文件" "的运行,或查找一个只有在应用程序打包时才会出现的错误,您可能需要反复调用 `" "briefcase run`。为了简化更新和运行打包应用程序的过程,Briefcase " -"提供了支持这种使用模式的快捷方式 - `run` 命令上的 `-u`(或 " -"`--update`)选项。" +"提供了支持这种使用模式的快捷方式 - `run` 命令上的 `-u`(或 `--update`)选项。" -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." +#: docs/en/tutorial/tutorial-4.md:166 +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." msgstr "" "让我们尝试做另一个改动。您可能已经注意到,如果您不在文本输入框中输入姓名," "对话框就会显示 \"Hello, \"。 让我们再次修改 `say_hello` " "函数,以处理这种边缘情况。" -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" +#: docs/en/tutorial/tutorial-4.md:170 +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" msgstr "在文件顶部,在导入和 `class HelloWorld` " "定义之间,添加一个实用程序方法,以根据所提供的名称值生成适当的问候语:" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "然后,修改 `say_hello` 回调,以使用这个新的实用程序方法:" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" +#: docs/en/tutorial/tutorial-4.md:194 +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" msgstr "在开发模式下运行应用程序(使用 `briefcase " "dev`),以确认新逻辑是否有效;然后使用一条命令更新、构建和运行应用程序:" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." +#: docs/en/tutorial/tutorial-4.md:268 +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." msgstr "" "package 命令也接受 `-u` " "参数,因此如果你修改了应用程序代码并希望立即重新打包,可以运行 `briefcase " "package -u`。" -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." +#: docs/en/tutorial/tutorial-4.md:274 +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." msgstr "现在,我们的应用程序已经打包,可以在桌面平台上发布,我们也可以更新应用程序中" "的代码。" -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." msgstr "" -"但是在移动设备上呢?在 [教程 5][tutorial-5/index] " -"中,我们将把应用程序转换为移动应用程序,并将其部署到设备模拟器和手机上。" + +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "教程 4 - 更新应用程序" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po index 2600b05c..85d4230f 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -2,242 +2,334 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-07-08 19:04+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "教程 5 - 在移动设备上:安卓" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 -msgid "Now, we're going to take our application, and deploy it as an Android application." +#: docs/en/tutorial/tutorial-5/android.md:3 +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." msgstr "现在,我们要将应用程序部署为 Android 应用程序。" -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "将应用程序部署到 Android 的过程与部署为桌面应用程序的过程非常相似。Briefcase 会处理 Android 上的依赖项的安装,包括 Android SDK、Android 模拟器,和一个 Java 编译器。" +#: docs/en/tutorial/tutorial-5/android.md:6 +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"将应用程序部署到 Android 的过程与部署为桌面应用程序的过程非常相似。Briefcase " +"会处理 Android 上的依赖项的安装,包括 Android SDK、Android 模拟器,和一个 " +"Java 编译器。" -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 msgid "Create an Android app and compile it" msgstr "创建并编译 Android 应用程序" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "首先,运行 `create` 命令。这会下载一个 Android 应用程序模板,并在其中添加您的 Python 代码。" - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "" -"首次运行 `briefcase create android` 时,Briefcase 会下载 Java JDK 和 " -"Android SDK。文件大小较大,且下载时间可能会较长(10 " +#: docs/en/tutorial/tutorial-5/android.md:13 +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "首先,运行 `create` 命令。这会下载一个 Android 应用程序模板," +"并在其中添加您的 Python 代码。" + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:104 +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"首次运行 `briefcase create android` 时,Briefcase 会下载 Java JDK 和 Android " +"SDK。文件大小较大,且下载时间可能会较长(10 " "分钟或更长,取决于您的互联网连接速度)。下载完成后,您将会被提示接受 Google " "的 Android SDK 许可证。还有一些需要同意的许可证 -- 在提示符不停的按 `y` " "以查看与接受所有所需的许可证协议。" -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "完成后,我们的项目中就会有一个\\ `build/helloworld/android/gradle`\\ 目录,其中包含一个带有 Gradle 构建配置的 Android 项目。这个项目将包含您的应用代码,以及一个包含 Python 解释器的支持包。" +#: docs/en/tutorial/tutorial-5/android.md:113 +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"完成后,我们的项目中就会有一个\\ `build/helloworld/android/gradle`\\ 目录," +"其中包含一个带有 Gradle 构建配置的 Android 项目。这个项目将包含您的应用代码," +"以及一个包含 Python 解释器的支持包。" -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "然后我们可以使用 Briefcase 的 `build` 命令将其编译为 Android APK 应用程序文件。" +#: docs/en/tutorial/tutorial-5/android.md:118 +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "然后我们可以使用 Briefcase 的 `build` 命令将其编译为 Android APK " +"应用程序文件。" -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -msgid "Gradle may look stuck" -msgstr "Gradle 看起来卡住了" +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "在 `briefcase build android` 步骤中,Gradle(Android 平台构建工具)会打印 \\ `CONFIGURING: 100%`,似乎什么也没做。别担心,这不是卡住了,而是在下载更多的 Android SDK 组件。根据您的网络连接速度,这可能还需要 10 分钟(或更长时间)。只有在第一次运行 `build` 时才会出现这种滞后现象;这些工具将会被缓存,下次构建时将使用缓存版本。" +#: docs/en/tutorial/tutorial-5/android.md:184 +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"在 `briefcase build android` 步骤中,Gradle(Android 平台构建工具)会打印 \\ " +"`CONFIGURING: 100%`,似乎什么也没做。别担心,这不是卡住了,而是在下载更多的 " +"Android SDK 组件。根据您的网络连接速度,这可能还需要 10 分钟(或更长时间)。" +"只有在第一次运行 `build` " +"时才会出现这种滞后现象;这些工具将会被缓存,下次构建时将使用缓存版本。" -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#: docs/en/tutorial/tutorial-5/android.md:194 msgid "Run the app on a virtual device" msgstr "在虚拟设备上运行应用程序" -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." +#: docs/en/tutorial/tutorial-5/android.md:196 +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." msgstr "" "现在我们可以运行应用程序了。您可以使用 Briefcase 的 `run` 命令在 Android " "设备上运行应用程序。让我们从在 Android 模拟器上运行开始。" -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." +#: docs/en/tutorial/tutorial-5/android.md:200 +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." msgstr "" "要运行应用程序,请运行 `briefcase run " "android`。运行时,系统会提示你可以在哪些设备上运行应用程序。最后一项总会是创" "建新安卓模拟器的选项。" -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." +#: docs/en/tutorial/tutorial-5/android.md:246 +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." msgstr "" "现在我们可以选择想要的设备。选择 \"Create a new Android emulator\" " "选项,并接受默认的设备名称(`beePhone`)。" -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" +#: docs/en/tutorial/tutorial-5/android.md:250 +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" msgstr "Briefcase `run` 将自动启动虚拟设备。设备启动时,您将看到 Android 徽标:" -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 -msgid "Android virtual device booting" -msgstr "启动安卓虚拟设备" - -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" +#: docs/en/tutorial/tutorial-5/android.md:259 +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" msgstr "设备启动完成后,Briefcase " "将在设备上安装您的应用程序。您将短暂看到一个启动页面:" -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "安卓虚拟设备已完全启动,显示在启动界面上" - -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 -msgid "The app will then start. You'll see a splash screen while the app starts up:" +#: docs/en/tutorial/tutorial-5/android.md:269 +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" msgstr "然后,应用程序就会启动。程序启动时,你会看到一个闪屏:" -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 -msgid "App splash screen" -msgstr "应用程序启动页" - -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe -msgid "The emulator didn't start!" -msgstr "模拟器没有启动!" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." +#: docs/en/tutorial/tutorial-5/android.md:280 +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." msgstr "" "安卓模拟器是一个复杂的软件,依赖于许多硬件和操作系统功能,这些功能在旧机器上" "可能无法使用或启用。如果在启动 Android 模拟器时遇到任何困难,请查阅 Android " "开发人员文档中的\\ [要求和建议]{1} 部分。" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" +#: docs/en/tutorial/tutorial-5/android.md:290 +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" msgstr "首次启动应用程序时,它需要将自己解压缩到设备上。这可能需要几秒钟。解压完成后" ",您将看到桌面应用程序的 Android 版本:" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 -msgid "App from Tutorial 2, fully launched" -msgstr "完全启动后的教程 2 应用程序" - -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b -msgid "Demo app fully launched" -msgstr "完全启动后的演示应用程序" - -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#: docs/en/tutorial/tutorial-5/android.md:300 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "如果看不到应用程序启动,可能需要检查运行 `briefcase run` 的终端,查看是否有错误信息。" +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "如果看不到应用程序启动,可能需要检查运行 `briefcase run` " +"的终端,查看是否有错误信息。" -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#: docs/en/tutorial/tutorial-5/android.md:309 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "今后,如果想在该设备上运行而不使用菜单,可以向 Briefcase 提供模拟器名称,使用 `briefcase run android -d @beePhone` 直接在虚拟设备上运行。" +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"今后,如果想在该设备上运行而不使用菜单,可以向 Briefcase 提供模拟器名称," +"使用 `briefcase run android -d @beePhone` 直接在虚拟设备上运行。" -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 #, fuzzy msgid "Run the app on a physical device" msgstr "在实体设备上运行应用程序" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#: docs/en/tutorial/tutorial-5/android.md:316 #, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "如果您有实体安卓手机或平板电脑,可以用 USB 线缆将其连接到电脑,然后使用公文包来定位您的实体设备。" +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "如果您有实体安卓手机或平板电脑,可以用 USB " +"线缆将其连接到电脑,然后使用公文包来定位您的实体设备。" -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#: docs/en/tutorial/tutorial-5/android.md:320 #, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" msgstr "Android 要求您在设备用于开发前做好准备。您需要对设备上的选项进行两项更改:" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 #, fuzzy msgid "Enable developer options" msgstr "启用开发人员选项" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 #, fuzzy msgid "Enable USB debugging" msgstr "启用 USB 调试" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 -#, fuzzy -msgid "Details on how to make these changes can be found `in the Android developer documentation]{1}." -msgstr "有关如何进行这些更改的详细信息,[请参阅 Android 开发人员文档]{1}。" +#: docs/en/tutorial/tutorial-5/android.md:327 +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#: docs/en/tutorial/tutorial-5/android.md:330 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "完成这些步骤后,在运行 `briefcase run android` 时,您的设备应出现在可用设备列表中。" +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "完成这些步骤后,在运行 `briefcase run android` " +"时,您的设备应出现在可用设备列表中。" -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#: docs/en/tutorial/tutorial-5/android.md:381 #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "在这里,我们可以在部署列表中看到一个带有序列号的新物理设备--在本例中是 Pixel 3a。将来,如果你想不使用菜单而在该设备上运行,可以向 Briefcase 提供手机序列号(本例中为 `briefcase run android -d 94ZZY0LNE8`)。这将直接在设备上运行,无需提示。" +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"在这里,我们可以在部署列表中看到一个带有序列号的新物理设备--在本例中是 Pixel " +"3a。将来,如果你想不使用菜单而在该设备上运行,可以向 Briefcase " +"提供手机序列号(本例中为 `briefcase run android -d " +"94ZZY0LNE8`)。这将直接在设备上运行,无需提示。" -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "我的设备没有出现!" +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#: docs/en/tutorial/tutorial-5/android.md:390 #, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "如果你的设备根本没有出现在这个列表中,要么是你没有启用 USB 调试(要么是设备没有插上电源!)。" +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "如果你的设备根本没有出现在这个列表中,要么是你没有启用 USB " +"调试(要么是设备没有插上电源!)。" -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#: docs/en/tutorial/tutorial-5/android.md:393 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "如果你的设备出现了,但却被列为 \"未知设备(未授权开发)\",那么开发者模式尚未正确启用。重新运行 [启用开发者选项的步骤]{1},并重新运行 \"briefcase run android\"。" +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" +"如果你的设备出现了,但却被列为 \"未知设备(未授权开发)\"" +",那么开发者模式尚未正确启用。重新运行 [启用开发者选项的步骤]{1},并重新运行 " +"\"briefcase run android\"。" -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" + +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "教程 5 - 在移动设备上:安卓" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po index c2f06c7a..364dd169 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -2,86 +2,131 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "教程 5 - 在移动设备上:iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." msgstr "" "编译 iOS 应用程序需要 Xcode,可从 [macOS App Store]{1} 免费下载。当 Xcode " "完成安装时,从“应用程序”打开它并接受 Xcode 许可协议。接下来,Xcode " "会展示哪些模拟器运行时已内置,哪些可以下载。选择 iOS " "模拟器运行时旁边的复选框,并点击“继续”来下载和安装它。" -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +#: docs/en/tutorial/tutorial-5/iOS.md:13 +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." msgstr "安装好 Xcode 与 iOS 模拟器后,我们就可以将应用程序作为 iOS 应用程序进行部署。" -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "将应用程序部署到 iOS 的过程与部署桌面应用程序的过程非常相似。首先,运行 `create` 命令,但这次我们指定要创建一个 iOS 应用程序:" +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "完成此操作后,我们将拥有一个包含 Xcode 项目、支持库和应用程序所需应用程序代码的 `build/helloworld/ios/xcode` 目录。" +#: docs/en/tutorial/tutorial-5/iOS.md:46 +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"完成此操作后,我们将拥有一个包含 Xcode 项目、" +"支持库和应用程序所需应用程序代码的 `build/helloworld/ios/xcode` 目录。" -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +#: docs/en/tutorial/tutorial-5/iOS.md:50 +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" msgstr "然后,您可以使用 `briefcase build iOS` 来编译应用程序:" -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "现在我们可以使用 `briefcase run iOS` 运行应用程序了。Briefcase 会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器,可能还会询问你要针对哪个 iOS 版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们而言,选择哪个模拟器并不重要。" +#: docs/en/tutorial/tutorial-5/iOS.md:66 +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"现在我们可以使用 `briefcase run iOS` 运行应用程序了。Briefcase " +"会提示你选择要编译的设备;如果你安装了多个 iOS SDK 版本的模拟器," +"可能还会询问你要针对哪个 iOS " +"版本。所显示的选项可能与此输出中显示的选项不同,至少设备列表可能不同。就我们" +"而言,选择哪个模拟器并不重要。" -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "这将启动 iOS 模拟器,安装你的应用程序并启动它。你应该能看到模拟器启动,并最终打开你的 iOS 应用程序:" +#: docs/en/tutorial/tutorial-5/iOS.md:116 +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "这将启动 iOS 模拟器,安装你的应用程序并启动它。你应该能看到模拟器启动," +"并最终打开你的 iOS 应用程序:" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World 教程 5 窗口,在 iOS 上" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" "当应用程序运行时,您会在控制台中看到一系列模拟器输出信息。向命令行中按 Ctrl +" " C " "会停止控制台中的信息,但不会关闭模拟器。这样,您无需重启模拟器,也能可以继续" "测试新更改。" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "如果事先知道要使用哪个 iOS 模拟器,可以通过提供 `-d`(或 `--device`)选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:" +#: docs/en/tutorial/tutorial-5/iOS.md:127 +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"如果事先知道要使用哪个 iOS 模拟器,可以通过提供 `-d`(或 `--device`)" +"选项告诉 Briefcase 使用该模拟器。使用创建应用程序时选择的设备名称,运行:" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "如果你有多个 iOS 版本,Briefcase 会选择最高的 iOS 版本;如果你想选择某个 iOS 版本,你可以告诉它使用该特定版本:" +#: docs/en/tutorial/tutorial-5/iOS.md:136 +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "如果你有多个 iOS 版本,Briefcase 会选择最高的 iOS 版本;如果你想选择某个 iOS " +"版本,你可以告诉它使用该特定版本:" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 msgid "Or, you can name a specific device UDID:" msgstr "或者,您也可以命名一个特定的设备 UDID:" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "我们现在已经在手机上安装了应用程序!还有其他地方可以部署 BeeWare 应用程序吗?请参考\\ [教程 6][../tutorial-6]\\ 了解更多..." +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from `the macOS App Store]{1}." -#~ msgstr "要编译 iOS 应用程序,我们需要使用 Xcode,它可从 MacOS 应用商店 `__ 免费获取。" +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "教程 5 - 在移动设备上:iOS" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po index ecd8a83d..4b852595 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,46 +2,43 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-06-20 02:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.12.1\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e -msgid "Tutorial 5 - Taking it Mobile" -msgstr "教程 5 - 在移动设备上" +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" +#: docs/en/tutorial/tutorial-5/index.md:3 +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" msgstr "到目前为止,我们一直在电脑上运行和测试应用程序。不过,BeeWare " "同样支持移动平台,我们编写的应用程序也可以部署到您的移动设备上!" -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 -msgid "iOS applications can only be compiled on macOS." -msgstr "iOS 应用程序只能在 macOS 上编译。" - -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 +#: docs/en/tutorial/tutorial-5/index.md:9 msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "安卓应用程序可在 macOS、Windows 或 Linux 上编译。" -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[Let's build our app for iOS!`" +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" + +#: docs/en/tutorial/tutorial-5/index.md:13 +msgid "iOS applications can only be compiled on macOS." +msgstr "iOS 应用程序只能在 macOS 上编译。" -#~ msgid ":doc:`Let's build our app for Android!][android]" -#~ msgstr ":doc:`Let's build our app for Android!`" +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "教程 5 - 在移动设备上" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po index 02a36566..996bd9ce 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,51 +2,74 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-06 18:04+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-07-05 15:27+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.14.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -msgid "Tutorial 6 - Put it on the web!" -msgstr "教程 6 - 把它放上网!" +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +#: docs/en/tutorial/tutorial-6.md:3 +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." msgstr "除了支持移动平台,Toga " "控件工具包还支持网络!使用与部署桌面和移动应用程序相同的应用程序接口,您可以" "将应用程序部署为单页网页应用程序。" -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -msgid "Proof of Concept" -msgstr "概念验证" +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +#: docs/en/tutorial/tutorial-6.md:10 +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." msgstr "" "Toga Web 后端是所有 Toga " "后端中最不成熟的一个。它已经足够成熟,可以展示一些功能,但很可能会有问题,而" "且会缺少许多其他平台上可用的控件。目前,Web " "部署应被视为“概念验证”--足以展示可以做什么,但还不足以作为严肃开发的依据。" -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -msgid "If you have problems with this step of the tutorial, you can skip to the next page." +#: docs/en/tutorial/tutorial-6.md:17 +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." msgstr "如果您在教程的这一步遇到问题,可以跳到下一页。" -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:22 msgid "Deploying as a web app" msgstr "作为网页应用程序部署" -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +#: docs/en/tutorial/tutorial-6.md:24 +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" msgstr "" "作为单页面 Web 应用程序部署的过程遵循相同的熟悉模式--" "创建应用程序,然后构建应用程序,然后运行它。不过,Briefcase " @@ -54,37 +77,41 @@ msgstr "" "确定该应用程序尚未针对目标平台创建或构建,那么它会为您执行创建和构建步骤。由" "于这是我们第一次为网络运行应用程序,我们可以用一条命令执行所有三个步骤:" -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "这将打开一个网页浏览器,指向 [http://127.0.0.1:8080 " -"`__:" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "浏览器中的 Hello World 教程 6 对话框" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#: docs/en/tutorial/tutorial-6.md:156 msgid "If you enter your name and click the button, a dialog will appear." msgstr "如果输入您的姓名并点击按钮,就会出现一个对话框。" -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#: docs/en/tutorial/tutorial-6.md:158 msgid "How does this work?" msgstr "这是怎么工作的?" -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +#: docs/en/tutorial/tutorial-6.md:160 +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." msgstr "" "此网络应用程序是一个静态网站 -- 一个 HTML 源页面,包含一些 CSS 和其他资源。" "Briefcase " @@ -92,22 +119,30 @@ msgstr "" "将此网页进入生产,可以将 `www` " "文件夹中的内容复制到任何可以提供静态内容的网络服务器上。" -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +#: docs/en/tutorial/tutorial-6.md:166 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." msgstr "" -"但当你按下按钮时,你运行的是 Python 代码......这是怎么做到的呢?Toga 使用" -"[PyScript]{1} 在浏览器中提供 Python 解释器。Briefcase " -"将应用程序的代码打包成 PyScript 可以在浏览器中加载的 " -"wheels。加载页面时,应用代码会在浏览器中运行,并使用浏览器 DOM " -"构建用户界面。当您点击按钮时,该按钮会在浏览器中运行事件处理代码。" -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +#: docs/en/tutorial/tutorial-6.md:176 +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." msgstr "" "虽然我们现在已经在桌面、手机和网络上部署了这个应用程序,但该应用程序相当简单" ",不涉及任何第三方库。我们可以在应用程序中包含 Python 包索引 (PyPI) " "中的库吗?请访问 [教程7][tutorial-7] 了解详情..." + +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "教程 6 - 把它放上网!" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po index da3fd655..eed44266 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po @@ -2,368 +2,497 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-08-09 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "教程 7 - 使用第三方库" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "到目前为止,我们构建的应用程序只使用了我们自己的代码和 BeeWare 提供的代码。不过,在实际应用中,您很可能需要使用从 Python 软件包索引(PyPI)下载的第三方库。" +#: docs/en/tutorial/tutorial-7.md:3 +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"到目前为止,我们构建的应用程序只使用了我们自己的代码和 BeeWare " +"提供的代码。不过,在实际应用中,您很可能需要使用从 Python " +"软件包索引(PyPI)下载的第三方库。" -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 msgid "Let's modify our app to include a third-party library." msgstr "让我们修改应用程序,加入第三方库。" -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "添加软件包" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "让我们修改我们的应用程序,使其能够显示比“你好!”更丰富的内容。" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -"为了为我们的对话框生成一些更有趣的内容,我们将使用一款名为 [Faker]{1} 的库。Faker 是一个用于生成假内容的 " -"Python 软件包,包括生成名字与文本块。Faker " -"通过它提供的词语列表以生成这些内容。我们将用 Faker " -"构建一条假信息,就像有人在向用户回应一样。" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "我们开始吧 `faker` 添加到我们的应用程序中。在 `app.py` 的最上方加入一个导入,用于导入 `faker`:" +#: docs/en/tutorial/tutorial-7.md:23 +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "我们开始吧 `faker` 添加到我们的应用程序中。在 `app.py` 的最上方加入一个导入," +"用于导入 `faker`:" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +#: docs/en/tutorial/tutorial-7.md:43 +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." msgstr "让我们在 Briefcase 开发者模式下运行更新后的应用程序,检查我们的更改是否有效。" -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -msgid "iOS" -msgstr "iOS" - -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." -msgstr "" - -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:126 +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" msgstr "" "发生了什么?我们已经将 `faker` 添加到我们的\\ *代码*\\ " "中,但我们还没有将它添加到我们的开发虚拟环境中。要解决这个问题,我们可以用 " "`pip` 安装 `faker`,然后重新运行 `briefcase dev`:" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "输入名称并按下按钮后,您会看到一个类似如下的对话框:" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hello World 教程 7 对话框,在 macOS 上" - -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "在 Linux 上的 Hello World 教程 7 对话框" - -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "在 Windows 上的 Hello World 教程 7 对话框" - -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 -msgid "We've now got a working app, using a third party library, running in development mode!" +#: docs/en/tutorial/tutorial-7.md:192 +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" msgstr "现在,我们已经有了一个可正常运行的应用程序,它使用第三方库,并以开发模式运行" "!" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 msgid "Running the updated app" msgstr "运行更新后的应用程序" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "让我们将更新后的应用程序代码打包为独立应用程序。由于我们对代码进行了修改,因此需要遵循 [Tutorial 4` 中的相同步骤:" - -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"让我们将更新后的应用程序代码打包为独立应用程序。由于我们对代码进行了修改," +"因此需要遵循 [Tutorial 4` 中的相同步骤:" + +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "更新打包应用程序中的代码:" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "重建应用程序:" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 #, fuzzy msgid "And finally, run the app:" msgstr "最后,运行应用程序:" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" msgstr "但是,当程序运行时,你会在控制台中看到一个错误,还有一个崩溃对话框:" -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "MacOS 上的 Hello World Tutorial 7 应用程序崩溃" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Hello World 教程 7》应用程序崩溃,在 Windows 系统上" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "应用程序再次启动失败,因为已经安装了 `httpx` - 但为什么呢?我们不是已经安装了 `httpx` 吗?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "我们有,但仅限于开发环境。你的开发环境完全在你的机器本地,只有当你明确激活它时才会启用。虽然公文包有开发模式,但使用公文包的主要原因是打包你的代码,这样你就可以把它交给别人。" +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"我们有,但仅限于开发环境。你的开发环境完全在你的机器本地,只有当你明确激活它" +"时才会启用。虽然公文包有开发模式,但使用公文包的主要原因是打包你的代码,这样" +"你就可以把它交给别人。" -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "要保证别人的 Python 环境包含它所需要的一切,唯一的办法就是构建一个完全隔离的 Python 环境。这意味着有一个完全独立的 Python 安装,和一套完全独立的依赖关系。这就是当你运行 `briefcase build` 时,Briefcase 正在构建的 - 一个隔离的 Python 环境。这也解释了为什么没有安装 `httpx` - 它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"要保证别人的 Python 环境包含它所需要的一切,唯一的办法就是构建一个完全隔离的 " +"Python 环境。这意味着有一个完全独立的 Python 安装,和一套完全独立的依赖关系。" +"这就是当你运行 `briefcase build` 时,Briefcase 正在构建的 - 一个隔离的 " +"Python 环境。这也解释了为什么没有安装 `httpx` - " +"它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." msgstr "因此,我们需要告诉 Briefcase,我们的应用程序有一个外部依赖关系。" -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "更新依赖项" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "在应用程序的根目录中,有一个名为 `pyproject.toml` 的文件。该文件包含您最初运行 `briefcase new` 时提供的所有应用程序配置详细信息。" +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"在应用程序的根目录中,有一个名为 `pyproject.toml` 的文件。" +"该文件包含您最初运行 `briefcase new` 时提供的所有应用程序配置详细信息。" -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" msgstr "pyproject.toml \"分为多个部分,其中一部分描述了应用程序的设置::" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "requires \"选项描述了应用程序的依赖关系。它是一个字符串列表,其中指定了您希望应用程序包含的库(以及可选的版本)。" +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "requires \"选项描述了应用程序的依赖关系" +"。它是一个字符串列表,其中指定了您希望应用程序包含的库(以及可选的版本)。" -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "修改 `requires` 设置为::" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "通过添加此设置,我们告诉 Briefcase \"当你构建我的应用程序时,运行 `pip install httpx` 到应用程序捆绑包中\"。任何可以合法输入到 `pip install` 的内容都可以在这里使用--因此,你可以指定:" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"通过添加此设置,我们告诉 Briefcase " +"\"当你构建我的应用程序时,运行 `pip install httpx` 到应用程序捆绑包中\"。" +"任何可以合法输入到 `pip install` 的内容都可以在这里使用--因此,你可以指定:" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "特定的库版本(例如, `\"httpx===0.19.0\"` );" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "一系列库版本(例如, `\"httpx>=0.19\"` );" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" msgstr "指向 git 仓库的路径(例如,`\"git+https://github.com/encode/httpx\"`);或" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "本地文件路径(不过需要注意的是:如果你把代码交给别人,这个路径很可能不存在于他们的机器上!)" +#: docs/en/tutorial/tutorial-7.md:519 +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "本地文件路径(不过需要注意的是:如果你把代码交给别人,这个路径很可能不存在于" +"他们的机器上!)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "在 `pyproject.toml` 中的更下面部分,你会注意到与操作系统相关的其他部分,如 `[tool.briefcase.app.helloworld.macOS]` 和 `[tool.briefcase.app.helloworld.windows]`。这些部分**也有一个 `requires` 设置。这些设置允许你定义额外的特定平台依赖关系,例如,如果你需要一个特定平台的库来处理应用程序的某些方面,你可以在特定平台的 `requires` 部分中指定该库,而该设置将仅用于该平台。你会注意到,所有的 `toga` 库都是在特定平台的 `requires` 部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"在 `pyproject.toml` 中的更下面部分,你会注意到与操作系统相关的其他部分,如 `" +"[tool.briefcase.app.helloworld.macOS]` 和 `" +"[tool.briefcase.app.helloworld.windows]`。这些部分**也有一个 `requires` " +"设置。这些设置允许你定义额外的特定平台依赖关系,例如,如果你需要一个特定平台" +"的库来处理应用程序的某些方面,你可以在特定平台的 `requires` " +"部分中指定该库,而该设置将仅用于该平台。你会注意到,所有的 `toga` " +"库都是在特定平台的 `requires` " +"部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "在我们的例子中,我们希望 `httpx` 安装在所有平台上,因此使用了应用程序级的 `requires` 设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项之外*安装。" +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"在我们的例子中,我们希望 `httpx` 安装在所有平台上,因此使用了应用程序级的 " +"`requires` " +"设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项" +"之外*安装。" -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "既然我们已经告诉了 Briefcase 我们的额外需求,那么我们就可以再次尝试打包应用程序了。确保已将更改保存到 `pyproject.toml`,然后再次更新应用程序--这一次,传递 `-r` 标志。这将告诉 Briefcase 更新打包应用程序中的需求:" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"既然我们已经告诉了 Briefcase " +"我们的额外需求,那么我们就可以再次尝试打包应用程序了。确保已将更改保存到 " +"`pyproject.toml`,然后再次更新应用程序--这一次,传递 `-r` 标志。这将告诉 " +"Briefcase 更新打包应用程序中的需求:" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "更新完成后,您可以运行 `briefcase build` 和 `briefcase run` - 您应该会看到打包后的应用程序,并带有新的对话框行为。" +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "" +"更新完成后,您可以运行 `briefcase build` 和 `briefcase run` - " +"您应该会看到打包后的应用程序,并带有新的对话框行为。" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "用于更新需求的 `-r` 选项也会被 `build` 和 `run` 命令接受,因此如果你想一步完成更新、编译和运行,可以使用 `briefcase run -u -r`。" +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"用于更新需求的 `-r` 选项也会被 `build` 和 `run` " +"命令接受,因此如果你想一步完成更新、编译和运行,可以使用 `briefcase run -u " +"-r`。" -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the `Python Package Index (PyPI)][https://pypi.org]__, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"都可以添加到您的需求中。在移动和网络平台上,[您的选择略显有限]{1}。" +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"" +"都可以添加到您的需求中。在移动和网络平台上,[您的选择略显有限]{1}。" -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{1}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." +#: docs/en/tutorial/tutorial-7.md:719 +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." msgstr "*通常*\\ " "可以为移动平台编译二进制软件包,但是不容易设置,且远超出了本教程这样的入门教" "程涵盖的范围。" -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "访问应用程序接口" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "应用程序需要执行的一项常见任务是向网络应用程序接口发出请求以获取数据,并将数据显示给用户。这是一个玩具应用程序,因此我们没有\\ *真正*\\ 的 API 可供使用,所以我们将使用 [{JSON} 占位符 API]{1} 作为数据源。" - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "{JSON} 占位符 API 有许多 \"伪造 \"的 API 端点,您可以将其用作测试数据。其中一个 API 是 `/posts/` 端点,它会返回虚假的博客文章。如果在浏览器中打开 `https://jsonplaceholder.typicode.com/posts/42` ,就会得到一个描述单篇博文的 JSON 有效载荷--ID 为 42 的博文的一些 [Lorum ipsum]{1} 内容。" - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Python 标准库包含访问 API 所需的所有工具。然而,内置的 API 是非常低级的。它们很好地实现了 HTTP 协议,但需要用户管理大量低级细节,如 URL 重定向、会话、身份验证和有效负载编码。作为一名 \"普通浏览器用户\",你可能已经习惯了将这些细节视为理所当然,因为浏览器会为你管理这些细节。" - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "因此,人们开发了第三方库来封装内置的 API,并提供更简单的 API,使其更符合日常的浏览器体验。我们将使用其中一个库来访问 {JSON} 占位符 API - 一个名为 [httpx]{1} 的库。" - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "这将更改 `say_hello()` 回调,使它在被调用时,会:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "在 JSON 占位符 API 上发出 GET 请求,以获取post42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "将响应解码为 JSON 格式;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "提取帖子正文;以及" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "将该帖子的正文作为对话框的文本。" - -#~ msgid "Some binary packages may not be available" -#~ msgstr "某些二进制软件包可能不可用" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "简而言之,任何*纯 Python* 包(即*不包含二进制模块的包)都可以毫无困难地使用。但是,如果您的依赖包包含二进制组件,则必须对其进行编译;目前,大多数 Python 包都不支持非桌面平台的编译。" - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "我们现在有了一个使用第三方库的应用程序!不过,您可能已经注意到,当您按下按钮时,应用程序会变得有点反应迟钝。我们能解决这个问题吗?请访问 :doc:`Tutorial 8` 了解详情..." +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "教程 7 - 使用第三方库" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po index 1849a11b..7b568c0c 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,63 +2,86 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-08-09 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" -"Language: zh_CN\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.13-dev\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -msgid "Tutorial 8 - Making it Smooooth" -msgstr "教程 8 - 使其光滑" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" "到目前为止,我们的应用程序相对简单——显示图形用户界面控件、调用一个简单的第三" "方库,以及在对话框中显示输出。所有这些操作都非常迅速,我们的应用程序始终保持" "响应。" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" "但是,在实际的应用中,我们将需要进行会需要一会儿才能完成的复杂任务。当这些任" "务进行时,我们想让我们的应用保持响应。让我们更改我们的应用程序,添加一个需要" "一些时间才能完成的任务,并看看需要怎样更改应用程序,适应这个新的行为。" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "访问 API" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" "应用程序需要进行的一个常见的耗时任务时在一个网络 API " "上请求取回数据,并将数据显示给用户。网络 API 有时需要一两秒才能回应," "所以如果我们将要访问这种 API,我们需要确保我们的应用在等待网络 API " "返回答案时保持响应。" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." -msgstr "" -"这只是个入门级的应用,我们没有*真正*的API可供调用,所以我们将使用[{JSON}占位" -"符API]{1} 作为数据来源。{JSON}占位符API有" -"一系列“虚假”的API端点可以供您作为测试数据调用。其中之一就是`/posts/" +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." +msgstr "" +"这只是个入门级的应用,我们没有*真正*的API可供调用,所以我们将使用" +"[{JSON}占位符API]{1} " +"作为数据来源。{JSON}占位符API有一系列“虚假”的API端点可以供您作为测试数据调用" +"。其中之一就是`/posts/" "`端点,它会返回一些虚假的博客推文。如果您在浏览器中访问`https://" "jsonplaceholder.typicode.com/posts/" -"42`,您将会得到一串看起来像是在发推文的JSON数据——不过内容是ID为42的一些`乱数" -"假文 [Lorum ipsum]{2}。" +"42`,您将会得到一串看起来像是在发推文的JSON数据——不过内容是ID为42的一些`" +"乱数假文 [Lorum ipsum]{2}。" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" "Python 标准库包含了需要访问一个 API 的所有工具,但这些内置 API 非常低级别。" "它们良好的实现了 HTTP 协议,但它们要求用户管理 URL " @@ -66,321 +89,475 @@ msgstr "" "“普通浏览器用户”,您可能会把这些细节的管理是为理所当然的,因为浏览器帮您管理" "它们。" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "然后修改 `say_hello()` 回调,使其看起来像这样:" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "输入名称并按下按钮后,您会看到一个类似如下的对话框:" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" -msgstr "Android" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" +msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "除非您的网络连接速度\\ *非常*\\ 快,否则您可能会注意到,当您按下按钮时,应用程序的图形用户界面会锁定一会儿。这是因为我们发出的网络请求是\\ *同步*\\ 的。当我们的应用程序发出网络请求时,它会等待应用程序接口返回响应,然后再继续。在等待的过程中,应用程序\\ *不*\\ 允许重新绘制,结果导致应用程序锁定。" - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"除非您的网络连接速度\\ *非常*\\ " +"快,否则您可能会注意到,当您按下按钮时,应用程序的图形用户界面会锁定一会儿。" +"这是因为我们发出的网络请求是\\ *同步*\\ " +"的。当我们的应用程序发出网络请求时,它会等待应用程序接口返回响应,然后再继续" +"。在等待的过程中,应用程序\\ *不*\\ 允许重新绘制,结果导致应用程序锁定。" + +#: docs/en/tutorial/tutorial-8.md:181 msgid "GUI Event Loops" msgstr "图形用户界面事件循环" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "要理解为什么会出现这种情况,我们需要深入了解图形用户界面应用程序的工作原理。具体细节因平台而异,但无论使用何种平台或图形用户界面环境,高层概念都是相同的。" +#: docs/en/tutorial/tutorial-8.md:183 +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"要理解为什么会出现这种情况,我们需要深入了解图形用户界面应用程序的工作原理。" +"具体细节因平台而异,但无论使用何种平台或图形用户界面环境,高层概念都是相同的" +"。" -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#: docs/en/tutorial/tutorial-8.md:188 msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "从根本上说,图形用户界面应用程序就是一个单一的循环,看起来就像:" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "这个循环被称为 *事件循环*。(这些并不是实际的方法名称,而是 \"伪代码 \"的说明)。" +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "这个循环被称为 *事件循环*。(这些并不是实际的方法名称,而是 \"伪代码 \"" +"的说明)。" -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 +#: docs/en/tutorial/tutorial-8.md:199 #, fuzzy -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "当你点击一个按钮、拖动一个滚动条或输入一个键时,你就产生了一个 \"事件\"。该 \"事件 \"被放入一个队列,应用程序将在下一次有机会时处理队列中的事件。为响应事件而触发的用户代码称为*事件处理程序*。这些事件处理程序作为`process_events()`调用的一部分被调用。" - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "应用程序处理完所有可用事件后,就会 重绘 (`redraw()`)图形用户界面。这将考虑到事件对应用程序显示所造成的任何变化,以及操作系统中发生的任何其他情况,例如,其他应用程序的窗口可能会遮挡或显示我们应用程序的部分窗口,而我们应用程序的重绘将需要反映当前可见的窗口部分。" - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"当你点击一个按钮、拖动一个滚动条或输入一个键时,你就产生了一个 \"事件\"。该 " +"\"事件 \"" +"被放入一个队列,应用程序将在下一次有机会时处理队列中的事件。为响应事件而触发" +"的用户代码称为*事件处理程序*。这些事件处理程序作为`process_events()`调用的一" +"部分被调用。" + +#: docs/en/tutorial/tutorial-8.md:206 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"应用程序处理完所有可用事件后,就会 重绘 " +"(`redraw()`)图形用户界面。这将考虑到事件对应用程序显示所造成的任何变化,以" +"及操作系统中发生的任何其他情况,例如,其他应用程序的窗口可能会遮挡或显示我们" +"应用程序的部分窗口,而我们应用程序的重绘将需要反映当前可见的窗口部分。" + +#: docs/en/tutorial/tutorial-8.md:213 #, fuzzy -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "需要注意的重要细节是:当应用程序在处理事件时,*不能重绘*,*也不能处理其他事件*。" +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "需要注意的重要细节是:当应用程序在处理事件时,*不能重绘*,*也不能处理其他事件" +"*。" -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 +#: docs/en/tutorial/tutorial-8.md:216 #, fuzzy -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "这意味着事件处理程序中包含的任何用户逻辑都需要快速完成。完成事件处理程序的任何延迟都会被用户观察到,表现为图形用户界面更新的减慢(或停止)。如果延迟时间足够长,操作系统可能会将此报告为问题--macOS 的 \"沙滩球 \"和 Windows 的 \"旋转器 \"图标就是操作系统在告诉你,你的应用程序在事件处理程序中耗时过长。" - -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"这意味着事件处理程序中包含的任何用户逻辑都需要快速完成。完成事件处理程序的任" +"何延迟都会被用户观察到,表现为图形用户界面更新的减慢(或停止)。如果延迟时间" +"足够长,操作系统可能会将此报告为问题--macOS 的 \"沙滩球 \"和 Windows 的 " +"\"旋转器 \"图标就是操作系统在告诉你,你的应用程序在事件处理程序中耗时过长。" + +#: docs/en/tutorial/tutorial-8.md:224 #, fuzzy -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "像 \"更新标签 \"或 \"重新计算输入总和 \"这样的简单操作很容易快速完成。然而,有很多操作是无法快速完成的。如果要执行复杂的数学计算,或为文件系统中的所有文件编制索引,或执行大型网络请求,就不能 \"快速完成\"--这些操作本身就很慢。" - -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"像 \"更新标签 \"或 \"重新计算输入总和 \"" +"这样的简单操作很容易快速完成。然而,有很多操作是无法快速完成的。如果要执行复" +"杂的数学计算,或为文件系统中的所有文件编制索引,或执行大型网络请求,就不能 " +"\"快速完成\"--这些操作本身就很慢。" + +#: docs/en/tutorial/tutorial-8.md:231 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" msgstr "那么,我们如何在图形用户界面应用程序中执行长期操作呢?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 #, fuzzy msgid "Asynchronous programming" msgstr "异步编程" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a +#: docs/en/tutorial/tutorial-8.md:235 #, fuzzy -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "我们需要的是一种方法,让处于长期事件处理程序中间的应用程序知道,只要我们能从上次中断的地方继续运行,就可以暂时将控制权释放回事件循环。应用程序可以自行决定何时释放控制权;但如果应用程序定期向事件循环释放控制权,我们就可以拥有一个长期运行的事件处理程序,并**保持响应式用户界面。" - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"我们需要的是一种方法,让处于长期事件处理程序中间的应用程序知道,只要我们能从" +"上次中断的地方继续运行,就可以暂时将控制权释放回事件循环。应用程序可以自行决" +"定何时释放控制权;但如果应用程序定期向事件循环释放控制权,我们就可以拥有一个" +"长期运行的事件处理程序,并**保持响应式用户界面。" + +#: docs/en/tutorial/tutorial-8.md:242 #, fuzzy -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "我们可以通过使用*异步编程*来实现这一点。异步编程是一种描述程序的方法,它允许解释器同时运行多个函数,在所有并发运行的函数之间共享资源。" - -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "我们可以通过使用*异步编程*来实现这一点。异步编程是一种描述程序的方法,它允许" +"解释器同时运行多个函数,在所有并发运行的函数之间共享资源。" + +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "异步函数(称为 * 协同例程*)需要明确声明为异步函数。它们还需要在内部声明何时有机会将上下文切换到另一个共同例程。" - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "异步函数(称为 * " +"协同例程*)需要明确声明为异步函数。它们还需要在内部声明何时有机会将上下文切换" +"到另一个共同例程。" + +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "在 Python 中,异步编程是通过 `async` 和 `await` 关键字以及标准库中的 [asyncio]{1} 模块来实现的。[async` 关键字允许我们声明一个函数是异步协程。关键字 `await` 提供了一种方法来声明何时有机会将上下文切换到另一个协程。[asyncio]{2} 模块为异步编码提供了一些其他有用的工具和原语。" - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"在 Python 中,异步编程是通过 `async` 和 `await` 关键字以及标准库中的 " +"[asyncio]{1} 模块来实现的。[async` 关键字允许我们声明一个函数是异步协程。" +"关键字 `await` 提供了一种方法来声明何时有机会将上下文切换到另一个协程。" +"[asyncio]{2} 模块为异步编码提供了一些其他有用的工具和原语。" + +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "使教程异步化" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 +#: docs/en/tutorial/tutorial-8.md:263 #, fuzzy -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" -msgstr "为了使我们的教程成为异步教程,请修改事件处理程序 \"say_hello()\",使其看起来像这样::" +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" +msgstr "为了使我们的教程成为异步教程,请修改事件处理程序 \"say_hello()\"" +",使其看起来像这样::" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" +msgid "" +"There are only three changes to this callback from the previous version:" msgstr "与上一版本相比,该代码只有 4 处改动:" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d +#: docs/en/tutorial/tutorial-8.md:284 #, fuzzy -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "创建的客户端是异步的 `AsyncClient()` 而不是同步的 `Client()[。这就告诉 `httpx` 应在异步模式而非同步模式下运行。" +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"创建的客户端是异步的 `AsyncClient()` 而不是同步的 `Client()[。这就告诉 " +"`httpx` 应在异步模式而非同步模式下运行。" -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d +#: docs/en/tutorial/tutorial-8.md:287 #, fuzzy -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "用于创建客户端的上下文管理器被标记为 `async`。这就告诉 Python,当上下文管理器进入和退出时,有机会释放控制。" +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "用于创建客户端的上下文管理器被标记为 `async`。这就告诉 " +"Python,当上下文管理器进入和退出时,有机会释放控制。" -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga 允许你使用常规方法或异步协程作为处理程序;Toga 在幕后管理一切,确保处理程序按要求被调用或等待。" +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "Toga 允许你使用常规方法或异步协程作为处理程序;Toga " +"在幕后管理一切,确保处理程序按要求被调用或等待。" -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "如果保存这些更改并重新运行应用程序(在开发模式下使用 `briefcase dev` 或更新并重新运行打包的应用程序),应用程序不会有任何明显的变化。不过,当您点击按钮触发对话框时,您可能会注意到一些细微的改进:" +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"如果保存这些更改并重新运行应用程序(在开发模式下使用 `briefcase dev` " +"或更新并重新运行打包的应用程序),应用程序不会有任何明显的变化。不过,当您点" +"击按钮触发对话框时,您可能会注意到一些细微的改进:" -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 +#: docs/en/tutorial/tutorial-8.md:314 #, fuzzy -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." msgstr "按钮会返回到 \"未点击 \"状态,而不是停留在 \"已点击 \"状态。" -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -#, fuzzy -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "沙滩球\"/\"旋转器 \"图标不会出现" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +#: docs/en/tutorial/tutorial-8.md:317 +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." msgstr "如果在等待对话框出现时移动或调整应用程序窗口的大小,窗口将重新绘制。" -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." msgstr "如果尝试打开应用程序菜单,菜单会立即出现。" -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "现在,我们已经有了一个既流畅又反应灵敏的应用程序,即使在等待速度较慢的应用程序接口时也是如此。但是,我们如何确保在继续进一步开发的过程中,应用程序仍能正常运行?如何测试应用程序?请访问 [Tutorial 9[ 了解详情..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "方法定义为 `asyncdef`,而不只是 `def`。这告诉 Python 该方法是一个异步协程。" - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "get \"调用带有 \"await \"关键字。这指示应用程序在等待网络响应时,可以将控制权释放给事件循环。" - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "教程 8 - 使其光滑" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po deleted file mode 100644 index 18dd8f40..00000000 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-9.po +++ /dev/null @@ -1,165 +0,0 @@ - -msgid "" -msgstr "" -"Project-Id-Version: BeeWare 0.3\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-04-30 17:27+0000\n" -"PO-Revision-Date: 2024-01-13 02:06+0000\n" -"Last-Translator: Sheep Cat \n" -"Language: zh_CN\n" -"Language-Team: Chinese (Simplified) \n" -"Plural-Forms: nplurals=1; plural=0;\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.14.0\n" - -#: ../../tutorial/tutorial-9.rst:3 aeef8be59f2c4d4eb5bff4d71d02d58c -#, fuzzy -msgid "Tutorial 9 - Testing times" -msgstr "教程 9 - 测试时间" - -#: ../../tutorial/tutorial-9.rst:5 035cf073ccad4319b3846341a3f9576e -#, fuzzy -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "大多数软件开发并不涉及编写新代码,而是修改现有代码。确保现有代码以我们期望的方式继续工作是软件开发过程的关键部分。确保应用程序行为的方法之一就是*测试套件*。" - -#: ../../tutorial/tutorial-9.rst:11 273ac408f7f146c0ade1bd079200f5e3 -#, fuzzy -msgid "Running the test suite" -msgstr "运行测试套件" - -#: ../../tutorial/tutorial-9.rst:13 09c92fbb8b164f6fa46458fba4009628 -#, fuzzy -msgid "It turns out our project already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "原来我们的项目已经有了一个测试套件!我们最初生成项目时,会生成两个顶级目录:src \"和 \"tests\"。src \"文件夹包含应用程序的代码;\"tests \"文件夹包含测试套件。在 `tests` 文件夹中,有一个名为 `test_app.py` 的文件,内容如下::" - -#: ../../tutorial/tutorial-9.rst:23 a59b93a912854067b72e4dc131f63887 -#, fuzzy -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "这是一个 [Pytest]{1} *测试用例* - 可以执行的代码块,用于验证应用程序的某些行为。在本例中,该测试是一个占位符,并不测试我们应用程序的任何内容,但我们可以执行该测试。" - -#: ../../tutorial/tutorial-9.rst:28 4d9dbd44684b46638128fdf048729189 -#, fuzzy -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "我们可以使用 `briefcase dev` 的 `--test` 选项来运行这个测试套件。由于这是第一次运行测试,我们还需要传递 `-r` 选项,以确保测试需求也已安装:" - -#: ../../tutorial/tutorial-9.rst:34 ../../tutorial/tutorial-9.rst:139 -#: ../../tutorial/tutorial-9.rst:209 ../../tutorial/tutorial-9.rst:326 -#: ../../tutorial/tutorial-9.rst:396 6b371ee840fa423f89e70cbe3f16f5ab -#: 7d737be606774089a4a5979fa2ec76f7 c3446d0bc83c41b393818dc56646f3df -#: efa9001848c34815955fc7a63d07848d fc88bd37865d42d1a448807d82c34a40 -msgid "macOS" -msgstr "MacOS" - -#: ../../tutorial/tutorial-9.rst:57 ../../tutorial/tutorial-9.rst:156 -#: ../../tutorial/tutorial-9.rst:241 ../../tutorial/tutorial-9.rst:344 -#: ../../tutorial/tutorial-9.rst:438 02861222759a45cf8338631549c785ca -#: 0a00047dbaf947168624a74453123ed2 4a0ff02cc68449f498b652bcff379b57 -#: f24e91b790ff40d199ab7de902b6ab31 f955d23018a54fee9b0fe607594980a0 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-9.rst:83 ../../tutorial/tutorial-9.rst:173 -#: ../../tutorial/tutorial-9.rst:275 ../../tutorial/tutorial-9.rst:362 -#: ../../tutorial/tutorial-9.rst:471 3e69d1ae50aa48edb84bc3726cef322c -#: 7376c756445847ddb5ec0d893debb866 dae0ad5506904e6790461682885a2559 -#: e4c815ae09434549959836fee63d2bfe e594b247167743c2ad4688a62c7b80cb -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-9.rst:109 4ee7e5a2ed604cdd88d7c0b0d7d5aab6 -#, fuzzy -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "成功了!我们刚刚执行了一个测试,验证了 Python 数学以我们预期的方式运行(真是松了一口气!)。" - -#: ../../tutorial/tutorial-9.rst:112 075cb21da3a54abdba43182366f6554a -#, fuzzy -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "让我们用一个测试来替换这个占位符测试,以验证我们的 `greeting()` 方法是否按照我们预期的方式运行。用以下内容替换 `test_app.py` 中的内容::" - -#: ../../tutorial/tutorial-9.rst:130 3911037704b24843b30fc87144226ceb -#, fuzzy -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "这将定义两个新测试,验证我们期望看到的两种行为:提供名称时的输出和名称为空时的输出。" - -#: ../../tutorial/tutorial-9.rst:133 281cadf9d1bc477a9f8adbb213f53211 -#, fuzzy -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "现在我们可以重新运行测试套件。这一次,我们不需要提供 `-r` 选项,因为测试需求已经安装完毕;我们只需要使用 `--test` 选项:" - -#: ../../tutorial/tutorial-9.rst:190 f6793768beb04843b7089ebf90a0d712 -#, fuzzy -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "非常好我们的 `greeting()` 实用程序方法如期工作了。" - -#: ../../tutorial/tutorial-9.rst:193 00ec17fba6fd48bc9443bcd3114a9f86 -#, fuzzy -msgid "Test driven development" -msgstr "测试驱动开发" - -#: ../../tutorial/tutorial-9.rst:195 af38e016b4494ded99ff84e4a854ab72 -#, fuzzy -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "现在我们有了测试套件,可以用它来推动新功能的开发。让我们修改应用程序,为某位用户添加特殊的问候语。首先,我们可以在 `test_app.py`':的底部为我们希望看到的新行为添加一个测试用例:" - -#: ../../tutorial/tutorial-9.rst:205 3f5bcdb2f18c487bacc726b46150b1b3 -#, fuzzy -msgid "Then, run the test suite with this new test:" -msgstr "然后,用这个新测试运行测试套件:" - -#: ../../tutorial/tutorial-9.rst:307 a18fd7b9f69c4e51bf13b2178368d84d -#, fuzzy -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "这一次,我们看到了测试失败--输出结果解释了失败的原因:测试期望输出 \"BeeWare the IDEs of Python!\",但我们的 `greeting()` 实现却返回 \"Hello, Brutus\"。让我们修改 `src/helloworld/app.py` 中 `greeting()` 的实现,使其具有新的行为::" - -#: ../../tutorial/tutorial-9.rst:322 f32631a5038e4c878e9dd3a9fe067386 -#, fuzzy -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "如果我们再次运行测试,就会发现测试通过了:" - -#: ../../tutorial/tutorial-9.rst:381 6ff3035bb2294957a642d851702f4e22 -#, fuzzy -msgid "Runtime tests" -msgstr "运行时测试" - -#: ../../tutorial/tutorial-9.rst:383 3fcdbeec1ebf4cf28c48a634f6da8ced -#, fuzzy -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "到目前为止,我们一直在开发模式下运行测试。这在开发新功能时尤其有用,因为您可以快速迭代添加测试,并添加代码使测试通过。不过,在某些情况下,您会希望验证您的代码在捆绑应用程序环境下是否也能正确运行。" - -#: ../../tutorial/tutorial-9.rst:389 0ab123fec4fa421ebcd01f5498675ecb -#, fuzzy -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "[-test`和`-r`选项也可以传递给`run`命令。如果使用 `briefcase run --test -r`,将运行相同的测试套件,但它将在打包的应用程序捆绑包内运行,而不是在开发环境中运行:" - -#: ../../tutorial/tutorial-9.rst:508 258cdcbd93bc4326989cb659e476a855 -#, fuzzy -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "与 `briefcase dev --test` 一样,只有在第一次运行测试套件时才需要使用 `-r` 选项,以确保测试依赖项的存在。以后运行时,可以省略该选项。" - -#: ../../tutorial/tutorial-9.rst:512 5bdcaccd83054bc0b5d91a40e9bf0f00 -#, fuzzy -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "你也可以在移动后端使用 `--test` 选项:因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以在你选择的移动设备上运行测试套件。" - -#: ../../tutorial/tutorial-9.rst:517 25dee6c2ad704e26ad008f713c0770b0 -msgid "Next steps" -msgstr "下一步" - -#: ../../tutorial/tutorial-9.rst:519 de845c7c4bb440caab7634cdc872d9bb -msgid "We've now got a a test suite for our application. But it still looks like a tutorial app. Is there anything we can do about that? Turn to [Tutorial 10][tutorial-10] to find out..." -msgstr "" - -#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -#~ msgstr "这只是您利用 BeeWare 项目提供的工具所能做的一些尝试。接下来的工作就靠您自己了!" - -#~ msgid "Some places to go from here:" -#~ msgstr "从这里可以去一些地方:" - -#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -#~ msgstr "演示 [Toga widget 工具包 {1} 的功能] 的教程。" - -#~ msgid "Details on the [options available when configuring your Briefcase project]{1}." -#~ msgstr "配置您的 [Briefcase 项目]{1} 时可用选项的详细信息。" - diff --git a/locales/zh_TW/LC_MESSAGES/SUMMARY.po b/locales/zh_TW/LC_MESSAGES/SUMMARY.po new file mode 100644 index 00000000..5249ccc6 --- /dev/null +++ b/locales/zh_TW/LC_MESSAGES/SUMMARY.po @@ -0,0 +1,84 @@ +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/SUMMARY.md:1 +msgid "[Tutorial 0 - Let's get set up!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:2 +msgid "[Tutorial 1 - Your first app]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:3 +msgid "[Tutorial 2 - Making it interesting]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:4 +msgid "[Tutorial 3 - Packaging for distribution]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:5 +msgid "[Tutorial 4 - Updating your application]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "Tutorial 5 - Taking it Mobile" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it Mobile]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: Android]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:6 +msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:10 +msgid "[Tutorial 6 -Put it on the web!]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:11 +msgid "[Tutorial 7 - Get this (third-)party started]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:12 +msgid "[Tutorial 8 - Making it Smooooth]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "Going further" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Going further]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Customizing icons]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Using the camera]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:13 +msgid "[Testing times]{1}" +msgstr "" + +#: docs/en/SUMMARY.md:18 +msgid "[Contributing to this tutorial]{1}" +msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po index 5401b901..bc5fe9d3 100644 --- a/locales/zh_TW/LC_MESSAGES/how-to/index.po +++ b/locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -1,327 +1,374 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2025, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2025. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-20 20:24+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: zh_TW\n" "Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../how-to/index.rst:3 cc604b7f2da04ddfa2a136c988c13e1f +#: docs/en/how-to/index.md:1 msgid "Contributing to this tutorial" msgstr "" -#: ../../how-to/index.rst:5 c57e0b58b2cf41909ebc397709fca6f7 -msgid "This tutorial is written using [Sphinx and reStructuredText]{1}. This guide will help you contribute fixes or new content to this tutorial." +#: docs/en/how-to/index.md:3 +msgid "" +"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " +"help you contribute fixes or new content to this tutorial." msgstr "" -#: ../../how-to/index.rst:9 8f1a8815ad344f608dc08368c78d67ad -msgid "Translations of this tutorial are managed using [Weblate]{1}. If you'd like to contribute to the translation effort, join the `#translations` channel on [Discord]{2} and introduce yourself!" +#: docs/en/how-to/index.md:7 +msgid "" +"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " +"to contribute to the translation effort, join the `#translations` channel on " +"[Discord]{2} and introduce yourself!" msgstr "" -#: ../../how-to/index.rst:15 45782f56587c4c9aba683d3486e0a67a +#: docs/en/how-to/index.md:12 msgid "Set up your development environment" msgstr "" -#: ../../how-to/index.rst:19 76aaa393c911467595e6aefdcc0c05a0 -msgid "To build the BeeWare tutorial you **must** have a Python 3.12 interpreter installed and available on your path (i.e., `python3` must start a Python 3.12 interpreter)." -msgstr "" - -#: ../../how-to/index.rst:25 ../../how-to/index.rst:53 -#: ../../how-to/index.rst:111 ../../how-to/index.rst:148 -#: ../../how-to/index.rst:184 ../../how-to/index.rst:215 -#: ../../how-to/index.rst:242 ../../how-to/index.rst:325 -#: ../../how-to/index.rst:395 ../../how-to/index.rst:423 -#: ../../how-to/index.rst:452 ../../how-to/index.rst:483 -#: ../../how-to/index.rst:524 ../../how-to/index.rst:584 -#: 168ee84881ed4848b0f75abfb05f6d1a 2de17140ede247248635066ac4a34f1a -#: 2f83227465314f9c914bc24bccfa3717 475b04e34cc34d0fb21059c8ff58c471 -#: 6b6ad05f75b3426b98a148e95c437008 6c30b38d9cdc4e58bb605270fb078807 -#: 7c34852f6a324e3e813a66e04f93ec58 83ed02fddc1548988447d544f60ce00d -#: 98a8f23689424d84863b076858164d43 a058ffd70d704190b0aa856ba72e6fa1 -#: b898dbdbc1fc40a883e85b66c25ea5f4 d962cb07cff843d4bd4ac820802b7135 -#: d9fdbebff1754a3d960c2f8537f4c9be ff5f3db58e3b4612a2550b40155b413c -msgid "macOS" -msgstr "" - -#: ../../how-to/index.rst:32 ../../how-to/index.rst:68 -#: ../../how-to/index.rst:118 ../../how-to/index.rst:156 -#: ../../how-to/index.rst:191 ../../how-to/index.rst:222 -#: ../../how-to/index.rst:268 ../../how-to/index.rst:345 -#: ../../how-to/index.rst:401 ../../how-to/index.rst:429 -#: ../../how-to/index.rst:458 ../../how-to/index.rst:489 -#: ../../how-to/index.rst:530 ../../how-to/index.rst:590 -#: 23615b08f817457d83c341cb97556816 23c95e30ad3843739936a31f5419a613 -#: 2eb789c169284ae7b2958b7b9df87e48 46db36a58bdc474cb29759d7c0a1010e -#: 5b2e3d38b7f948c98ece1c20b480d924 7881130dcad04273bab033688e319d55 -#: 78fdd8ecc19842d5a5cfea1f8154bedf 81fa90914de549a0a145bd2306fbf04e -#: 90ab7a5b5ff6477da50f80e8fcaf0322 951b743881a14514a493d536d45114f7 -#: a179c19c5f744275a83b93acca18c569 b5ccc26a3a7545f88397e8b007acf1df -#: bd6adc5d59104eef87ce779fff134e4c f79117fa061e4a819a6b9aec6e8102ab -msgid "Linux" -msgstr "" - -#: ../../how-to/index.rst:39 ../../how-to/index.rst:97 -#: ../../how-to/index.rst:125 ../../how-to/index.rst:164 -#: ../../how-to/index.rst:198 ../../how-to/index.rst:229 -#: ../../how-to/index.rst:294 ../../how-to/index.rst:365 -#: ../../how-to/index.rst:407 ../../how-to/index.rst:435 -#: ../../how-to/index.rst:464 ../../how-to/index.rst:495 -#: ../../how-to/index.rst:536 ../../how-to/index.rst:596 -#: 008fce1d45654dbc88a806d2cda2bd9b 0ef9f04a04a84892b43a935e33cbb6eb -#: 2038f01c83f5449fb74da516cb7f6aae 26809ca3e32749bdb2fea444c675389f -#: 2a6ea071d04843318b1a3ae0243af897 318a6f788e474574a2d540b23ddcfc05 -#: 52c1064a6cd1410094cdf603cc98bada 7d1f89f39623471c96edd61abd09921c -#: 9e18046a80c349fe9e2d349dae771491 c01b25a595904fa093bb4db437f3f74f -#: dd0b2d4289cc4646ae14eba3d23332e6 df8df155a1214df9ad97e0b3cc0fb00b -#: e35fdaad1fc049e58f17bd0fce653fc5 f8ac5e0663cb4759a8147c8e64c2fa3d -msgid "Windows" -msgstr "" - -#: ../../how-to/index.rst:47 9e8d3709b10a4458af5d7d067b1b8764 -msgid "Install Enchant" -msgstr "" - -#: ../../how-to/index.rst:49 a0aa648fa2164aff80c8228fafa7d029 -msgid "You'll also need to install the Enchant spell checking library." -msgstr "" - -#: ../../how-to/index.rst:55 1977760275af4de4b5bd233232a4218b -msgid "Enchant can be installed using [Homebrew]{1}:" -msgstr "" - -#: ../../how-to/index.rst:61 496b7c8f89c04baab03d16b52a69499d -msgid "If you're on an Apple Silicon machine (M-series), you'll also need to manually set the location of the Enchant library:" -msgstr "" - -#: ../../how-to/index.rst:70 16cf60e04e664782bc841c7e3246e008 -msgid "Enchant can be installed as a system package:" -msgstr "" - -#: ../../how-to/index.rst:72 9a1763ab2d3740b1b7ce50f656d743a0 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: ../../how-to/index.rst:79 b00e2977ce7c48578142c0a16c557bfc -msgid "**Fedora**" -msgstr "" - -#: ../../how-to/index.rst:85 c2e2a82aba1543dc95af00a6d1714b11 -msgid "**Arch / Manjaro**" -msgstr "" - -#: ../../how-to/index.rst:91 c4222c0fcae948429a1c668a542c7855 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: ../../how-to/index.rst:99 d1d2ccc1c09f47b8bf0a424926e07c8c -msgid "Enchant is installed automatically when you set up your development environment." -msgstr "" - -#: ../../how-to/index.rst:103 5d11498fe8014e92931eb8b9a4fe7475 +#: docs/en/how-to/index.md:14 +msgid "" +"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " +"installed and available on your path (i.e., `python3` must start a Python " +"3.12 interpreter)." +msgstr "" + +#: docs/en/how-to/index.md:18 +#: docs/en/how-to/index.md:51 +#: docs/en/how-to/index.md:92 +#: docs/en/how-to/index.md:135 +#: docs/en/how-to/index.md:169 +#: docs/en/how-to/index.md:201 +#: docs/en/how-to/index.md:288 +#: docs/en/how-to/index.md:360 +#: docs/en/how-to/index.md:392 +#: docs/en/how-to/index.md:427 +#: docs/en/how-to/index.md:472 +#: docs/en/how-to/index.md:535 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/how-to/index.md:25 +#: docs/en/how-to/index.md:34 +#: docs/en/how-to/index.md:43 +#: docs/en/how-to/index.md:58 +#: docs/en/how-to/index.md:67 +#: docs/en/how-to/index.md:76 +#: docs/en/how-to/index.md:102 +#: docs/en/how-to/index.md:114 +#: docs/en/how-to/index.md:126 +#: docs/en/how-to/index.md:142 +#: docs/en/how-to/index.md:151 +#: docs/en/how-to/index.md:160 +#: docs/en/how-to/index.md:176 +#: docs/en/how-to/index.md:185 +#: docs/en/how-to/index.md:194 +#: docs/en/how-to/index.md:227 +#: docs/en/how-to/index.md:255 +#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:308 +#: docs/en/how-to/index.md:330 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:374 +#: docs/en/how-to/index.md:382 +#: docs/en/how-to/index.md:398 +#: docs/en/how-to/index.md:406 +#: docs/en/how-to/index.md:414 +#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:441 +#: docs/en/how-to/index.md:449 +#: docs/en/how-to/index.md:478 +#: docs/en/how-to/index.md:486 +#: docs/en/how-to/index.md:494 +#: docs/en/how-to/index.md:541 +#: docs/en/how-to/index.md:549 +#: docs/en/how-to/index.md:557 +msgid "///" +msgstr "" + +#: docs/en/how-to/index.md:27 +#: docs/en/how-to/index.md:60 +#: docs/en/how-to/index.md:104 +#: docs/en/how-to/index.md:144 +#: docs/en/how-to/index.md:178 +#: docs/en/how-to/index.md:229 +#: docs/en/how-to/index.md:310 +#: docs/en/how-to/index.md:368 +#: docs/en/how-to/index.md:400 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:480 +#: docs/en/how-to/index.md:543 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/how-to/index.md:36 +#: docs/en/how-to/index.md:69 +#: docs/en/how-to/index.md:116 +#: docs/en/how-to/index.md:153 +#: docs/en/how-to/index.md:187 +#: docs/en/how-to/index.md:257 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:376 +#: docs/en/how-to/index.md:408 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:488 +#: docs/en/how-to/index.md:551 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/how-to/index.md:45 msgid "Create a virtual environment" msgstr "" -#: ../../how-to/index.rst:105 8841a6333bcc4f88ac2a56e2876530b2 -msgid "The recommended way of setting up your development environment for BeeWare is to install a virtual environment, install the required dependencies and start coding. To set up a virtual environment, run:" +#: docs/en/how-to/index.md:47 +msgid "" +"The recommended way of setting up your development environment for BeeWare " +"is to install a virtual environment, install the required dependencies and " +"start coding. To set up a virtual environment, run:" msgstr "" -#: ../../how-to/index.rst:132 6f5234382fc24571b045535b1f24df1c +#: docs/en/how-to/index.md:78 msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" -#: ../../how-to/index.rst:135 1e7e2ad8d9ce4cae956fa13fd7ab4680 +#: docs/en/how-to/index.md:80 msgid "Clone the BeeWare repository" msgstr "" -#: ../../how-to/index.rst:137 693932b8b59347efb05041786fe2ea68 +#: docs/en/how-to/index.md:82 msgid "For updates to BeeWare documentation:" msgstr "" -#: ../../how-to/index.rst:139 82e9767a84b647e8934c4ba96640cd52 -msgid "Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your own account, and then clone a copy of that repository onto your computer by clicking on \"Clone or Download\". If you have the GitHub desktop application installed on your computer, you can select \"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone using the command line:" +#: docs/en/how-to/index.md:84 +msgid "" +"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " +"own account, and then clone a copy of that repository onto your computer by " +"clicking on \"Clone or Download\". If you have the GitHub desktop " +"application installed on your computer, you can select \"Open in Desktop\"; " +"otherwise, copy the URL provided, and use it to clone using the command line:" msgstr "" -#: ../../how-to/index.rst:150 ../../how-to/index.rst:158 -#: 5f3671f17bd44d6db961264864b176d0 c71efc40cd6b4780922e355777a2c885 +#: docs/en/how-to/index.md:94 +#: docs/en/how-to/index.md:106 +#: docs/en/how-to/index.md:118 msgid "Fork the BeeWare repository, and then:" msgstr "" -#: ../../how-to/index.rst:154 ../../how-to/index.rst:162 -#: ../../how-to/index.rst:172 4f5a6e9c45ec4ba093ec071dc1517cc7 -#: 868cca3df86642b39901c3818731e24d a2864862666e4b5ab8dd3da74bee6046 +#: docs/en/how-to/index.md:100 +#: docs/en/how-to/index.md:112 +#: docs/en/how-to/index.md:124 msgid "(substituting your GitHub username)" msgstr "" -#: ../../how-to/index.rst:166 be660bfee3954935bc081562bb7a0857 -msgid "Fork the BeeWare repository, and then:" -msgstr "" - -#: ../../how-to/index.rst:175 d65e4bfec27748919f60407e23ecedd7 +#: docs/en/how-to/index.md:128 msgid "Install BeeWare tutorial docs dependencies" msgstr "" -#: ../../how-to/index.rst:177 b1a6cec91a4f4ae18119e22fc1c14daa -msgid "Now that you have the source code, you can install BeeWare docs requirements into your development environment. Since we're installing from source, we can't rely on pip to resolve the dependencies to source packages, so we have to manually install each package:" +#: docs/en/how-to/index.md:130 +msgid "" +"Now that you have the source code, you can install BeeWare docs requirements " +"into your development environment. Since we're installing from source, we " +"can't rely on pip to resolve the dependencies to source packages, so we have " +"to manually install each package:" msgstr "" -#: ../../how-to/index.rst:206 f7b7569619434cf592a140c2f4ad09eb +#: docs/en/how-to/index.md:162 msgid "Install pre-commit" msgstr "" -#: ../../how-to/index.rst:208 6474fd91366d4c49bb6564b9fa8ff7d6 -msgid "BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and standardize code formatting. It does this by installing a git hook that automatically runs a series of code linters prior to finalizing any git commit. To enable pre-commit, run:" +#: docs/en/how-to/index.md:164 +msgid "" +"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " +"standardize code formatting. It does this by installing a git hook that " +"automatically runs a series of code linters prior to finalizing any git " +"commit. To enable pre-commit, run:" msgstr "" -#: ../../how-to/index.rst:236 45f58c51eba24cb9992c9ac91ca18336 -msgid "When you commit any change, pre-commit will run automatically. If there are any issues found with the commit, this will cause your commit to fail. Where possible, pre-commit will make the changes needed to correct the problems it has found:" +#: docs/en/how-to/index.md:196 +msgid "" +"When you commit any change, pre-commit will run automatically. If there are " +"any issues found with the commit, this will cause your commit to fail. Where " +"possible, pre-commit will make the changes needed to correct the problems it " +"has found:" msgstr "" -#: ../../how-to/index.rst:320 3554f67f168f4d9b9616554c2636adf9 -msgid "You can then re-add any files that were modified as a result of the pre-commit checks, and re-commit the change." +#: docs/en/how-to/index.md:285 +msgid "" +"You can then re-add any files that were modified as a result of the pre-" +"commit checks, and re-commit the change." msgstr "" -#: ../../how-to/index.rst:383 06235f87cccd4fe7abcec4b9c0333d29 +#: docs/en/how-to/index.md:352 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: ../../how-to/index.rst:386 3b2ee3b12a9845f5a12b0d759e8217b6 +#: docs/en/how-to/index.md:354 msgid "Building BeeWare's documentation" msgstr "" -#: ../../how-to/index.rst:389 34b04a54de5b4aad86b07a59a8e910d4 +#: docs/en/how-to/index.md:356 msgid "Build documentation locally" msgstr "" -#: ../../how-to/index.rst:391 f1da629d065d499a8fc9635ababa6d4b +#: docs/en/how-to/index.md:358 msgid "Once your development environment is set up, run:" msgstr "" -#: ../../how-to/index.rst:413 5118d034318c4067bf1c680761104315 -msgid "The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:384 +msgid "" +"The output of the file should be in the `docs/_build/html` folder. If there " +"are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:417 49f74da22ec3443fae2047c5eec0c1f3 +#: docs/en/how-to/index.md:387 msgid "Live documentation preview" msgstr "" -#: ../../how-to/index.rst:419 3bbc89c5950946e68b16c46a0122c0d4 -msgid "To support rapid editing of documentation, BeeWare also has a \"live preview\" mode:" -msgstr "" - -#: ../../how-to/index.rst:441 637e6ba079ef4d7e9cbffc15a4fd8d3c -msgid "This will build the documentation, start a web server to serve the build documentation, and watch the file system for any changes to the documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed." -msgstr "" - -#: ../../how-to/index.rst:446 dab845de6666411db9a1c36252f17029 -msgid "Live preview mode will only monitor the `docs` directory for changes. If you're updating the inline documentation associated with BeeWare source code, you'll need to use the `docs-live-src` target to build docs:" +#: docs/en/how-to/index.md:389 +msgid "" +"To support rapid editing of documentation, BeeWare also has a " +"\"live preview\" mode:" msgstr "" -#: ../../how-to/index.rst:470 3f06646c5a21447483b528c29232023d -msgid "This behaves the same as `docs-live`, but will also monitor any changes to the `core/src` folder, reflecting any changes to inline documentation. However, the rebuild process takes much longer, so you may not want to use this target unless you're actively editing inline documentation." +#: docs/en/how-to/index.md:416 +msgid "" +"This will build the documentation, start a web server to serve the build " +"documentation, and watch the file system for any changes to the " +"documentation source. If a change is detected, the documentation will be " +"rebuilt, and any browser viewing the modified page will be automatically " +"refreshed." msgstr "" -#: ../../how-to/index.rst:476 0cd57efe213945da8701d217568dbb1a +#: docs/en/how-to/index.md:422 msgid "Documentation linting" msgstr "" -#: ../../how-to/index.rst:478 2987f3fdbc1145709121d917fa848673 -msgid "The build process will identify reStructuredText problems, but BeeWare performs some additional \"lint\" checks. To run the lint checks:" +#: docs/en/how-to/index.md:424 +msgid "" +"The build process will identify reStructuredText problems, but BeeWare " +"performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: ../../how-to/index.rst:501 a9c82983aab247fab326d9eb0a4d4682 +#: docs/en/how-to/index.md:451 msgid "This will validate the documentation does not contain:" msgstr "" -#: ../../how-to/index.rst:503 534a0b474dc8482eb6184562e0c93cc1 +#: docs/en/how-to/index.md:453 msgid "dead hyperlinks" msgstr "" -#: ../../how-to/index.rst:504 f86c2a1699aa476f81add412c2c67aad +#: docs/en/how-to/index.md:454 msgid "misspelled words" msgstr "" -#: ../../how-to/index.rst:506 68600592fe4342d59405b16874732a65 -msgid "If a valid spelling of a word is identified as misspelled, then add the word to the list in `docs/spelling_wordlist`. This will add the word to the spellchecker's dictionary. When adding to this list, remember:" +#: docs/en/how-to/index.md:456 +msgid "" +"If a valid spelling of a word is identified as misspelled, then add the word " +"to the list in `docs/spelling_wordlist`. This will add the word to the " +"spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: ../../how-to/index.rst:510 a796ec6a070d4ce68b0aad5696187cdf -msgid "We prefer US spelling, with some liberties for programming-specific colloquialism (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" +#: docs/en/how-to/index.md:460 +msgid "" +"We prefer US spelling, with some liberties for programming-specific " +"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: ../../how-to/index.rst:512 ec1c4c5c9a474882babc710fbbc13e68 -msgid "Any reference to a product name should use the product's preferred capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", \"PyScript\")." +#: docs/en/how-to/index.md:462 +msgid "" +"Any reference to a product name should use the product's preferred " +"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " +"\"PyScript\")." msgstr "" -#: ../../how-to/index.rst:514 d423b59c956b4d8d98ebee1bc3701961 -msgid "If a term is being used \"as code\", then it should be quoted as a literal rather than being added to the dictionary." +#: docs/en/how-to/index.md:465 +msgid "" +"If a term is being used \"as code\", then it should be quoted as inline code " +"rather than being added to the dictionary." msgstr "" -#: ../../how-to/index.rst:518 8bc36f17d747411ebbf4e9f0f2909cf9 +#: docs/en/how-to/index.md:468 msgid "Rebuilding all documentation" msgstr "" -#: ../../how-to/index.rst:520 959ae5eb19644a1a9380fc9a7755f4af -msgid "To force a rebuild for all of the documentation:" +#: docs/en/how-to/index.md:470 +msgid "To force a rebuild for all the documentation:" msgstr "" -#: ../../how-to/index.rst:542 b491b6c602af47e29269a4f33268a05e -msgid "The documentation should be fully rebuilt in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error." +#: docs/en/how-to/index.md:496 +msgid "" +"The documentation should be fully rebuilt in the `docs/_build/html` folder. " +"If there are any markup problems, they'll raise an error." msgstr "" -#: ../../how-to/index.rst:546 98686edffc4840318cfcaacfafa03001 +#: docs/en/how-to/index.md:499 msgid "What to work on?" msgstr "" -#: ../../how-to/index.rst:548 3c7559d0b6e440e5bb67de39b0cf52f1 -msgid "If you're looking for specific areas to improve, there are [tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." +#: docs/en/how-to/index.md:501 +msgid "" +"If you're looking for specific areas to improve, there are " +"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: ../../how-to/index.rst:553 7a472802bcb5439b8a6a63937040a571 -msgid "However, you don't need to be constrained by these tickets. If you can identify an error in the tutorial, or an improvement that can be made, start writing! Anything that improves the experience of the end user is a welcome change." +#: docs/en/how-to/index.md:505 +msgid "" +"However, you don't need to be constrained by these tickets. If you can " +"identify an error in the tutorial, or an improvement that can be made, start " +"writing! Anything that improves the experience of the end user is a welcome " +"change." msgstr "" -#: ../../how-to/index.rst:558 b2e6a9429369472e954c55b166bc338e +#: docs/en/how-to/index.md:510 msgid "Submitting a pull request" msgstr "" -#: ../../how-to/index.rst:560 941f2afe1f2b4d68a728d4e1ff5fe8e5 -msgid "Before you submit a pull request, there's a few bits of housekeeping to do." +#: docs/en/how-to/index.md:512 +msgid "" +"Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: ../../how-to/index.rst:563 1e36d324626b418eb1c072690afd79ed +#: docs/en/how-to/index.md:515 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: ../../how-to/index.rst:565 b71f5d0aff2c45c8863b2baacbbde16b -msgid "Before you start working on your change, make sure you've created a branch. By default, when you clone your repository fork, you'll be checked out on your `main` branch. This is a direct copy of BeeWare's `main` branch. To contribute to BeeWare itself, not the docs, please review the repo README." +#: docs/en/how-to/index.md:517 +msgid "" +"Before you start working on your change, make sure you've created a branch. " +"By default, when you clone your repository fork, you'll be checked out on " +"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " +"contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: ../../how-to/index.rst:570 b3898fafd69f46babeaebc23e7b808ba -msgid "While you *can* submit a pull request from your `main` branch, it's preferable if you *don't* do this. If you submit a pull request that is *almost* right, the core team member who reviews your pull request may be able to make the necessary changes, rather than giving feedback asking for a minor change. However, if you submit your pull request from your `main` branch, reviewers are prevented from making modifications." +#: docs/en/how-to/index.md:523 +msgid "" +"While you *can* submit a pull request from your `main` branch, it's " +"preferable if you *don't* do this. If you submit a pull request that is " +"*almost* right, the core team member who reviews your pull request may be " +"able to make the necessary changes, rather than giving feedback asking for a " +"minor change. However, if you submit your pull request from your `main` " +"branch, reviewers are prevented from making modifications." msgstr "" -#: ../../how-to/index.rst:577 22030a2e92434f7980da1e3d767f4ff3 -msgid "Instead, you should make your changes on a *feature branch*. A feature branch has a simple name to identify the change that you've made." +#: docs/en/how-to/index.md:530 +msgid "" +"Instead, you should make your changes on a *feature branch*. A feature " +"branch has a simple name to identify the change that you've made." msgstr "" -#: ../../how-to/index.rst:580 7a724af2e92c4ca385244ae6e2708551 +#: docs/en/how-to/index.md:533 msgid "To create a feature branch, run:" msgstr "" -#: ../../how-to/index.rst:602 ec49389ee9ae41a494b16f6d2dd52e45 -msgid "Commit your changes to this branch, then push to GitHub and create a pull request." +#: docs/en/how-to/index.md:559 +msgid "" +"Commit your changes to this branch, then push to GitHub and create a pull " +"request." msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po index fc7f17f9..4f5419f2 100644 --- a/locales/zh_TW/LC_MESSAGES/index.po +++ b/locales/zh_TW/LC_MESSAGES/index.po @@ -1,105 +1,176 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-08 09:22+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-11 10:01+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../index.rst:3 cd9480f7f80f4123a58c5d6ab031d76d -msgid "Welcome to the BeeWare Tutorial!" -msgstr "歡迎來到 BeeWare 教學!" +#: docs/en/index.md:1 +msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgstr "歡迎來到 BeeWare 教學! { id=tutorial }" -#: ../../index.rst:5 6c6072e7922042388087a8ce29d541ec +#: docs/en/index.md:3 msgid "**Write Python. Run Anywhere.**" msgstr "**在任何地方執行你寫的Python。**" -#: ../../index.rst:7 9cee207a277e45c792470c61824969d6 -msgid "Welcome to BeeWare! In this tutorial, we're going to build a graphical user interface using Python, and deploy it as a desktop application, as a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app." -msgstr "歡迎來到 BeeWare!在本教學中,我們將使用 Python 建立一個 GUI,並將其部署為桌面應用程式、行動應用程式和網頁。我們還將了解如何使用 BeeWare 工具來執行作為應用程式開發人員所需執行的一些常見任務,例如測試應用程式。" +#: docs/en/index.md:5 +msgid "" +"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " +"interface using Python, and deploy it as a desktop application, as a mobile " +"application, and as a single page web app. We'll also look at how you can " +"use BeeWare tools to perform some of the common tasks that you'll need to do " +"as an app developer, such as testing your app." +msgstr "" +"歡迎來到 BeeWare!在本教學中,我們將使用 Python 建立一個 " +"GUI,並將其部署為桌面應用程式、行動應用程式和網頁。我們還將了解如何使用 " +"BeeWare " +"工具來執行作為應用程式開發人員所需執行的一些常見任務,例如測試應用程式。" + +#: docs/en/index.md:11 +msgid "{% if config.extra.translation_type == original %}" +msgstr "" + +#: docs/en/index.md:13 +msgid "/// admonition | Translations are available" +msgstr "" + +#: docs/en/index.md:15 +msgid "" +"If you're not comfortable with English, translations of this tutorial are " +"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " +"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." +msgstr "" +"如果您不熟悉中文,可以使用本教學的翻譯版本 [English]{1} [Deutsch]{2}, " +"[Español]{3}, [Français]{4}, [Italiano]{5}, [Português]{6}, [简体中文]{7} 。" + +#: docs/en/index.md:25 +#: docs/en/index.md:42 +#: docs/en/index.md:59 +msgid "///" +msgstr "" -#: ../../index.rst:14 eeb60c397ab74a6c9e39397c16b153c7 -msgid "Translations are available" -msgstr "本頁中文翻譯基於英文文檔翻譯,已由人工審核" +#: docs/en/index.md:27 +#: docs/en/index.md:44 +#: docs/en/index.md:61 +msgid "{% endif %}" +msgstr "" -#: ../../index.rst:16 021f4393db314ba7903a7f0228aa26c4 -msgid "If you're not comfortable with English, translations of this tutorial are available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, [Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "如果您不熟悉中文,可以使用本教學的翻譯版本 [English]{1} [Deutsch]{2}, [Español]{3}, [Français]{4}, [Italiano]{5}, [Português]{6}, [简体中文]{7} 。" +#: docs/en/index.md:29 +msgid "{% if config.extra.translation_type == machine %}" +msgstr "" -#: ../../index.rst:29 b437aa3f82534cfab531b0a8809dfd51 -msgid "This is a machine translation!" -msgstr "這是機器翻譯!" +#: docs/en/index.md:31 +msgid "/// admonition | This is a machine translation!" +msgstr "" -#: ../../index.rst:31 ea6b9c7ac0674bd19d73dbf839936b8b -msgid "This version of the tutorial has been generated by machine translation. We know this isn't ideal, but we felt that a bad translation was better than no translation at all." -msgstr "此版本的教學是透過機器翻譯產生的。我們知道這並不理想,但我們認為糟糕的翻譯總比沒有翻譯好。" +#: docs/en/index.md:33 +msgid "" +"This version of the tutorial has been generated by machine translation. We " +"know this isn't ideal, but we felt that a bad translation was better than no " +"translation at all." +msgstr "此版本的教學是透過機器翻譯產生的。我們知道這並不理想,但我們認為糟糕的翻譯總" +"比沒有翻譯好。" + +#: docs/en/index.md:37 +#: docs/en/index.md:54 +msgid "" +"If you'd like the help improve the translation, get in touch! We have a " +"`#translations` channel in [Discord]{1}. Introduce yourself there and we " +"will add you to the translation team." +msgstr "" +"如果您想要協助改進翻譯,請聯絡我們!我們在 [Discord]{1} 中有一個 " +"`#translations` 頻道。在那裡進行自我介紹,我們會將您加入翻譯團隊。" -#: ../../index.rst:35 ../../index.rst:47 46d4c2eb8938487b92b3141ea8c5aa4f -#: b5a5d118b9c44330acf43ccd710b25bb -msgid "If you'd like the help improve the translation, get in touch! We have a `#translations` channel in [Discord]{1}. Introduce yourself there and we will add you to the translation team." -msgstr "如果您想要協助改進翻譯,請聯絡我們!我們在 [Discord]{1} 中有一個 `#translations` 頻道。在那裡進行自我介紹,我們會將您加入翻譯團隊。" +#: docs/en/index.md:46 +msgid "{% if config.extra.translation_type == human %}" +msgstr "" -#: ../../index.rst:41 44cad816a6e04508928ef8940ac60ce4 -msgid "This is a translation!" -msgstr "這是翻譯!" +#: docs/en/index.md:48 +msgid "/// admonition | This is a translation!" +msgstr "" -#: ../../index.rst:43 75668ffe3aa14d15aa81087adbe42b48 -msgid "This document is a translation of the English version. The translation has been reviewed by humans, but newer sections may be generated by machine translation, or not translated at all." -msgstr "本文檔是英文版本的翻譯。翻譯已經過人工審核,但較新的部分可能是由機器翻譯產生的,或者根本不翻譯。" +#: docs/en/index.md:50 +msgid "" +"This document is a translation of the English version. The translation has " +"been reviewed by humans, but newer sections may be generated by machine " +"translation, or not translated at all." +msgstr "本文檔是英文版本的翻譯。翻譯已經過人工審核,但較新的部分可能是由機器翻譯產生" +"的,或者根本不翻譯。" -#: ../../index.rst:52 e651128d5e264645a7512922f5c59e29 +#: docs/en/index.md:64 msgid "What is BeeWare?" msgstr "什麼是 BeeWare?" -#: ../../index.rst:54 ee6223e4441b4a81916b739867ab5679 -msgid "BeeWare is not a single product, or tool, or library - it's a collection of tools and libraries, each of which works together to help you write cross platform Python applications with a native GUI. It includes:" -msgstr "BeeWare 不是一個單一的產品、工具或函式庫 - 它是工具和函式庫的集合,每個工具和函式庫協同工作,幫助您編寫跨平台的原生 Python GUI 應用程式。這包括:" +#: docs/en/index.md:66 +msgid "" +"BeeWare is not a single product, or tool, or library - it's a collection of " +"tools and libraries, each of which works together to help you write cross " +"platform Python applications with a native GUI. It includes:" +msgstr "" +"BeeWare 不是一個單一的產品、工具或函式庫 - " +"它是工具和函式庫的集合,每個工具和函式庫協同工作,幫助您編寫跨平台的原生 " +"Python GUI 應用程式。這包括:" -#: ../../index.rst:58 d1b0c56da7bc4a5d8b8a068847f2ef8e -#, fuzzy -msgid "[Toga]{1}, a cross platform widget toolkit;" -msgstr "[Toga]{1} ,跨平台小工具包;" +#: docs/en/index.md:70 +msgid "[Toga]{1}, a cross-platform widget toolkit;" +msgstr "" -#: ../../index.rst:59 c96c333e7d4f4d2e8f8d659ce706820e +#: docs/en/index.md:71 #, fuzzy -msgid "[Briefcase]{1}, a tool for packaging Python projects as distributable artefacts that can be shipped to end users;" -msgstr "[Briefcase]{1} ,一種將 Python 專案打包為可分發形式(apk、exe等)並可傳送給最終使用者的工具;" +msgid "" +"[Briefcase]{1}, a tool for packaging Python projects as distributable " +"artefacts that can be shipped to end users;" +msgstr "[Briefcase]{1} ,一種將 Python " +"專案打包為可分發形式(apk、exe等)並可傳送給最終使用者的工具;" -#: ../../index.rst:61 15d3549e5d5e4aee8cb668e50dcc6fdc +#: docs/en/index.md:74 #, fuzzy -msgid "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native libraries;" +msgid "" +"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " +"libraries;" msgstr "用於存取各個平臺的原生庫的庫(例如 [Rubicon ObjC]{1} );" -#: ../../index.rst:63 e714fc5aa5fe4a6ab721d6bbcedeb640 -msgid "Pre-compiled builds of Python that can be used on platforms where official Python installers aren't available." +#: docs/en/index.md:76 +msgid "" +"Pre-compiled builds of Python that can be used on platforms where official " +"Python installers aren't available." msgstr "預編譯版本的 Python 可在無官方 Python 安裝程式的平台上使用。" -#: ../../index.rst:66 35653ac44e074bd99ffa4903cc375c31 -msgid "In this tutorial, we'll be using all these tools, but as a user, you'll only need to interact with the first two (Toga and Briefcase). However, each of the tools can also be used individually - for example, you can use Briefcase to deploy an app without using Toga as a GUI toolkit." -msgstr "在本教程中,我們將使用所有這些工具,但作為用戶,您只需要與前兩個工具(Toga 和 Briefcase)進行互動。每個工具也可以單獨使用 - 舉例來說,您可以使用 Briefcase 來部署應用程序,而不使用 Toga 作為 GUI 工具包。" +#: docs/en/index.md:79 +msgid "" +"In this tutorial, we'll be using all these tools, but as a user, you'll only " +"need to interact with the first two (Toga and Briefcase). However, each of " +"the tools can also be used individually - for example, you can use Briefcase " +"to deploy an app without using Toga as a GUI toolkit." +msgstr "" +"在本教程中,我們將使用所有這些工具,但作為用戶,您只需要與前兩個工具(Toga " +"和 Briefcase)進行互動。每個工具也可以單獨使用 - 舉例來說,您可以使用 " +"Briefcase 來部署應用程序,而不使用 Toga 作為 GUI 工具包。" -#: ../../index.rst:71 eea796090d26405e8ba6a869d61fa87c -msgid "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on mobile platforms such as Android and iOS; and for the Web." -msgstr "BeeWare 套件可在 macOS、Windows、Linux(使用 GTK)上使用,也在Android和iOS等行動平台上,甚至是網頁。" +#: docs/en/index.md:84 +msgid "" +"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " +"mobile platforms such as Android and iOS; and for the Web." +msgstr "BeeWare 套件可在 macOS、Windows、Linux(使用 " +"GTK)上使用,也在Android和iOS等行動平台上,甚至是網頁。" -#: ../../index.rst:75 4ff2f132bb45497e85e03ec6a9f48a83 +#: docs/en/index.md:87 #, fuzzy msgid "Let's go!" msgstr "讓我們開始吧!" -#: ../../index.rst:77 f8400df8b4a54de281b05034bff2389f -msgid "Ready to try BeeWare for yourself? [Let's build a cross platform application in Python!][tutorial/tutorial-0]" -msgstr "準備好親自嘗試 BeeWare 了嗎? [讓我們用 Python 建立一個跨平台應用程式!][tutorial/tutorial-0]" +#: docs/en/index.md:89 +msgid "" +"Ready to try BeeWare for yourself? " +"[Let's build a cross-platform application in Python!][tutorial-0]" +msgstr "" +#~ msgid "Welcome to the BeeWare Tutorial!" +#~ msgstr "歡迎來到 BeeWare 教學!" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po index 3c39e7bf..c82dbc4b 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po @@ -1,138 +1,192 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: zh_TW\n" "Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/camera-access.rst:3 7c5c420b17304079bd445140a1851b41 -msgid "Using the camera" +#: docs/en/tutorial/topics/camera-access.md:1 +msgid "Using the camera { id=\"camera-access\" }" msgstr "" -#: ../../tutorial/topics/camera-access.rst:5 bb0a3b6736644bb3b7fab9941df38545 -msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the new application that uses your device's camera." +#: docs/en/tutorial/topics/camera-access.md:3 +msgid "" +"Almost every modern computing device has a camera of some sort. In this " +"tutorial, we'll write new application that is able to request access to this " +"camera, take a photograph, and then display that photograph in the new " +"application that uses your device's camera." +msgstr "" + +#: docs/en/tutorial/topics/camera-access.md:8 +msgid "/// admonition | This tutorial won't work on all platforms!" msgstr "" -#: ../../tutorial/topics/camera-access.rst:10 cab7dec2992b41d9a2f32d5836ed0413 -msgid "This tutorial won't work on all platforms!" +#: docs/en/tutorial/topics/camera-access.md:10 +msgid "" +"Unfortunately, at present, this tutorial will only work on macOS and Android." msgstr "" -#: ../../tutorial/topics/camera-access.rst:12 50dcb37e5b8240b796c26c03632e875e -msgid "Unfortunately, at present, this tutorial will only work on macOS and Android." +#: docs/en/tutorial/topics/camera-access.md:13 +msgid "" +"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " +"working camera. Windows and Linux devices also have cameras, but Toga " +"doesn't currently have the ability to access the camera on these platforms." msgstr "" -#: ../../tutorial/topics/camera-access.rst:15 f3eafc54dcc845c3ad3a9ea740b88a96 -msgid "Although iPhones all have cameras, the iOS *Simulator* doesn't have a working camera. Windows and Linux devices also have cameras, but Toga doesn't currently have the ability to access the camera on these platforms." +#: docs/en/tutorial/topics/camera-access.md:18 +msgid "" +"The code presented here will *run* on Windows or Linux; but it will raise an " +"error when you try to take a photograph." msgstr "" -#: ../../tutorial/topics/camera-access.rst:19 c6ee5410f2bb40d69e4cd68cf6121c93 -msgid "The code presented here will *run* on Windows or Linux; but it will raise an error when you try to take a photograph." +#: docs/en/tutorial/topics/camera-access.md:21 +msgid "" +"The code will work if it is run on an actual iOS device, but will fail to " +"take a photograph if deployed to the iOS simulator." msgstr "" -#: ../../tutorial/topics/camera-access.rst:22 3cc260fa7686433aa726a7d7a8355649 -msgid "The code will work if it is run on an actual iOS device, but will fail to take a photograph if deployed to the iOS simulator." +#: docs/en/tutorial/topics/camera-access.md:24 +#: docs/en/tutorial/topics/camera-access.md:166 +#: docs/en/tutorial/topics/camera-access.md:175 +msgid "///" msgstr "" -#: ../../tutorial/topics/camera-access.rst:26 d0dc918c887d48498ca700bb89fac378 +#: docs/en/tutorial/topics/camera-access.md:26 msgid "Start a new project" msgstr "" -#: ../../tutorial/topics/camera-access.rst:28 67bb5bfe9c4b45e99d86112b78908af1 -msgid "For this tutorial, we're not going to build onto the application from the core tutorial - we're going to start a fresh project. You can use the same virtual environment you used in the first project; but we need to re-run the `briefcase new` wizard." +#: docs/en/tutorial/topics/camera-access.md:28 +msgid "" +"For this tutorial, we're not going to build onto the application from the " +"core tutorial - we're going to start a fresh project. You can use the same " +"virtual environment you used in the first project; but we need to re-run the " +"`briefcase new` wizard." msgstr "" -#: ../../tutorial/topics/camera-access.rst:33 9f2ffc5ceb6f4177a1d55765b1cdef24 -msgid "Change back to the directory that contains the `helloworld` project folder, and start a new project named \"Hello Camera\":" +#: docs/en/tutorial/topics/camera-access.md:33 +msgid "" +"Change back to the directory that contains the `helloworld` project folder, " +"and start a new project named \"Hello Camera\":" msgstr "" -#: ../../tutorial/topics/camera-access.rst:51 cf9bfaaa99194b059a50548acf4a500f +#: docs/en/tutorial/topics/camera-access.md:50 msgid "Add code to take a photo" msgstr "" -#: ../../tutorial/topics/camera-access.rst:53 bc802494bdf244fcb1d94e967c1981fc -msgid "The wizard has generated a new empty Toga project. We can now add the code to take and display a photograph. Edit the `app.py` for the new application so that it has the following content:" +#: docs/en/tutorial/topics/camera-access.md:52 +msgid "" +"The wizard has generated a new empty Toga project. We can now add the code " +"to take and display a photograph. Edit the `app.py` for the new application " +"so that it has the following content:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:109 7eff1f64040b41e995362ba3e6efbcfd -msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted above:" +#: docs/en/tutorial/topics/camera-access.md:107 +msgid "" +"This code has two changes over the default app that is generated by " +"Briefcase. These additions are highlighted above:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:112 2d03e7bd0b6e458c93d1b487f1aaed54 -msgid "The first highlighted code block (in the `startup()` method) adds the two widgets needed to control the camera: an `ImageView` to display a photo; and a `Button` to trigger the camera." +#: docs/en/tutorial/topics/camera-access.md:110 +msgid "" +"The first highlighted code block (in the `startup()` method) adds the two " +"widgets needed to control the camera: an `ImageView` to display a photo; and " +"a `Button` to trigger the camera." msgstr "" -#: ../../tutorial/topics/camera-access.rst:116 50061d60767c4d23a10aaacd82249a09 -msgid "The second highlighted code block (the `take_photo()` method) defines the event handler when the button is pressed. This handler first confirms if the application has permission to take a photo; if permission doesn't exist, it is requested. Then, a photo is taken. The request for permission and the request to take a photo are both asynchronous requests, so they require the use of `await`; while the app is waiting for the user to confirm permissions or take the photo, the app's event loop can continue in the background." +#: docs/en/tutorial/topics/camera-access.md:113 +msgid "" +"The second highlighted code block (the `take_photo()` method) defines the " +"event handler when the button is pressed. This handler first confirms if the " +"application has permission to take a photo; if permission doesn't exist, it " +"is requested. Then, a photo is taken. The request for permission and the " +"request to take a photo are both asynchronous requests, so they require the " +"use of `await`; while the app is waiting for the user to confirm permissions " +"or take the photo, the app's event loop can continue in the background." msgstr "" -#: ../../tutorial/topics/camera-access.rst:124 f029ebf4a1a0415b88e289cf66ea0b64 -msgid "If the camera successfully takes a photo, it will return an `Image` object that can be assigned as the content of the `ImageView`. If the photo request was canceled by the user, the `self.camera.take_photo()` call will return `None`, and the result can be ignored. If the user doesn't grant permission to use the camera, or the camera isn't implemented on the current platform, an error will be raised, and a dialog will be shown to the user." +#: docs/en/tutorial/topics/camera-access.md:122 +msgid "" +"If the camera successfully takes a photo, it will return an `Image` object " +"that can be assigned as the content of the `ImageView`. If the photo request " +"was canceled by the user, the `self.camera.take_photo()` call will return " +"`None`, and the result can be ignored. If the user doesn't grant permission " +"to use the camera, or the camera isn't implemented on the current platform, " +"an error will be raised, and a dialog will be shown to the user." msgstr "" -#: ../../tutorial/topics/camera-access.rst:132 85d82862a0e24f2fb62aa79005843f57 +#: docs/en/tutorial/topics/camera-access.md:130 msgid "Adding device permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:134 bd238e56f0504e08a3f009ae55682a56 -msgid "Part of this code we've just added asks for permission to use the camera. This is a common feature of modern app platforms - you can't access hardware features without explicitly asking the user's permission first." +#: docs/en/tutorial/topics/camera-access.md:132 +msgid "" +"Part of this code we've just added asks for permission to use the camera. " +"This is a common feature of modern app platforms - you can't access hardware " +"features without explicitly asking the user's permission first." msgstr "" -#: ../../tutorial/topics/camera-access.rst:138 4e315314b61a490ca22d8fae915595f6 -msgid "However, this request comes in two parts. The first is in the code we've just seen; but before the app can ask for permissions, it needs to declare the permissions it is going to ask for." +#: docs/en/tutorial/topics/camera-access.md:137 +msgid "" +"However, this request comes in two parts. The first is in the code we've " +"just seen; but before the app can ask for permissions, it needs to declare " +"the permissions it is going to ask for." msgstr "" -#: ../../tutorial/topics/camera-access.rst:142 32631bd9d5ce4ff1b4c7ab83c40ae38c -msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.hellocamera]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" +#: docs/en/tutorial/topics/camera-access.md:141 +msgid "" +"The permissions required by each platform are slightly different, but " +"Briefcase has a cross-platform representation for many common hardware " +"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " +"of your app's `pyproject.toml` file, add the following (just above the " +"`sources` declaration):" msgstr "" -#: ../../tutorial/topics/camera-access.rst:152 1cc324564ce443f59fa86b31ec60909b -msgid "This declares that your app needs to access the camera, and provides a short description why the camera is required. This description is needed on some platforms (most notably macOS and iOS) and will be displayed to the user as a additional information when the permission dialog is presented." +#: docs/en/tutorial/topics/camera-access.md:151 +msgid "" +"This declares that your app needs to access the camera, and provides a short " +"description why the camera is required. This description is needed on some " +"platforms (most notably macOS and iOS) and will be displayed to the user as " +"a additional information when the permission dialog is presented." msgstr "" -#: ../../tutorial/topics/camera-access.rst:157 d8b1515abc7c47d1a32b8c54ca15d3fe +#: docs/en/tutorial/topics/camera-access.md:157 msgid "We can now generate and run the app:" msgstr "" -#: ../../tutorial/topics/camera-access.rst:161 a2ca36e848744b0d8a4964b30d14b846 -msgid "macOS" +#: docs/en/tutorial/topics/camera-access.md:159 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/camera-access.rst:168 1879319de5e74d28ac2fff910698b70d -msgid "Android" +#: docs/en/tutorial/topics/camera-access.md:168 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/camera-access.rst:175 19825a4b263149d6ab943d8a1a2d58b0 -msgid "When the app runs, you'll be presented with a button. Press the button, and the platform's default camera dialog will be displayed. Take a photo; the camera dialog will disappear, and the photo will be displayed on in the app, just above the button. You could then take another photo; this will replace the first photo." +#: docs/en/tutorial/topics/camera-access.md:177 +msgid "" +"When the app runs, you'll be presented with a button. Press the button, and " +"the platform's default camera dialog will be displayed. Take a photo; the " +"camera dialog will disappear, and the photo will be displayed on in the app, " +"just above the button. You could then take another photo; this will replace " +"the first photo." msgstr "" -#: ../../tutorial/topics/camera-access.rst:182 569ba9327f8a4667b72cfaf7d9dda2c8 +#: docs/en/tutorial/topics/camera-access.md:183 msgid "Adding more permissions" msgstr "" -#: ../../tutorial/topics/camera-access.rst:184 7ff6abda48b3472d8864b3b71af74118 -msgid "Permissions are declared in the files that are generated during the original call to `briefcase create`. Unfortunately, Briefcase can't update these files once they've been initially generated; so if you want to add a new permission to your app, or modify existing permissions, you'll need to re-create the app. You can do this by re-running `briefcase create`; this will warn you that the existing app will be overwritten, and then regenerate the application with the new permissions." +#: docs/en/tutorial/topics/camera-access.md:185 +msgid "" +"Permissions are declared in the files that are generated during the original " +"call to `briefcase create`. Unfortunately, Briefcase can't update these " +"files once they've been initially generated; so if you want to add a new " +"permission to your app, or modify existing permissions, you'll need to re-" +"create the app. You can do this by re-running `briefcase create`; this will " +"warn you that the existing app will be overwritten, and then regenerate the " +"application with the new permissions." msgstr "" - -#~ msgid "The permissions required by each platform are slightly different, but Briefcase has a cross-platform representation for many common hardware permissions. In the `[tool.briefcase.app.helloworld]` configuration section of your app's `pyproject.toml` file, add the following (just above the `sources` declaration):" -#~ msgstr "" - -#~ msgid "Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to this camera, take a photograph, and then display that photograph in the app. new application that uses your device's camera." -#~ msgstr "" - -#~ msgid "This code has two changes over the default app that is generated by Briefcase. These additions are highlighted in yellow:" -#~ msgstr "" - diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po index 47dd6a1f..a068c58f 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -1,147 +1,211 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-13 17:07+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/custom-icons.rst:3 c1706f393a104fc5b7064c77c2a786c7 -msgid "Customizing icons" +#: docs/en/tutorial/topics/custom-icons.md:1 +msgid "Customizing icons { id=\"custom-icons\" }" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:5 9f56d79450de422293451ce21967af0c +#: docs/en/tutorial/topics/custom-icons.md:3 #, fuzzy -msgid "The app we developed in the main tutorial uses a default \"gray bee\" icon when it is packaged. Let's personalize this application by configuring it to use our own icon." -msgstr "到目前為止,我們的應用程式使用了預設的 `灰色蜜蜂` 圖示。我們如何更新應用程式以使用我們自己的圖標?" +msgid "" +"The app we developed in the main tutorial uses a default \"gray bee\" icon " +"when it is packaged. Let's personalize this application by configuring it to " +"use our own icon." +msgstr "到目前為止,我們的應用程式使用了預設的 `灰色蜜蜂` " +"圖示。我們如何更新應用程式以使用我們自己的圖標?" -#: ../../tutorial/topics/custom-icons.rst:10 7d0ae04203884048a610bd793c05c1a3 +#: docs/en/tutorial/topics/custom-icons.md:7 msgid "Adding an icon" msgstr "新增圖示" -#: ../../tutorial/topics/custom-icons.rst:12 679ee0722c9342c58135f80218712cb8 -msgid "Every platform uses a different format for application icons - and some platforms need *multiple* icons in different sizes and shapes. To account for this, Briefcase provides a shorthand way to configure an icon once, and then have that definition expand in to all the different icons needed for each individual platform." +#: docs/en/tutorial/topics/custom-icons.md:9 +msgid "" +"Every platform uses a different format for application icons - and some " +"platforms need *multiple* icons in different sizes and shapes. To account " +"for this, Briefcase provides a shorthand way to configure an icon once, and " +"then have that definition expand in to all the different icons needed for " +"each individual platform." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:18 2e22724576fa40658356df542c042208 -msgid "Edit your `pyproject.toml`, adding a new `icon` configuration item in the `[tool.briefcase.app.helloworld]` configuration section, just above the `sources` definition:" +#: docs/en/tutorial/topics/custom-icons.md:15 +msgid "" +"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" +"[tool.briefcase.app.helloworld]` configuration section, just above the " +"`sources` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:24 aa6015f5a4c642808f44a94873ba7f84 -msgid "This icon definition doesn't specify any file extension. The value will be used as a prefix; each platform will add additional items to this prefix to build the files needed for each platform. Some platforms require *multiple* icon files; this prefix will be combined with file size and variant modifiers to generate the list of icon files that are used." +#: docs/en/tutorial/topics/custom-icons.md:23 +msgid "" +"This icon definition doesn't specify any file extension. The value will be " +"used as a prefix; each platform will add additional items to this prefix to " +"build the files needed for each platform. Some platforms require *multiple* " +"icon files; this prefix will be combined with file size and variant " +"modifiers to generate the list of icon files that are used." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:30 db2586affb344ffdb33e21f2e645e828 -msgid "We can now run `briefcase update` again - but this time, we pass in the `--update-resources` flag, telling Briefcase that we want to install new application resources (i.e., the icons):" +#: docs/en/tutorial/topics/custom-icons.md:30 +msgid "" +"We can now run `briefcase update` again - but this time, we pass in the " +"`--update-resources` flag, telling Briefcase that we want to install new " +"application resources (i.e., the icons):" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:36 -#: ../../tutorial/topics/custom-icons.rst:203 -#: ../../tutorial/topics/custom-icons.rst:386 0ae48b7e104e40eb8be0ede4361c40f7 -#: 0c1d1e6bb16840068680e2f780d75252 2f921d006fc84ace8178509ea163cd72 -msgid "macOS" +#: docs/en/tutorial/topics/custom-icons.md:34 +#: docs/en/tutorial/topics/custom-icons.md:214 +#: docs/en/tutorial/topics/custom-icons.md:411 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:53 -#: ../../tutorial/topics/custom-icons.rst:227 -#: ../../tutorial/topics/custom-icons.rst:401 00af053b734d49d4a5b96df9b40f0e97 -#: 0ad55197e9ad4758a909497dc629f4ae 1e93c588c9814bbd8d86347d4afe8b9b -msgid "Linux" +#: docs/en/tutorial/topics/custom-icons.md:51 +#: docs/en/tutorial/topics/custom-icons.md:75 +#: docs/en/tutorial/topics/custom-icons.md:94 +#: docs/en/tutorial/topics/custom-icons.md:132 +#: docs/en/tutorial/topics/custom-icons.md:166 +#: docs/en/tutorial/topics/custom-icons.md:238 +#: docs/en/tutorial/topics/custom-icons.md:270 +#: docs/en/tutorial/topics/custom-icons.md:297 +#: docs/en/tutorial/topics/custom-icons.md:343 +#: docs/en/tutorial/topics/custom-icons.md:345 +#: docs/en/tutorial/topics/custom-icons.md:381 +#: docs/en/tutorial/topics/custom-icons.md:390 +#: docs/en/tutorial/topics/custom-icons.md:426 +#: docs/en/tutorial/topics/custom-icons.md:443 +#: docs/en/tutorial/topics/custom-icons.md:460 +#: docs/en/tutorial/topics/custom-icons.md:476 +#: docs/en/tutorial/topics/custom-icons.md:492 +msgid "///" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:75 -#: ../../tutorial/topics/custom-icons.rst:257 -#: ../../tutorial/topics/custom-icons.rst:416 36416c2a89a54c0d8894096c0791ce22 -#: 54940928b2f2406eb56d7387799e716d e4c3775e1b7246e1a881e8d0b2f9c6b2 -msgid "Windows" +#: docs/en/tutorial/topics/custom-icons.md:53 +#: docs/en/tutorial/topics/custom-icons.md:240 +#: docs/en/tutorial/topics/custom-icons.md:428 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:92 -#: ../../tutorial/topics/custom-icons.rst:282 -#: ../../tutorial/topics/custom-icons.rst:431 0c51e3af11ec4160b557466c72b5f20a -#: efefcbb17a734162b3b1485d13bb8c4d f6903e0aefef47dea2e851fb28cdf179 -msgid "Android" +#: docs/en/tutorial/topics/custom-icons.md:77 +#: docs/en/tutorial/topics/custom-icons.md:272 +#: docs/en/tutorial/topics/custom-icons.md:445 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:128 -#: ../../tutorial/topics/custom-icons.rst:327 -#: ../../tutorial/topics/custom-icons.rst:445 4105c780e7b94304a43e025c878f764e -#: 7c6871b91314434b80756630cdba10b8 9215f58a36dc476492c034dbfa6d7193 -msgid "iOS" +#: docs/en/tutorial/topics/custom-icons.md:96 +#: docs/en/tutorial/topics/custom-icons.md:299 +#: docs/en/tutorial/topics/custom-icons.md:462 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:160 289e151c4b864343820c468fede21cb7 -msgid "This reports the specific icon file (or files) that Briefcase is expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same \"gray bee\" icon)." +#: docs/en/tutorial/topics/custom-icons.md:134 +#: docs/en/tutorial/topics/custom-icons.md:347 +#: docs/en/tutorial/topics/custom-icons.md:478 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:164 59a75ae48ca9456e81d444a01000d571 -msgid "Let's provide some actual icons. Download [this icons.zip bundle](../resources/icons.zip) (TODO: Verify path.), and unzip it into the root of your project directory. After unzipping, your project directory should look something like:" +#: docs/en/tutorial/topics/custom-icons.md:168 +msgid "" +"This reports the specific icon file (or files) that Briefcase is expecting. " +"However, as we haven't provided the actual icon files, the install fails, " +"and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:183 e91e96b4625c4a519138e249ee6dfd35 -msgid "There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background:" +#: docs/en/tutorial/topics/custom-icons.md:173 +msgid "" +"Let's provide some actual icons. Download `this icons.zip bundle <../" +"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " +"into the root of your project directory. After unzipping, your project " +"directory should look something like:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:186 8e853741df5f40e8a774ada7b49c7d5d -msgid "Icon of green snake with a light blue background" +#: docs/en/tutorial/topics/custom-icons.md:195 +msgid "" +"There's a *lot* of icons in this folder, but most of them should look the " +"same: a green snake on a light blue background:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:190 c9ebe4a9ad3a4de290e45e966b69b5d6 -msgid "The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the different icon sizes and shapes you need to support an app on every platform that Briefcase supports." +#: docs/en/tutorial/topics/custom-icons.md:202 +msgid "" +"The only exception will be the icons with `-adaptive-` in their name; these " +"will have a transparent background. This represents all the different icon " +"sizes and shapes you need to support an app on every platform that Briefcase " +"supports." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:194 65f87761e9004b9386e7dbefd2aa394c -msgid "Now that we have icons, we can update the application again. However, `briefcase update` will only copy the updated resources into the build directory; we also want to rebuild the app to make sure the new icon is included, then start the app. We can shortcut this process by passing `--update-resources` to our call to `run` - this will update the app, update the app's resources, and then start the app:" +#: docs/en/tutorial/topics/custom-icons.md:207 +msgid "" +"Now that we have icons, we can update the application again. However, `" +"briefcase update` will only copy the updated resources into the build " +"directory; we also want to rebuild the app to make sure the new icon is " +"included, then start the app. We can shortcut this process by passing " +"`--update-resources` to our call to `run` - this will update the app, update " +"the app's resources, and then start the app:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:322 e9cdf877c0e5423bae9dd933abdecf9f -msgid "If you're using a recent version of Android, you may notice that the app icon has been changed to a green snake, but the background of the icon is *white*, rather than light blue. We'll fix this in the next step." +#: docs/en/tutorial/topics/custom-icons.md:337 +#: docs/en/tutorial/topics/custom-icons.md:383 +msgid "/// note | Note" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:363 2b3d902e7e1a4d44aaad92e4ff207770 -msgid "If you get a stack trace referencing `faker` or `httpx` when you run the app, it's possible you missed running your app during step 7 or 8 of the tutorial. Re-run the app, adding the `-r` argument to update the app requirements." +#: docs/en/tutorial/topics/custom-icons.md:339 +msgid "" +"If you're using a recent version of Android, you may notice that the app " +"icon has been changed to a green snake, but the background of the icon is " +"*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:368 6738123561854e59a85e5e713b335706 -msgid "When you run the app on iOS or Android, in addition to the icon change, you should also notice that the splash screen incorporates the new icon. However, the light blue background of the icon looks a little out of place against the white background of the splash screen. We can fix this by customizing the background color of the splash screen. Add the following definition to your `pyproject.toml`, just after the `icon` definition:" +#: docs/en/tutorial/topics/custom-icons.md:385 +msgid "" +"If you get a stack trace referencing `faker` or `httpx` when you run the " +"app, it's possible you missed running your app during step 7 or 8 of the " +"tutorial. Re-run the app, adding the `-r` argument to update the app " +"requirements." msgstr "" -#: ../../tutorial/topics/custom-icons.rst:377 789aeb1ef195404b9739aa8458b8526a -msgid "Unfortunately, Briefcase isn't able to apply this change to an already generated project, as it requires making modifications to one of the files that was generated during the original call to `briefcase create`. To apply this change, we have to re-create the app by re-running `briefcase create`. When we do this, we'll be prompted to confirm that we want to overwrite the existing project:" +#: docs/en/tutorial/topics/custom-icons.md:392 +msgid "" +"When you run the app on iOS or Android, in addition to the icon change, you " +"should also notice that the splash screen incorporates the new icon. " +"However, the light blue background of the icon looks a little out of place " +"against the white background of the splash screen. We can fix this by " +"customizing the background color of the splash screen. Add the following " +"definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:459 720972604dec4271a2325ea2ace89510 -msgid "You can then re-build and re-run the app using `briefcase run`. You won't notice any changes to the desktop app; but the Android or iOS apps should now have a light blue splash screen background." +#: docs/en/tutorial/topics/custom-icons.md:404 +msgid "" +"Unfortunately, Briefcase isn't able to apply this change to an already " +"generated project, as it requires making modifications to one of the files " +"that was generated during the original call to `briefcase create`. To apply " +"this change, we have to re-create the app by re-running `briefcase create`. " +"When we do this, we'll be prompted to confirm that we want to overwrite the " +"existing project:" msgstr "" -#: ../../tutorial/topics/custom-icons.rst:463 1555fe480813416281ff14cf946d9920 -msgid "You'll need to re-create the app like this whenever you make a change to your `pyproject.toml` that doesn't relate to source code or dependencies. Any change to descriptions, version numbers, colors, or permissions will require a re-create step. Because of this, while you are developing your project, you shouldn't make any manual changes to the contents of the `build` folder, and you shouldn't add the `build` folder to your version control system. The `build` folder should be considered entirely ephemeral - an output of the build system that can be recreated as needed to reflect the current configuration of your project." +#: docs/en/tutorial/topics/custom-icons.md:495 +msgid "" +"You can then re-build and re-run the app using `briefcase run`. You won't " +"notice any changes to the desktop app; but the Android or iOS apps should " +"now have a light blue splash screen background." msgstr "" -#~ msgid "**Coming soon**" -#~ msgstr "**即將推出**" - -#~ msgid "We've now got an application with a custom icon on our desktop and phone! How do we share this application with everyone else? Turn to [Tutorial 11][tutorial-11] to find out..." -#~ msgstr "我們現在在桌面和手機上有了一個帶有自訂圖示的應用程式!我們如何與其他人分享這個應用程式?到 [教程 11` 找找看..." - -#~ msgid "Tutorial 10 - Make this app your own" -#~ msgstr "教程 10 - 打造您自己的應用程式" - -#~ msgid "Next steps" -#~ msgstr "下一步" - -#~ msgid "Let's provide some actual icons. Download :download:`this icons.zip bundle][../resources/icons.zip], and unpack it into the root of your project directory. After unpacking, your project directory should look something like:" -#~ msgstr "" - +#: docs/en/tutorial/topics/custom-icons.md:499 +msgid "" +"You'll need to re-create the app like this whenever you make a change to " +"your `pyproject.toml` that doesn't relate to source code or dependencies. " +"Any change to descriptions, version numbers, colors, or permissions will " +"require a re-create step. Because of this, while you are developing your " +"project, you shouldn't make any manual changes to the contents of the `build`" +" folder, and you shouldn't add the `build` folder to your version control " +"system. The `build` folder should be considered entirely ephemeral - an " +"output of the build system that can be recreated as needed to reflect the " +"current configuration of your project." +msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po index 59e4c6de..12469832 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po @@ -1,52 +1,54 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-18 09:27+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" -"Language: zh_TW\n" "Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/index.rst:3 d1863e972e744266afd16fdb08f405ab -msgid "Going further" +#: docs/en/tutorial/topics/index.md:1 +msgid "Going further { #topics }" msgstr "" -#: ../../tutorial/topics/index.rst:5 a35d445b80764115941eb41beb1d1824 -msgid "Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial." +#: docs/en/tutorial/topics/index.md:3 +msgid "" +"Want to go deeper on specific topics? Here are some additional tutorials " +"that explore common aspects of application development. Each tutorial is " +"standalone, and can be completed in any order; but they all assume you've " +"completed the core tutorial." msgstr "" -#: ../../tutorial/topics/index.rst:12 b0b122ce19ec49279dfedd0b73fd1b11 -msgid "Customizing icons" +#: docs/en/tutorial/topics/index.md:8 +msgid "[Customizing icons][custom-icons]" msgstr "" -#: ../../tutorial/topics/index.rst:16 c8650e7b9d76486f877a5547e0c1e344 -msgid "Customize your application's appearance by replacing the default \"gray bee\" icon." +#: docs/en/tutorial/topics/index.md:10 +msgid "" +"Customize your application's appearance by replacing the default \"gray bee\"" +" icon." msgstr "" -#: ../../tutorial/topics/index.rst:19 c7b73fc8b9884a5d9a57db29dfdb755e -msgid "Application Testing" +#: docs/en/tutorial/topics/index.md:13 +msgid "[Using the camera][camera-access]" msgstr "" -#: ../../tutorial/topics/index.rst:23 059c551e7f6244d7aff75bf6180a572b -msgid "How do you ensure that your application works, and stays working? By adding a test suite to your project!" +#: docs/en/tutorial/topics/index.md:15 +msgid "" +"Use the camera on your mobile or desktop device to take and view a picture " +"from within your application." msgstr "" -#: ../../tutorial/topics/index.rst:26 7c03ca31022a42b3958f8b949e28a056 -msgid "Camera access" +#: docs/en/tutorial/topics/index.md:18 +msgid "[Testing times][testing]" msgstr "" -#: ../../tutorial/topics/index.rst:30 e548a1b41c6f4efeb86f5dbad5ca47f3 -msgid "Use the camera on your mobile or desktop device to take and view a picture from within your application." +#: docs/en/tutorial/topics/index.md:20 +msgid "" +"How do you ensure that your application works, and stays working? By adding " +"a test suite to your project!" msgstr "" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po index 497262f5..dde0ce75 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po @@ -1,148 +1,226 @@ -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 10:14+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/topics/testing.rst:3 93773728f8c54ddb87420111aeed2ad4 -msgid "Testing times" +#: docs/en/tutorial/topics/testing.md:1 +msgid "Testing times { id=\"testing\" }" msgstr "" -#: ../../tutorial/topics/testing.rst:5 f78267d23da54a2ab3d6150efa58d899 -msgid "Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work in the way we expect is a key part of the software development process. One way to do ensure the behavior of our app is with a *test suite*." -msgstr "大多數軟體開發並不涉及編寫新程式碼,而是修改現有程式碼。確保現有程式碼繼續按照我們期望的方式運作是軟體開發過程的關鍵部分。確保我們的應用程式行為的一種方法是使用 *測試套件* 。" +#: docs/en/tutorial/topics/testing.md:3 +msgid "" +"Most software development doesn't involve writing new code - it's modifying " +"existing code. Ensuring that existing code continues to work in the way we " +"expect is a key part of the software development process. One way to do " +"ensure the behavior of our app is with a *test suite*." +msgstr "" +"大多數軟體開發並不涉及編寫新程式碼,而是修改現有程式碼。確保現有程式碼繼續按" +"照我們期望的方式運作是軟體開發過程的關鍵部分。" +"確保我們的應用程式行為的一種方法是使用 *測試套件* 。" -#: ../../tutorial/topics/testing.rst:11 8170b274930d4849aa64dc40421d0549 +#: docs/en/tutorial/topics/testing.md:8 msgid "Running the test suite" msgstr "運行測試套件" -#: ../../tutorial/topics/testing.rst:13 e55d23b4fa494b09a62a3c55ee0d0ebb +#: docs/en/tutorial/topics/testing.md:10 #, fuzzy -msgid "It turns out the project from the core tutorial already has a test suite! When we originally generated our project, two top-level directories were generated: `src` and `tests`. The `src` folder contains the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content:" -msgstr "事實上,我們的專案已經有測試套件了!當我們最初產生專案時,產生了兩個資料夾: `src` 和 `tests` 。 `src` 資料夾包含我們應用程式的程式碼; `tests` 資料夾包含我們的測試套件。在 `tests` 資料夾內有一個名為 `test_app.py` 的文件,其中包含以下內容:" - -#: ../../tutorial/topics/testing.rst:23 12578aff26fb4372963fa5ccd8005e18 -msgid "This is a [Pytest]{1} *test case* - a block of code that can be executed to verify some behavior of your app. In this case, the test is a placeholder, and doesn't test anything about our app - but it is a test that we can perform." -msgstr "這是一個 [Pytest]{1} 的 *測試範例* - 可以執行以驗證應用程式的某些行為的程式碼區塊。在本例中,測試僅是一個範例,不會測試有關我們應用程式的任何內容 - 但它是我們可以執行的測試。" - -#: ../../tutorial/topics/testing.rst:28 a8e6e625f47e4c0f8f476892ce705854 -msgid "We can run this test suite using the `--test` option to `briefcase dev`. As this is the first time we are running tests, we also need to pass in the `-r` option to ensure that the test requirements are also installed:" -msgstr "我們可以使用 `briefcase dev` 的 `--test` 選項來執行這個測試套件。由於這是我們第一次執行測試,我們還需要傳入 `-r` 選項以確保測試要求也已安裝:" - -#: ../../tutorial/topics/testing.rst:34 ../../tutorial/topics/testing.rst:139 -#: ../../tutorial/topics/testing.rst:209 ../../tutorial/topics/testing.rst:326 -#: ../../tutorial/topics/testing.rst:396 0910657b706845c3ace7e6647605a676 -#: 44922990ed9145e9851f611612bb4958 6b8ed72bdb45403c8514d0b0fb1c707c -#: 75cda337703e4d9e82200b55a7dc93e6 f285a2fb7b4243cab92c587103782fea -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/topics/testing.rst:57 ../../tutorial/topics/testing.rst:156 -#: ../../tutorial/topics/testing.rst:241 ../../tutorial/topics/testing.rst:344 -#: ../../tutorial/topics/testing.rst:438 0369e600a7bf45b99e78a947f28092a3 -#: 5288d72cc7cf4c27bd9be3b011cdfcc9 612b128c8f5b4b6bba57ff8bc5bd82d9 -#: b219829b954a484a94cc43d37bfa964a c6c3252a29314eb5acb19f780e3d5d58 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/topics/testing.rst:83 ../../tutorial/topics/testing.rst:173 -#: ../../tutorial/topics/testing.rst:275 ../../tutorial/topics/testing.rst:362 -#: ../../tutorial/topics/testing.rst:470 1c34b172f19b443294215c1c584e4434 -#: 311be1c560b0435d945ebbe300955310 8ad70c8925ce4557b1058f97296142d9 -#: c56a5cd5ede14061824827fb2f74a5fd d524054d77ce4a3ba45d09f4f0ea6647 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/topics/testing.rst:109 e61fdd65e77041648fef0e3ec359513c -msgid "Success! We've just executed a single test that verifies Python math works in the way we'd expect (What a relief!)." -msgstr "成功了!我們剛剛執行了一個測試,證實了 Python 的數學按照我們期望的方式工作(真是鬆了一口氣!)。" - -#: ../../tutorial/topics/testing.rst:112 bdfb76180b914a03a4b9f51b8b415562 -msgid "Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following:" -msgstr "讓我們用一個測試來取代這個範例,以驗證我們的 `greeting()` 方法的行為是否符合我們的預期。將 `test_app.py` 的內容替換為以下內容:" - -#: ../../tutorial/topics/testing.rst:130 8d4c83b186744c548956a63775950dbe -msgid "This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is empty." -msgstr "這定義了兩個新的測試,驗證我們期望看到的兩個行為:提供名稱時的輸出,以及名稱為空時的輸出。" - -#: ../../tutorial/topics/testing.rst:133 94079c4ca18a4ccb92c8421eadd1127e -msgid "We can now re-run the test suite. This time, we don't need to provided the `-r` option, as the test requirements have already been installed; we only need to use the `--test` option:" -msgstr "我們現在可以重新運行測試套件。這次,我們不需要提供 `-r` 選項,因為測試要求已經安裝了;我們只需要使用 `--test` 選項:" - -#: ../../tutorial/topics/testing.rst:190 66047769b0fd4eb79fc58304776210e3 +msgid "" +"It turns out the project from the core tutorial already has a test suite! " +"When we originally generated our project, two top-level directories were " +"generated: `src` and `tests`. The `src` folder contains the code for our app;" +" the `tests` folder contains our test suite. Inside the `tests` folder is a " +"file named `test_app.py` with the following content:" +msgstr "" +"事實上,我們的專案已經有測試套件了!當我們最初產生專案時,產生了兩個資料夾: " +"`src` 和 `tests` 。 `src` 資料夾包含我們應用程式的程式碼; `tests` " +"資料夾包含我們的測試套件。在 `tests` 資料夾內有一個名為 `test_app.py` " +"的文件,其中包含以下內容:" + +#: docs/en/tutorial/topics/testing.md:21 +msgid "" +"This is a [Pytest]{1} *test case* - a block of code that can be executed to " +"verify some behavior of your app. In this case, the test is a placeholder, " +"and doesn't test anything about our app - but it is a test that we can " +"perform." +msgstr "" +"這是一個 [Pytest]{1} 的 *測試範例* - " +"可以執行以驗證應用程式的某些行為的程式碼區塊。在本例中,測試僅是一個範例," +"不會測試有關我們應用程式的任何內容 - 但它是我們可以執行的測試。" + +#: docs/en/tutorial/topics/testing.md:26 +msgid "" +"We can run this test suite using the `--test` option to `briefcase dev`. As " +"this is the first time we are running tests, we also need to pass in the `-r`" +" option to ensure that the test requirements are also installed:" +msgstr "" +"我們可以使用 `briefcase dev` 的 `--test` " +"選項來執行這個測試套件。由於這是我們第一次執行測試,我們還需要傳入 `-r` " +"選項以確保測試要求也已安裝:" + +#: docs/en/tutorial/topics/testing.md:30 +#: docs/en/tutorial/topics/testing.md:141 +#: docs/en/tutorial/topics/testing.md:215 +#: docs/en/tutorial/topics/testing.md:337 +#: docs/en/tutorial/topics/testing.md:411 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:53 +#: docs/en/tutorial/topics/testing.md:81 +#: docs/en/tutorial/topics/testing.md:109 +#: docs/en/tutorial/topics/testing.md:158 +#: docs/en/tutorial/topics/testing.md:177 +#: docs/en/tutorial/topics/testing.md:196 +#: docs/en/tutorial/topics/testing.md:247 +#: docs/en/tutorial/topics/testing.md:283 +#: docs/en/tutorial/topics/testing.md:317 +#: docs/en/tutorial/topics/testing.md:355 +#: docs/en/tutorial/topics/testing.md:375 +#: docs/en/tutorial/topics/testing.md:395 +#: docs/en/tutorial/topics/testing.md:453 +#: docs/en/tutorial/topics/testing.md:487 +#: docs/en/tutorial/topics/testing.md:526 +msgid "///" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:160 +#: docs/en/tutorial/topics/testing.md:249 +#: docs/en/tutorial/topics/testing.md:357 +#: docs/en/tutorial/topics/testing.md:455 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:179 +#: docs/en/tutorial/topics/testing.md:285 +#: docs/en/tutorial/topics/testing.md:377 +#: docs/en/tutorial/topics/testing.md:489 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/topics/testing.md:112 +msgid "" +"Success! We've just executed a single test that verifies Python math works " +"in the way we'd expect (What a relief!)." +msgstr "成功了!我們剛剛執行了一個測試,證實了 Python " +"的數學按照我們期望的方式工作(真是鬆了一口氣!)。" + +#: docs/en/tutorial/topics/testing.md:115 +msgid "" +"Let's replace this placeholder test with a test to verify that our " +"`greeting()` method behaves the way we'd expect. Replace the contents of " +"`test_app.py` with the following:" +msgstr "" +"讓我們用一個測試來取代這個範例,以驗證我們的 `greeting()` " +"方法的行為是否符合我們的預期。將 `test_app.py` 的內容替換為以下內容:" + +#: docs/en/tutorial/topics/testing.md:133 +msgid "" +"This defines two new tests, verifying the two behaviors we expect to see: " +"the output when a name is provided, and the output when the name is empty." +msgstr "這定義了兩個新的測試,驗證我們期望看到的兩個行為:提供名稱時的輸出,以及名稱" +"為空時的輸出。" + +#: docs/en/tutorial/topics/testing.md:137 +msgid "" +"We can now re-run the test suite. This time, we don't need to provided the " +"`-r` option, as the test requirements have already been installed; we only " +"need to use the `--test` option:" +msgstr "我們現在可以重新運行測試套件。這次,我們不需要提供 `-r` " +"選項,因為測試要求已經安裝了;我們只需要使用 `--test` 選項:" + +#: docs/en/tutorial/topics/testing.md:199 msgid "Excellent! Our `greeting()` utility method is working as expected." msgstr "非常好!我們的 `greeting()` 實用方法按預期工作。" -#: ../../tutorial/topics/testing.rst:193 4bf668f3028a4019ab4eb59af44fc5b2 +#: docs/en/tutorial/topics/testing.md:201 msgid "Test driven development" msgstr "用測試來驅動開發" -#: ../../tutorial/topics/testing.rst:195 f8743019f36042a6af9a0a74d87eb700 -msgid "Now that we have a test suite, we can use it to drive the development of new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`:" -msgstr "現在我們有了測試套件,我們可以用它來驅動新功能的開發。讓我們修改我們的應用程序,為某個特定用戶提供特殊的問候語。我們可以先為我們希望在 `test_app.py` 底部看到的新行為新增一個測試案例:" +#: docs/en/tutorial/topics/testing.md:203 +msgid "" +"Now that we have a test suite, we can use it to drive the development of new " +"features. Let's modify our app to have a special greeting for one particular " +"user. We can start by adding a test case for the new behavior that we'd like " +"to see to the bottom of `test_app.py`:" +msgstr "" +"現在我們有了測試套件,我們可以用它來驅動新功能的開發。讓我們修改我們的應用程" +"序,為某個特定用戶提供特殊的問候語。我們可以先為我們希望在 `test_app.py` " +"底部看到的新行為新增一個測試案例:" -#: ../../tutorial/topics/testing.rst:205 7bda7f335bfa42dfada3354efe73ada4 +#: docs/en/tutorial/topics/testing.md:213 msgid "Then, run the test suite with this new test:" msgstr "然後,使用這個新測試來執行測試套件:" -#: ../../tutorial/topics/testing.rst:307 4c7f397a6b4342e8a1ddee9b9e830615 -msgid "This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output \"BeeWare the IDEs of Python!\", but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior:" -msgstr "這次,我們看到測試失敗 - 輸出解釋了失敗的根源:測試期望輸出 `BeeWare the IDEs of Python!` ,但我們的 `greeting()` 實現返回 `Hello, Brutus` 。讓我們修改 src/helloworld/app.py 中的 greeting() 實作以獲得新的行為:" +#: docs/en/tutorial/topics/testing.md:320 +msgid "" +"This time, we see a test failure - and the output explains the source of the " +"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " +"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " +"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " +"the new behavior:" +msgstr "" +"這次,我們看到測試失敗 - 輸出解釋了失敗的根源:測試期望輸出 `BeeWare the " +"IDEs of Python!` ,但我們的 `greeting()` 實現返回 `Hello, Brutus` 。" +"讓我們修改 src/helloworld/app.py 中的 greeting() 實作以獲得新的行為:" -#: ../../tutorial/topics/testing.rst:322 7793c86300ea44a4b32e745c7cc6bb66 +#: docs/en/tutorial/topics/testing.md:335 msgid "If we run the tests again, we'll now see our tests pass:" msgstr "如果我們再次運行測試,我們現在將看到測試通過:" -#: ../../tutorial/topics/testing.rst:381 aab0eac82ade4932b40254dbe775911b +#: docs/en/tutorial/topics/testing.md:398 msgid "Runtime tests" msgstr "運行時測試" -#: ../../tutorial/topics/testing.rst:383 ef1dc860f1be44df97a20179ea3844e7 -msgid "So far, we've been running the tests in development mode. This is especially useful when you're developing new features, as you can rapidly iterate on adding tests, and adding code to make those tests pass. However, at some point, you'll want to verify that your code also runs correctly when inside the bundle app environment." -msgstr "到目前為止,我們一直在開發模式下執行測試。當您開發新功能時,這特別有用,因為您可以快速迭代添加測試,並添加程式碼以使這些測試通過。但是,在某些時候,您需要驗證您的程式碼在部署的環境中是否也可以正確運行。" - -#: ../../tutorial/topics/testing.rst:389 19507bc8ccbe47debc44a70d39982e81 -msgid "The `--test` and `-r` options can also be passed to the `run` command. If you use `briefcase run --test -r`, the same test suite will run, but it will run inside the packaged application bundle rather than your development environment:" -msgstr "`--test` 和 `-r` 選項也可以傳遞給 `run` 指令。如果您使用 `briefcase run --test -r` ,將運行相同的測試套件,但它將在部署的環境中運行,而不是在您的開發環境中運行:" - -#: ../../tutorial/topics/testing.rst:507 eb9f04a25a2b444e9d687d04e9ad2982 -msgid "As with `briefcase dev --test`, the `-r` option is only needed the first time you run the test suite to ensure that the test dependencies are present. On subsequent runs, you can omit this option." -msgstr "與 `briefcase dev --test` 一樣,僅在第一次執行測試套件時才需要 `-r` 選項,以確保測試依賴項存在。在後續運行中,您可以忽略此選項。" - -#: ../../tutorial/topics/testing.rst:511 3bd3cefc847441d7b56ff08b6888e60c -msgid "You can also use the `--test` option on mobile backends: - so `briefcase run iOS --test` and `briefcase run android --test` will both work, running the test suite on the mobile device you select." -msgstr "您還可以在移動環境下使用 `--test` 選項: - 因此 `briefcase run iOS --test` 和 `briefcase run android --test` 都可以工作,在您選擇的移動設備上運行測試套件。" - -#~ msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. What you do from here is up to you!" -#~ msgstr "這是您對 BeeWare 專案提供的工具的嘗試。您可以決定要從哪做起!" - -#~ msgid "Some places to go from here:" -#~ msgstr "可以去的一些地方:" - -#~ msgid "Tutorials demonstrating [features of the Toga widget toolkit]{1}." -#~ msgstr "示範 [Toga 小工具工具包的功能]{1} 的教學。" +#: docs/en/tutorial/topics/testing.md:400 +msgid "" +"So far, we've been running the tests in development mode. This is especially " +"useful when you're developing new features, as you can rapidly iterate on " +"adding tests, and adding code to make those tests pass. However, at some " +"point, you'll want to verify that your code also runs correctly when inside " +"the bundle app environment." +msgstr "" +"到目前為止,我們一直在開發模式下執行測試。當您開發新功能時,這特別有用,因為" +"您可以快速迭代添加測試,並添加程式碼以使這些測試通過。但是,在某些時候,您需" +"要驗證您的程式碼在部署的環境中是否也可以正確運行。" -#~ "[有關配置 Briefcase 項目時可用的選項的詳細資訊]{1} 。Plural-Forms: nplurals=1; plural=0;\n" -#~ "MIME-Version: 1.0\n" -#~ "Content-Type: text/plain; charset=utf-8\n" -#~ "Content-Transfer-Encoding: 8bit\n" -#~ "Generated-By: Babel 2.15.0\n" +#: docs/en/tutorial/topics/testing.md:406 +msgid "" +"The `--test` and `-r` options can also be passed to the `run` command. If " +"you use `briefcase run --test -r`, the same test suite will run, but it will " +"run inside the packaged application bundle rather than your development " +"environment:" +msgstr "" +"`--test` 和 `-r` 選項也可以傳遞給 `run` 指令。如果您使用 `briefcase run --" +"test -r` " +",將運行相同的測試套件,但它將在部署的環境中運行,而不是在您的開發環境中運行" +":" -#~ msgid "Tutorial 9 - Testing times" -#~ msgstr "教學 9 - 測試時間" +#: docs/en/tutorial/topics/testing.md:529 +msgid "" +"As with `briefcase dev --test`, the `-r` option is only needed the first " +"time you run the test suite to ensure that the test dependencies are " +"present. On subsequent runs, you can omit this option." +msgstr "" +"與 `briefcase dev --test` 一樣,僅在第一次執行測試套件時才需要 `-r` " +"選項,以確保測試依賴項存在。在後續運行中,您可以忽略此選項。" -#~ msgid "Next steps" -#~ msgstr "下一步" +#: docs/en/tutorial/topics/testing.md:533 +msgid "" +"You can also use the `--test` option on mobile backends: - so `briefcase run " +"iOS --test` and `briefcase run android --test` will both work, running the " +"test suite on the mobile device you select." +msgstr "" +"您還可以在移動環境下使用 `--test` 選項: - 因此 `briefcase run iOS --test` " +"和 `briefcase run android --test` " +"都可以工作,在您選擇的移動設備上運行測試套件。" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po index 4c051e51..92c9bfdb 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po @@ -1,239 +1,332 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-03 20:51+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-12 07:01+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-0.rst:3 49a4bd35d6b04bf1a007bd285bb25b94 -msgid "Tutorial 0 - Let's get set up!" -msgstr "教學 0 - 讓我們開始設定吧!" +#: docs/en/tutorial/tutorial-0.md:1 +msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgstr "" -#: ../../tutorial/tutorial-0.rst:5 eed1cdf10bca4d3fa70b6804aef508c3 -msgid "Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare." -msgstr "在建立第一個 BeeWare 應用程式之前,我們必須確保具備運行 BeeWare 的所有先決條件。" +#: docs/en/tutorial/tutorial-0.md:3 +msgid "" +"Before we build our first BeeWare app, we have to make sure we've got all " +"the prerequisites for running BeeWare." +msgstr "在建立第一個 BeeWare 應用程式之前,我們必須確保具備運行 BeeWare " +"的所有先決條件。" -#: ../../tutorial/tutorial-0.rst:11 e7b4264575e740b0889698e1595eb422 +#: docs/en/tutorial/tutorial-0.md:6 msgid "Install Python" msgstr "安裝Python" -#: ../../tutorial/tutorial-0.rst:13 1dbf891122494787a45dcf4aa437c6c6 +#: docs/en/tutorial/tutorial-0.md:8 msgid "The first thing we'll need is a working Python interpreter." msgstr "我們首先需要的是一個可用的 Python 直譯器。" -#: ../../tutorial/tutorial-0.rst:17 ../../tutorial/tutorial-0.rst:88 -#: ../../tutorial/tutorial-0.rst:157 21fbb97c64dc44c1aeffca82f2f90aa8 -#: 841d91bca8e84082a958744d09ac4853 aed02cb5a5574e3ab183ffa2fe6082ed -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-0.md:10 +#: docs/en/tutorial/tutorial-0.md:88 +#: docs/en/tutorial/tutorial-0.md:158 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-0.rst:19 7bd92b548afb4416912b3f87bcfa0794 +#: docs/en/tutorial/tutorial-0.md:12 #, fuzzy -msgid "If you're on macOS, you can get an official Python installer from [the Python website]{1}. You can use any version of Python from 3.10 or newer (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13 or newer." -msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" +msgid "" +"If you're on macOS, you can get an official Python installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 or " +"newer (although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13 or newer." +msgstr "" +"如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。" +"您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta " +"和候選版本,除非您 **真的** 知道自己在做什麼。" -#: ../../tutorial/tutorial-0.rst:24 992f50d300ae4c58902a0994a07f8284 +#: docs/en/tutorial/tutorial-0.md:18 #, fuzzy -msgid "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your terminal and get a working, supported Python interpreter." -msgstr "安裝 Python 有很多不同的方法。您可以透過 [homebrew]{1} 安裝 Python。您可以使用 [pyenv]{2} 來管理同一台電腦上的多個 Python 安裝。 Windows 使用者可以從 Windows App Store 安裝 Python。有數據科學背景的用戶可能希望使用 [Anaconda]{3} 或 [Miniconda]{4} 。" +msgid "" +"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " +"matter *how* you've installed Python - it only matters that you can run " +"`python3` from your terminal and get a working, supported Python interpreter." +msgstr "" +"安裝 Python 有很多不同的方法。您可以透過 [homebrew]{1} 安裝 Python。" +"您可以使用 [pyenv]{2} 來管理同一台電腦上的多個 Python 安裝。 Windows " +"使用者可以從 Windows App Store 安裝 Python。有數據科學背景的用戶可能希望使用 " +"[Anaconda]{3} 或 [Miniconda]{4} 。" -#: ../../tutorial/tutorial-0.rst:33 f5c420dc77a84ec084fbf1f0eed02a4f -msgid "Xcode and the Command-line Developer Tools provide a version of Python; however that Python is version 3.9. Python 3.9 has reached end-of-life, and is no longer supported by Python or BeeWare. You will *not* be able to the Xcode-provided version of Python to run this tutorial." +#: docs/en/tutorial/tutorial-0.md:28 +msgid "" +"Xcode and the Command-line Developer Tools provide a version of Python; " +"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " +"is no longer supported by Python or BeeWare. You will *not* be able to the " +"Xcode-provided version of Python to run this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:38 a98d6505c7a9439bb6729ea2219186a6 -msgid "To check the version of Python that you have installed, run the following command:" +#: docs/en/tutorial/tutorial-0.md:33 +msgid "" +"To check the version of Python that you have installed, run the following " +"command:" msgstr "" -#: ../../tutorial/tutorial-0.rst:45 dff884f32be74494a9fe5520e2e29d62 +#: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." msgstr "" -#: ../../tutorial/tutorial-0.rst:47 ../../tutorial/tutorial-0.rst:98 -#: ../../tutorial/tutorial-0.rst:166 0062749cdb0d4df4ac1ceba08fad13cb -#: 48a12a4cb0b743d6ab4cff9f3cb1ae70 57c7c9c4bf8341b594fc2b5af27c366d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-0.md:42 +#: docs/en/tutorial/tutorial-0.md:62 +#: docs/en/tutorial/tutorial-0.md:80 +#: docs/en/tutorial/tutorial-0.md:98 +#: docs/en/tutorial/tutorial-0.md:131 +#: docs/en/tutorial/tutorial-0.md:144 +#: docs/en/tutorial/tutorial-0.md:167 +#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:211 +#: docs/en/tutorial/tutorial-0.md:213 +#: docs/en/tutorial/tutorial-0.md:231 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-0.md:44 +#: docs/en/tutorial/tutorial-0.md:100 +#: docs/en/tutorial/tutorial-0.md:169 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-0.rst:49 ac5f97260fa24d4290c5d53de3653425 -msgid "If you're on Linux, you'll install Python using the system package manager (`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "如果您使用的是 Linux,則會使用系統套件管理器(Debian/Ubuntu/Mint 上的 `apt` 、Fedora 上的 `dnf` 或 Arch 上的 `pacman` )安裝 Python。" +#: docs/en/tutorial/tutorial-0.md:46 +msgid "" +"If you're on Linux, you'll install Python using the system package manager " +"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." +msgstr "" +"如果您使用的是 Linux,則會使用系統套件管理器(Debian/Ubuntu/Mint 上的 `apt` " +"、Fedora 上的 `dnf` 或 Arch 上的 `pacman` )安裝 Python。" -#: ../../tutorial/tutorial-0.rst:52 8a779e316cbb4c448cba01b2aa88f2f7 +#: docs/en/tutorial/tutorial-0.md:50 #, fuzzy -msgid "You should ensure that the system Python is Python 3.10 or newer; if it isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade your Linux distribution to something more recent." -msgstr "您應該確保系統Python是Python 3.8或更高版本;如果不是(例如,Ubuntu 18.04 附帶 Python 3.6),則需要將 Linux 發行版升級到更新的版本。" +msgid "" +"You should ensure that the system Python is Python 3.10 or newer; if it " +"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " +"your Linux distribution to something more recent." +msgstr "" +"您應該確保系統Python是Python 3.8或更高版本;如果不是(例如,Ubuntu 18.04 " +"附帶 Python 3.6),則需要將 Linux 發行版升級到更新的版本。" -#: ../../tutorial/tutorial-0.rst:56 2ac4c48346c84e71b43b488c86743466 +#: docs/en/tutorial/tutorial-0.md:54 msgid "Support for Raspberry Pi is limited at this time." msgstr "目前對 Raspberry Pi 的支援有限。" -#: ../../tutorial/tutorial-0.rst:58 b96002f63f494f97a5808553da76ff22 -msgid "**Important:** You *must* use the system Python provided by your operating system. Alternative Python installations (pyenv, Anaconda, manually compiled Python, etc.) will prevent you from successfully packaging your application for distribution in later steps of this tutorial." +#: docs/en/tutorial/tutorial-0.md:56 +msgid "" +"**Important:** You *must* use the system Python provided by your operating " +"system. Alternative Python installations (pyenv, Anaconda, manually compiled " +"Python, etc.) will prevent you from successfully packaging your application " +"for distribution in later steps of this tutorial." msgstr "" -#: ../../tutorial/tutorial-0.rst:63 ../../tutorial/tutorial-0.rst:133 -#: ../../tutorial/tutorial-0.rst:175 9abb000e1e8043ae956733b0270b1175 -#: b117a2ff21234560865fff69a61e11dc c254821c55ab409e94bb25f03456c462 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-0.md:64 +#: docs/en/tutorial/tutorial-0.md:133 +#: docs/en/tutorial/tutorial-0.md:180 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-0.rst:65 2f8727af1c2b44a4b120fce6ae7895f6 +#: docs/en/tutorial/tutorial-0.md:66 #, fuzzy -msgid "If you're on Windows, you can get the official installer from [the Python website]{1}. You can use any version of Python from 3.10 to 3.13 (although you should avoid alphas, betas and release candidates). We strongly recommend using Python 3.13." -msgstr "如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" +msgid "" +"If you're on Windows, you can get the official installer from " +"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " +"(although you should avoid alphas, betas and release candidates). We " +"strongly recommend using Python 3.13." +msgstr "" +"如果您使用的是 Windows,則可以從 [Python 網站]{1} 取得官方安裝程式。" +"您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta " +"和候選版本,除非您 **真的** 知道自己在做什麼。" -#: ../../tutorial/tutorial-0.rst:70 a5906e534eae4643b73a26874d883169 +#: docs/en/tutorial/tutorial-0.md:71 #, fuzzy msgid "Support for Windows on ARM64 is limited at this time." msgstr "目前對 Raspberry Pi 的支援有限。" -#: ../../tutorial/tutorial-0.rst:72 9883773480594b69a95df3103394921c +#: docs/en/tutorial/tutorial-0.md:73 #, fuzzy -msgid "You can also install Python from the Windows App Store, or use [Anaconda]{1} or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only matters that you can run `python3` from your command prompt and get a working, supported Python interpreter." -msgstr "如果你在 macOS 或 Windows 上,你如何安裝 Python 並不重要 - 重要的是你可以從作業系統的命令提示字元/終端應用程式運行 `python3` ,並獲得一個可用的 Python 直譯器。" +msgid "" +"You can also install Python from the Windows App Store, or use [Anaconda]{1} " +"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " +"matters that you can run `python3` from your command prompt and get a " +"working, supported Python interpreter." +msgstr "" +"如果你在 macOS 或 Windows 上,你如何安裝 Python 並不重要 - " +"重要的是你可以從作業系統的命令提示字元/終端應用程式運行 `python3` ," +"並獲得一個可用的 Python 直譯器。" -#: ../../tutorial/tutorial-0.rst:82 ab72574ebd42419bb264d2134b7156b4 +#: docs/en/tutorial/tutorial-0.md:83 msgid "Install dependencies" msgstr "安裝依賴項" -#: ../../tutorial/tutorial-0.rst:84 15e423ae07fd4975b05d84666986fc37 -msgid "Next, install the additional dependencies needed for your operating system:" +#: docs/en/tutorial/tutorial-0.md:85 +msgid "" +"Next, install the additional dependencies needed for your operating system:" msgstr "接下來,安裝作業系統所需的其他依賴項:" -#: ../../tutorial/tutorial-0.rst:90 34fa88f632f649c1aeb264ad24437cf3 +#: docs/en/tutorial/tutorial-0.md:90 msgid "Building BeeWare apps on macOS requires:" msgstr "在 macOS 上建立 BeeWare 應用程式需要:" -#: ../../tutorial/tutorial-0.rst:92 29d1d15e7f264681aab43205cbc7d3b1 -msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above. You may need to open Xcode for the first time in order for Git to work in your terminal session. If it still doesn't register that Git is installed, you may need to restart your terminal session." +#: docs/en/tutorial/tutorial-0.md:92 +msgid "" +"**Git**, a version control system. This is included with Xcode or the " +"command line developer tools, which you installed above. You may need to " +"open Xcode for the first time in order for Git to work in your terminal " +"session. If it still doesn't register that Git is installed, you may need to " +"restart your terminal session." msgstr "" -#: ../../tutorial/tutorial-0.rst:100 0bb788d54e78474680b8ec1376c020df -msgid "To support local development, you'll need to install some system packages. The list of packages required varies depending on your distribution:" -msgstr "為了支援本地開發,您需要安裝一些系統軟體包。所需的軟體包清單因您的發行版而異:" +#: docs/en/tutorial/tutorial-0.md:102 +msgid "" +"To support local development, you'll need to install some system packages. " +"The list of packages required varies depending on your distribution:" +msgstr "為了支援本地開發,您需要安裝一些系統軟體包。所需的軟體包清單因您的發行版而異" +":" -#: ../../tutorial/tutorial-0.rst:103 badd7b62841b4a82b8af5c718f82839d +#: docs/en/tutorial/tutorial-0.md:106 #, fuzzy msgid "**Ubuntu / Debian**" msgstr "**Ubuntu 20.04+ / Debian 10+**" -#: ../../tutorial/tutorial-0.rst:114 3f46084b437c4fa7a27d9d02e3293276 +#: docs/en/tutorial/tutorial-0.md:113 msgid "**Fedora**" msgstr "**Fedora**" -#: ../../tutorial/tutorial-0.rst:120 f020e1a9f5d540d7888255bd55544b4d +#: docs/en/tutorial/tutorial-0.md:119 #, fuzzy msgid "**Arch / Manjaro**" msgstr "**Arch, Manjaro**" -#: ../../tutorial/tutorial-0.rst:126 1f62d0a8ae4b4680a7c4ba7f43d27362 +#: docs/en/tutorial/tutorial-0.md:125 msgid "**OpenSUSE Tumbleweed**" msgstr "" -#: ../../tutorial/tutorial-0.rst:135 84a624e5d0fe404f81c62eee5a08ce80 +#: docs/en/tutorial/tutorial-0.md:135 msgid "Building BeeWare apps on Windows requires:" msgstr "在 Windows 上建立 BeeWare 應用程式需要:" -#: ../../tutorial/tutorial-0.rst:137 486f3c42958a48a09d4d12b954f68654 -msgid "**Git**, a version control system. You can download Git from from [git-scm.com]{1}." +#: docs/en/tutorial/tutorial-0.md:137 +msgid "" +"**Git**, a version control system. You can download Git from from " +"[git-scm.com]{1}." msgstr "**Git** ,版本控制系統。您可以從 [git-scm.com]{1} 下載 Git。" -#: ../../tutorial/tutorial-0.rst:140 02a042523f2e425d9f0eb58a25fbc856 -msgid "After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals started *after* the install has completed." -msgstr "安裝這些工具後,您應該確保重新啟動所有終端會話。 Windows 只會公開安裝完成 *之後* 啟動的新安裝的工具終端。" +#: docs/en/tutorial/tutorial-0.md:140 +msgid "" +"After installing these tools, you should ensure you restart any terminal " +"sessions. Windows will only expose newly installed tools terminals started " +"*after* the install has completed." +msgstr "安裝這些工具後,您應該確保重新啟動所有終端會話。 Windows 只會公開安裝完成 " +"*之後* 啟動的新安裝的工具終端。" -#: ../../tutorial/tutorial-0.rst:145 d92be276093f454fa12e5dd44a54faa0 +#: docs/en/tutorial/tutorial-0.md:147 msgid "Set up a virtual environment" msgstr "設定虛擬環境" -#: ../../tutorial/tutorial-0.rst:147 756b01e8f73c4c70ae754bbffab9a86e -msgid "We're now going to create a virtual environment - a \"sandbox\" that we can use to isolate our work on this tutorial from our main Python installation. If we install packages into the virtual environment, our main Python installation (and any other Python projects on our computer) won't be affected. If we make a complete mess of our virtual environment, we'll be able to simply delete it and start again, without affecting any other Python project on our computer, and without the need to re-install Python." -msgstr "現在,我們將創建一個虛擬環境 - 一個 [沙箱` ,我們可以使用它來將本教程的工作與主 Python 安裝隔離。如果我們將套件安裝到虛擬環境中,我們的主要 Python 安裝(以及我們電腦上的任何其他 Python 專案)將不會受到影響。如果我們把虛擬環境弄得一團糟,我們只需刪除它並重新開始,就不會影響我們電腦上的任何其他 Python 項目,也不需要重新安裝 Python。" - -#: ../../tutorial/tutorial-0.rst:184 f6e96fcb3b88461fae65e7bcde4aef73 -msgid "If you're not using Python 3.12, replace the `-3.12` in these instructions with the version number that you are using." +#: docs/en/tutorial/tutorial-0.md:149 +msgid "" +"We're now going to create a virtual environment - a \"sandbox\" that we can " +"use to isolate our work on this tutorial from our main Python installation. " +"If we install packages into the virtual environment, our main Python " +"installation (and any other Python projects on our computer) won't be " +"affected. If we make a complete mess of our virtual environment, we'll be " +"able to simply delete it and start again, without affecting any other Python " +"project on our computer, and without the need to re-install Python." +msgstr "" +"現在,我們將創建一個虛擬環境 - 一個 [沙箱` ," +"我們可以使用它來將本教程的工作與主 Python " +"安裝隔離。如果我們將套件安裝到虛擬環境中,我們的主要 Python 安裝(" +"以及我們電腦上的任何其他 Python " +"專案)將不會受到影響。如果我們把虛擬環境弄得一團糟,我們只需刪除它並重新開始" +",就不會影響我們電腦上的任何其他 Python 項目,也不需要重新安裝 Python。" + +#: docs/en/tutorial/tutorial-0.md:189 +msgid "" +"If you're not using Python 3.12, replace the `-3.12` in these instructions " +"with the version number that you are using." msgstr "" -#: ../../tutorial/tutorial-0.rst:187 39c4ca1f082141e7ba1cffef1b3a3967 -msgid "Errors running PowerShell Scripts" -msgstr "執行 PowerShell 腳本時發生錯誤" +#: docs/en/tutorial/tutorial-0.md:192 +msgid "/// admonition | Errors running PowerShell Scripts" +msgstr "" -#: ../../tutorial/tutorial-0.rst:189 d4fc517b27fe40a1812adbeaa7c74b0b +#: docs/en/tutorial/tutorial-0.md:194 msgid "If you're using PowerShell, and you receive the error:" msgstr "如果您使用 PowerShell,並且收到錯誤:" -#: ../../tutorial/tutorial-0.rst:193 b13c4f5dd96b4c9ca0e3c5d8c908357c -msgid "Your Windows account doesn't have permissions to run scripts. To fix this:" +#: docs/en/tutorial/tutorial-0.md:200 +msgid "" +"Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "您的 Windows 帳戶沒有執行腳本的權限。要解決此問題:" -#: ../../tutorial/tutorial-0.rst:195 5c40d261b2dd4f4386ff4b3eee99cd97 -msgid "Run `Windows PowerShell as Administrator]{1}." +#: docs/en/tutorial/tutorial-0.md:203 +msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" -#: ../../tutorial/tutorial-0.rst:196 b7671d185535439490b99c379ca60bb3 +#: docs/en/tutorial/tutorial-0.md:204 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "運行 `set-executionpolicy RemoteSigned`" -#: ../../tutorial/tutorial-0.rst:197 6445651c3ddb4439b70f87568e249b9e +#: docs/en/tutorial/tutorial-0.md:205 msgid "Select `Y` to change the execution policy." msgstr "選擇 `Y` 更改執行策略。" -#: ../../tutorial/tutorial-0.rst:199 663d0d8a60a24e69b50521a98bf8923f -msgid "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in your original PowerShell session (or a new session in the same directory)." -msgstr "完成此操作後,您可以在原始 PowerShell 會話(或同一目錄中的新會話)中重新執行 `beeware-venv\\Scripts\\activate.ps1` 。" +#: docs/en/tutorial/tutorial-0.md:207 +msgid "" +"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " +"your original PowerShell session (or a new session in the same directory)." +msgstr "" +"完成此操作後,您可以在原始 PowerShell 會話(或同一目錄中的新會話)中重新執行 " +"`beeware-venv\\Scripts\\activate.ps1` 。" -#: ../../tutorial/tutorial-0.rst:203 2fcdafab44384926bb71ea7e6523331c -msgid "If this worked, your prompt should now be changed - it should have a `(beeware-venv)` prefix. This lets you know that you're currently in your BeeWare virtual environment. Whenever you're working on this tutorial, you should make sure your virtual environment is activated. If it isn't, re-run the last command (the `activate` command) to re-activate your environment." -msgstr "如果這有效,你的提示現在應該改變 - 它應該有一個 `(beeware-venv)` 前綴。這可以讓您知道您目前處於 BeeWare 虛擬環境。每當您學習本教學時,您都應該確保您的虛擬環境已啟動。如果不是,請重新執行最後一個命令( `activate` 命令)以啟動您的虛擬環境。" +#: docs/en/tutorial/tutorial-0.md:215 +msgid "" +"If this worked, your prompt should now be changed - it should have a " +"`(beeware-venv)` prefix. This lets you know that you're currently in your " +"BeeWare virtual environment. Whenever you're working on this tutorial, you " +"should make sure your virtual environment is activated. If it isn't, re-run " +"the last command (the `activate` command) to re-activate your environment." +msgstr "" +"如果這有效,你的提示現在應該改變 - 它應該有一個 `(beeware-venv)` 前綴。" +"這可以讓您知道您目前處於 BeeWare " +"虛擬環境。每當您學習本教學時,您都應該確保您的虛擬環境已啟動。如果不是,請重" +"新執行最後一個命令( `activate` 命令)以啟動您的虛擬環境。" -#: ../../tutorial/tutorial-0.rst:209 8991904b49714f8e87f8a57b4cd651bd -msgid "Alternative virtual environments" -msgstr "替代的虛擬環境" +#: docs/en/tutorial/tutorial-0.md:222 +msgid "/// admonition | Alternative virtual environments" +msgstr "" -#: ../../tutorial/tutorial-0.rst:211 6d5f6510e081498a954e2297bc746ddd -msgid "If you're using Anaconda or miniconda, you may be more familiar with using conda environments. You might also have heard of `virtualenv`, a predecessor to Python's built in `venv` module. As with Python installs - if you're on macOS or Windows, it doesn't matter *how* you create your virtual environment, as long as you have one. If you're on Linux, you should stick to `venv` and the system Python." -msgstr "如果您使用 Anaconda 或 miniconda,您可能會更熟悉使用 conda 環境。您可能也聽說過 `virtualenv` ,它是 Python 內建的 `venv` 模組的前身。與 Python 安裝一樣 - 如果您使用的是 macOS 或 Windows,只要您有一個虛擬環境, *如何* 建立虛擬環境並不重要。如果您使用的是 Linux,則應該堅持使用 `venv` 和系統 Python。" +#: docs/en/tutorial/tutorial-0.md:224 +msgid "" +"If you're using Anaconda or miniconda, you may be more familiar with using " +"conda environments. You might also have heard of `virtualenv`, a predecessor " +"to Python's built in `venv` module. As with Python installs -if you're on " +"macOS or Windows, it doesn't matter *how* you create your virtual " +"environment, as long as you have one. If you're on Linux, you should stick " +"to `venv` and the system Python." +msgstr "" -#: ../../tutorial/tutorial-0.rst:219 d7b0135bcb764c62ae513df0fa3dae27 +#: docs/en/tutorial/tutorial-0.md:233 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-0.rst:221 a033035284374b46858c7bdd31451859 -msgid "We've now set up our environment. We're ready to [create our first BeeWare application][tutorial-1]." -msgstr "我們現在已經設定好了我們的環境。我們準備好 [創建我們的第一個 BeeWare 應用程式[。" - -#~ msgid "Run Windows PowerShell as Administrator." -#~ msgstr "以管理員身分執行 Windows PowerShell。" - -#~ msgid "**Git**, a version control system. This is included with Xcode or the command line developer tools, which you installed above." -#~ msgstr "**Git** ,版本控制系統。它包含在您上面安裝的 Xcode 或命令列開發人員工具中。" - -#~ msgid "Alternative Python distributions" -#~ msgstr "替代的 Python 發行版" - -#~ msgid "If you're on Linux, you *must* use the system Python provided by your operating system. You will be able to complete *most* of this tutorial using a non-system Python, but you won't be able to package your application for distribution to others." -#~ msgstr "如果您使用的是 Linux,則應該使用作業系統提供的系統 Python。您將能夠使用非系統 Python 完成本教程的 *大部分* ,但您將無法打包您的應用程式以分發給其他人。" - -#~ msgid "If you're on macOS, a recent version of Python is included with Xcode or the command line developer tools. To check if you already have it, run the following command:" -#~ msgstr "如果您使用的是 macOS,則 Xcode 或命令列開發人員工具中包含最新版本的 Python。要檢查您是否已經擁有它,請執行以下命令:" - -#~ msgid "If Python is installed, you'll see its version number. Otherwise, you'll be prompted to install the command line developer tools." -#~ msgstr "如果安裝了 Python,您將看到其版本號。否則,系統將提示您安裝命令列開發人員工具。" - -#~ msgid "You should ensure that you are using Python 3.9 or newer. If it isn't, you'll need to upgrade your Python install. You can get the official installer from `the Python website][https://www.python.org/downloads]_. You can use any stable version of Python from 3.9 onward. We'd advise avoiding alphas, betas, and release candidates unless you *really* know what you're doing." -#~ msgstr "如果您使用的是 Windows,則可以從 `Python 網站]{1} 取得官方安裝程式。您可以使用 3.8 及以上的任何穩定版本的 Python。我們建議避免 alpha、beta 和候選版本,除非您 **真的** 知道自己在做什麼。" +#: docs/en/tutorial/tutorial-0.md:235 +msgid "" +"We've now set up our environment. We're ready to " +"[create our first BeeWare application][tutorial-1]." +msgstr "我們現在已經設定好了我們的環境。我們準備好 [創建我們的第一個 BeeWare " +"應用程式[。" +#~ msgid "Tutorial 0 - Let's get set up!" +#~ msgstr "教學 0 - 讓我們開始設定吧!" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po index de182aa2..93637f08 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -1,194 +1,287 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-1.rst:3 c44a58bf9af545b9beabcb395dd6bac3 -msgid "Tutorial 1 - Your first app" -msgstr "教學 1 - 您的第一個應用程式" +#: docs/en/tutorial/tutorial-1.md:1 +msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgstr "" -#: ../../tutorial/tutorial-1.rst:5 8c55369abe0a4bf582a904a8982622c8 +#: docs/en/tutorial/tutorial-1.md:3 msgid "We're ready to create our first application." msgstr "我們已準備好創建我們的第一個應用程式。" -#: ../../tutorial/tutorial-1.rst:8 9ef2003c498d494f82473cf285b83a2d +#: docs/en/tutorial/tutorial-1.md:5 msgid "Install the BeeWare tools" msgstr "安裝 BeeWare 工具" -#: ../../tutorial/tutorial-1.rst:10 7088cab03d8a41b3ba2da113e95ec243 -msgid "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with the `beeware-venv` virtual environment activated, and run:" -msgstr "首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具,可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 [教學 0][tutorial-0] 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` 虛擬環境,然後執行:" - -#: ../../tutorial/tutorial-1.rst:18 ../../tutorial/tutorial-1.rst:60 -#: ../../tutorial/tutorial-1.rst:157 ../../tutorial/tutorial-1.rst:200 -#: 051d182abed74709970626f616de2545 5eae2fdc6b514f9185b665b5f87b36d7 -#: 771b8465328647f89e6f2c37fd7c32f0 fba614161e9a4726a1f7cd842c527da4 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-1.rst:24 ../../tutorial/tutorial-1.rst:66 -#: ../../tutorial/tutorial-1.rst:170 ../../tutorial/tutorial-1.rst:206 -#: 1db7c563c9cf437285d8f8636f90732f 5a59e8ca70a849448ce604247299a4ca -#: 6ce7c4cd72c147f1b72610192fef57c6 7044be37b9484502b8e8fd2c451d0a9b -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-1.rst:30 ../../tutorial/tutorial-1.rst:43 -#: a1230cb53c174daba3642f2a6af141fa f435be35df3d4cdbb2a1a0e63c4f0b5d -msgid "Possible errors during installation" -msgstr "安裝過程中可能出現的錯誤" - -#: ../../tutorial/tutorial-1.rst:32 9df9fcc42feb4032a001a66ef261dbb7 -msgid "If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you have [installed all the platform pre-requisites ][install-dependencies]." -msgstr "如果您在安裝過程中看到錯誤,幾乎可以肯定是因為某些系統需求尚未安裝。確保您 [已安裝所有平台先決條件 ][install-dependencies]。" - -#: ../../tutorial/tutorial-1.rst:37 ../../tutorial/tutorial-1.rst:72 -#: ../../tutorial/tutorial-1.rst:183 ../../tutorial/tutorial-1.rst:212 -#: 285f4715696c4c0196f7f99d86202f1f 4d5a56751c9a46ec80d606a7cc86c357 -#: a3881c29c414490eb053e19ca72ff255 de77e76b00b24b3fa1b820691365421f -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-1.rst:45 beff2d79a7dc431caf29958706c84edb -msgid "It is important that you use `python -m pip`, rather than a bare `pip`. Briefcase needs to ensure that it has an up-to-date version of `pip` and `setuptools`, and a bare invocation of `pip` can't self-update. If you want to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "使用 `python -m pip` ,而不是只有 `pip` ,這一點很重要。 Briefcase需要確保它有最新版本的 `pip` 和 `setuptools` ,並且單純調用 `pip` 無法自我更新。如果您想了解更多信息,[Brett Cannon 有一篇關於該問題的詳細博客文章]{1} 。" - -#: ../../tutorial/tutorial-1.rst:52 f7599478b0c4436b926386aecb08a0dd +#: docs/en/tutorial/tutorial-1.md:7 +msgid "" +"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " +"can be used to package your application for distribution to end users - but " +"it can also be used to bootstrap a new project. Make sure you're in the " +"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " +"the `beeware-venv` virtual environment activated, and run:" +msgstr "" +"首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具," +"可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 " +"[教學 0][tutorial-0] 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` " +"虛擬環境,然後執行:" + +#: docs/en/tutorial/tutorial-1.md:14 +#: docs/en/tutorial/tutorial-1.md:63 +#: docs/en/tutorial/tutorial-1.md:157 +#: docs/en/tutorial/tutorial-1.md:205 +msgid "/// tab | macOS" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:20 +#: docs/en/tutorial/tutorial-1.md:35 +#: docs/en/tutorial/tutorial-1.md:37 +#: docs/en/tutorial/tutorial-1.md:53 +#: docs/en/tutorial/tutorial-1.md:55 +#: docs/en/tutorial/tutorial-1.md:69 +#: docs/en/tutorial/tutorial-1.md:77 +#: docs/en/tutorial/tutorial-1.md:85 +#: docs/en/tutorial/tutorial-1.md:170 +#: docs/en/tutorial/tutorial-1.md:185 +#: docs/en/tutorial/tutorial-1.md:200 +#: docs/en/tutorial/tutorial-1.md:211 +#: docs/en/tutorial/tutorial-1.md:219 +#: docs/en/tutorial/tutorial-1.md:244 +#: docs/en/tutorial/tutorial-1.md:246 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:22 +#: docs/en/tutorial/tutorial-1.md:71 +#: docs/en/tutorial/tutorial-1.md:172 +#: docs/en/tutorial/tutorial-1.md:213 +msgid "/// tab | Linux" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:28 +#: docs/en/tutorial/tutorial-1.md:45 +msgid "/// admonition | Possible errors during installation" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:30 +msgid "" +"If you see errors during installation, it's almost certainly because some of " +"the system requirements haven't been installed. Make sure you have `" +"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:39 +#: docs/en/tutorial/tutorial-1.md:79 +#: docs/en/tutorial/tutorial-1.md:187 +#: docs/en/tutorial/tutorial-1.md:221 +msgid "/// tab | Windows" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:47 +msgid "" +"It is important that you use `python -m pip`, rather than a bare `pip`. " +"Briefcase needs to ensure that it has an up-to-date version of `pip` and " +"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " +"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." +msgstr "" +"使用 `python -m pip` ,而不是只有 `pip` ,這一點很重要。 " +"Briefcase需要確保它有最新版本的 `pip` 和 `setuptools` ,並且單純調用 `pip` " +"無法自我更新。如果您想了解更多信息," +"[Brett Cannon 有一篇關於該問題的詳細博客文章]{1} 。" + +#: docs/en/tutorial/tutorial-1.md:57 msgid "Bootstrap a new project" msgstr "開始一個新項目" -#: ../../tutorial/tutorial-1.rst:54 b358852f27c94751a92cf2417b0afe5c -msgid "Let's start our first BeeWare project! We're going to use the Briefcase `new` command to create an application called **Hello World**. Run the following from your command prompt:" -msgstr "讓我們開始我們的第一個 BeeWare 專案吧!我們將使用 Briefcase 的 `new` 命令建立一個名為 **Hello World** 的應用程式。從命令提示字元執行以下命令:" +#: docs/en/tutorial/tutorial-1.md:59 +msgid "" +"Let's start our first BeeWare project! We're going to use the Briefcase `new`" +" command to create an application called **Hello World**. Run the following " +"from your command prompt:" +msgstr "" -#: ../../tutorial/tutorial-1.rst:78 64ef847a94ec4f51996e8407438901ed -msgid "Briefcase will ask us for some details of our new application. For the purposes of this tutorial, use the following:" -msgstr "Briefcase 將詢問我們新應用程式的一些詳細資訊。出於本教學的目的,請使用以下內容:" +#: docs/en/tutorial/tutorial-1.md:87 +msgid "" +"Briefcase will ask us for some details of our new application. For the " +"purposes of this tutorial, use the following:" +msgstr "Briefcase " +"將詢問我們新應用程式的一些詳細資訊。出於本教學的目的,請使用以下內容:" -#: ../../tutorial/tutorial-1.rst:81 303d71a0b08d4b30867818a641530ac1 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**正式名稱** - 接受預設值: `Hello World` 。" -#: ../../tutorial/tutorial-1.rst:83 e89743661430421d8f5585855c562965 +#: docs/en/tutorial/tutorial-1.md:91 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**應用程式名稱** - 接受預設值: `helloworld` 。" -#: ../../tutorial/tutorial-1.rst:85 695f3b927c3842be8ce9829ba5a5850b +#: docs/en/tutorial/tutorial-1.md:92 #, fuzzy -msgid "**Bundle Identifier** - If you own your own domain, enter that domain in reversed order. (For example, if you own the domain \"cupcakes.com\", enter `com.cupcakes` as the bundle). If you don't own your own domain, accept the default bundle (`com.example`)." -msgstr "**封裝名稱** - 如果您擁有自己的網域,請以相反的順序輸入該網域。 (例如,如果您擁有網域名稱 `cupcakes.com` ,請輸入 `com.cupcakes` 作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( `com.example` )。" +msgid "" +"**Bundle Identifier** - If you own your own domain, enter that domain in " +"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " +"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " +"default bundle (`com.example`)." +msgstr "" +"**封裝名稱** - 如果您擁有自己的網域,請以相反的順序輸入該網域。 (例如," +"如果您擁有網域名稱 `cupcakes.com` ,請輸入 `com.cupcakes` " +"作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( `com.example` )。" -#: ../../tutorial/tutorial-1.rst:90 aa02b1482cef4302b697076eb4c64d18 +#: docs/en/tutorial/tutorial-1.md:96 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**項目名稱** - 接受預設值: `Hello World` 。" -#: ../../tutorial/tutorial-1.rst:92 21f6ac5b36f94537803b32b74786df1d -msgid "**Description** - Accept the default value (or, if you want to be really creative, come up with your own description!)" +#: docs/en/tutorial/tutorial-1.md:97 +msgid "" +"**Description** - Accept the default value (or, if you want to be really " +"creative, come up with your own description!)" msgstr "**描述** - 接受預設值(或者,如果您想真正發揮創意,請提出您自己的描述!)" -#: ../../tutorial/tutorial-1.rst:95 ba8ae0bc26834f49b9bf2792b3d0710e +#: docs/en/tutorial/tutorial-1.md:99 msgid "**Author** - Enter your own name here." msgstr "**作者** - 在此輸入您自己的姓名。" -#: ../../tutorial/tutorial-1.rst:97 802e543e749a41a7805cd4cc3208ce82 +#: docs/en/tutorial/tutorial-1.md:100 #, fuzzy -msgid "**Author's Email** - Enter your own email address. This will be used in the configuration file, in help text, and anywhere that an email is required when submitting the app to an app store." -msgstr "**作者的電子郵件** - 輸入您自己的電子郵件地址。這將用在設定檔、說明文字以及將應用程式提交到應用程式商店時需要電子郵件的任何地方。" - -#: ../../tutorial/tutorial-1.rst:101 bb75d1978ab84c9783bcfa2ef56ff643 +msgid "" +"**Author's Email** - Enter your own email address. This will be used in the " +"configuration file, in help text, and anywhere that an email is required " +"when submitting the app to an app store." +msgstr "**作者的電子郵件** - " +"輸入您自己的電子郵件地址。這將用在設定檔、說明文字以及將應用程式提交到應用程" +"式商店時需要電子郵件的任何地方。" + +#: docs/en/tutorial/tutorial-1.md:103 #, fuzzy -msgid "**Application URL** - The URL of the landing page for your application. Again, if you own your own domain, enter a URL at that domain (including the `https://`). Otherwise, just accept the default URL (`https://example.com/helloworld`). This URL doesn't need to actually exist (for now); it will only be used if you publish your application to an app store." -msgstr "**URL** - 您的應用程式的登入頁面的 URL。同樣,如果您擁有自己的網域,請輸入該網域的 URL(包括 `https://` )。否則,只需接受預設 URL (`https://example.com/helloworld`)。該 URL 不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" +msgid "" +"**Application URL** - The URL of the landing page for your application. " +"Again, if you own your own domain, enter a URL at that domain (including the " +"`https://`). Otherwise, just accept the default URL (`https://example.com/" +"helloworld`). This URL doesn't need to actually exist (for now); it will " +"only be used if you publish your application to an app store." +msgstr "" +"**URL** - 您的應用程式的登入頁面的 URL。同樣,如果您擁有自己的網域," +"請輸入該網域的 URL(包括 `https://` )。否則,只需接受預設 URL (`https://" +"example.com/helloworld`)。該 URL " +"不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" -#: ../../tutorial/tutorial-1.rst:107 77a5ecfdf7a94009a179a7f3d1869301 +#: docs/en/tutorial/tutorial-1.md:109 #, fuzzy -msgid "**Project License** - Accept the default license (BSD). This won't affect anything about the operation of the tutorial, though - so if you have particularly strong feelings about license choice, feel free to choose another license." -msgstr "**許可證** - 接受預設許可證 (BSD)。不過,這不會影響本教學的操作 - 因此,如果您對許可證選擇有特別強烈的感覺,請隨意選擇其他許可證。" +msgid "" +"**Project License** - Accept the default license (BSD). This won't affect " +"anything about the operation of the tutorial, though - so if you have " +"particularly strong feelings about license choice, feel free to choose " +"another license." +msgstr "" +"**許可證** - 接受預設許可證 (BSD)。不過,這不會影響本教學的操作 - " +"因此,如果您對許可證選擇有特別強烈的感覺,請隨意選擇其他許可證。" -#: ../../tutorial/tutorial-1.rst:112 ca33e82beff54a8698ed7f7150de88b0 -msgid "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI toolkit)." +#: docs/en/tutorial/tutorial-1.md:113 +msgid "" +"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " +"toolkit)." msgstr "**GUI 框架** - 接受預設選項 Toga(BeeWare 自己的 GUI 工具)。" -#: ../../tutorial/tutorial-1.rst:115 3d380b798272442eb06bc7afb01868fb -msgid "Briefcase will then generate a project skeleton for you to use. If you've followed this tutorial so far, and accepted the defaults as described, your file system should look something like:" -msgstr "然後,Briefcase 將產生一個專案框架供您使用。如果您到目前為止已經遵循了本教學,並接受了所描述的預設設置,您的資料夾應該類似於:" - -#: ../../tutorial/tutorial-1.rst:139 1213e49352894bdc93e285628b1cdeab -msgid "This skeleton is actually a fully functioning application without adding anything else. The `src` folder contains all the code for the application, the `tests` folder contains an initial test suite, and the `pyproject.toml` file describes how to package the application for distribution. If you open `pyproject.toml` in an editor, you'll see the configuration details you just provided to Briefcase." -msgstr "這個框架實際上是一個功能齊全的應用程式,無需添加任何其他內容。 `src` 資料夾包含應用程式的所有程式碼, `tests` 資料夾包含初始測試套件, `pyproject.toml` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 `pyproject.toml` ,您將看到剛剛提供給 `Briefcase` 的設定詳細資訊。" +#: docs/en/tutorial/tutorial-1.md:116 +msgid "" +"Briefcase will then generate a project skeleton for you to use. If you've " +"followed this tutorial so far, and accepted the defaults as described, your " +"file system should look something like:" +msgstr "然後,Briefcase " +"將產生一個專案框架供您使用。如果您到目前為止已經遵循了本教學,並接受了所描述" +"的預設設置,您的資料夾應該類似於:" + +#: docs/en/tutorial/tutorial-1.md:142 +msgid "" +"This skeleton is actually a fully functioning application without adding " +"anything else. The `src` folder contains all the code for the application, " +"the `tests` folder contains an initial test suite, and the `pyproject.toml` " +"file describes how to package the application for distribution. If you open " +"`pyproject.toml` in an editor, you'll see the configuration details you just " +"provided to Briefcase." +msgstr "" +"這個框架實際上是一個功能齊全的應用程式,無需添加任何其他內容。 `src` " +"資料夾包含應用程式的所有程式碼, `tests` 資料夾包含初始測試套件, " +"`pyproject.toml` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 " +"`pyproject.toml` ,您將看到剛剛提供給 `Briefcase` 的設定詳細資訊。" -#: ../../tutorial/tutorial-1.rst:146 bb35eb69b9ad4de29ab9af4c25863e1a -msgid "Now that we have a stub application, we can use Briefcase to run the application." +#: docs/en/tutorial/tutorial-1.md:149 +msgid "" +"Now that we have a stub application, we can use Briefcase to run the " +"application." msgstr "現在我們有了一個未打包的應用程式,我們可以使用 Briefcase 來運行該應用程式。" -#: ../../tutorial/tutorial-1.rst:150 ff478d51f1444a719d27e0999313dae4 +#: docs/en/tutorial/tutorial-1.md:152 msgid "Run the app in developer mode" msgstr "在開發者模式下運行應用程式" -#: ../../tutorial/tutorial-1.rst:152 5615b910bdbc43e68cb252d4cf9b786c -msgid "Move into the `helloworld` project directory and tell briefcase to start the project in Developer (or `dev`) mode:" +#: docs/en/tutorial/tutorial-1.md:154 +msgid "" +"Move into the `helloworld` project directory and tell briefcase to start the " +"project in Developer (or `dev`) mode:" msgstr "進入 `helloworld` 專案目錄並告訴公事包以開發人員(或 `dev` )模式啟動專案:" -#: ../../tutorial/tutorial-1.rst:196 56f8e185ca4448319d31826102e2d978 +#: docs/en/tutorial/tutorial-1.md:203 msgid "This should open a GUI window:" msgstr "這應該打開一個 GUI 視窗:" -#: ../../tutorial/tutorial-1.rst:202 640c1c63e94e4753a1f39ac4672727fd -msgid "Hello World Tutorial 1 window, on macOS" -msgstr "在 macOS 上的教學 1 視窗" - -#: ../../tutorial/tutorial-1.rst:208 d4057adb979a4087b834820e8663b3c7 -msgid "Hello World Tutorial 1 window, on Linux" -msgstr "在 Linux 上的教學 1 視窗" - -#: ../../tutorial/tutorial-1.rst:214 44b9267d36a245c382cad60c92d60672 -msgid "Hello World Tutorial 1 window, on Windows" -msgstr "在 Windows 上的教學 1 視窗" - -#: ../../tutorial/tutorial-1.rst:218 837c32d837be48feb610ebe744ad7f3d -msgid "Invalid requirements or pip unable to connect" +#: docs/en/tutorial/tutorial-1.md:227 +msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: ../../tutorial/tutorial-1.rst:220 c3b14c5409c54522910cce5a3d69ab0c +#: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" msgstr "" -#: ../../tutorial/tutorial-1.rst:228 f62b400262f44c45a4e2b84061b7387d -msgid "Confirm that you are running a [version of python that this tutorial supports ][install-python]." +#: docs/en/tutorial/tutorial-1.md:237 +msgid "" +"Confirm that you are running a `version of python that this tutorial " +"supports `{.interpreted-text role=\"ref\"}." msgstr "" -#: ../../tutorial/tutorial-1.rst:231 5787f011a2134cd6906cfd39163dfa2f -msgid "If your version of python is *not* a supported version, you will have to restart the tutorial." +#: docs/en/tutorial/tutorial-1.md:241 +msgid "" +"If your version of python is *not* a supported version, you will have to " +"restart the tutorial." msgstr "" -#: ../../tutorial/tutorial-1.rst:234 b0d1adb969ab4e53b7e44bba85ccd12b +#: docs/en/tutorial/tutorial-1.md:248 #, fuzzy -msgid "Close the application - either by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and you're done! Congratulations - you've just written a standalone, native application in Python!" -msgstr "按下關閉按鈕(或從應用程式的選單中選擇退出),就完成了!恭喜 - 您剛剛用 Python 編寫了一個獨立的本機應用程式!" - -#: ../../tutorial/tutorial-1.rst:241 36aa6a195f7f4f5f8000c86a40b29e5b +msgid "" +"Close the application - either by pressing the close button on the " +"application window, by selecting Quit/Exit from the application's menu, or " +"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " +"you're done! Congratulations - you've just written a standalone, native " +"application in Python!" +msgstr "按下關閉按鈕(或從應用程式的選單中選擇退出),就完成了!恭喜 - 您剛剛用 " +"Python 編寫了一個獨立的本機應用程式!" + +#: docs/en/tutorial/tutorial-1.md:254 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-1.rst:243 3d6f4ac3619c49b8abb82d6f374d0231 -msgid "We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user interface onto our application." -msgstr "我們現在有了一個可以運行的應用程序,在開發人員模式下運行。現在我們可以添加一些我們自己的邏輯,使我們的應用程式做一些更有趣的事情。在 :doc:`教程 2 中`,我們將在我們的應用程式中放置一個更有用的使用者介面。" - -#~ msgid "One of the BeeWare tools is **Briefcase**. Briefcase can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project." -#~ msgstr "BeeWare 工具之一是 **Briefcase** 。它可用於打包您的應用程式以分發給最終用戶 - 但它也可用於初始化新專案。" +#: docs/en/tutorial/tutorial-1.md:256 +msgid "" +"We now have a working application, running in developer mode. Now we can add " +"some logic of our own to make our application do something a little more " +"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " +"interface onto our application." +msgstr "" +"我們現在有了一個可以運行的應用程序,在開發人員模式下運行。現在我們可以添加一" +"些我們自己的邏輯,使我們的應用程式做一些更有趣的事情。在 :doc:`教程 2 " +"中`,我們將在我們的應用程式中放置一個更有用的使用者介面。" +#~ msgid "Tutorial 1 - Your first app" +#~ msgstr "教學 1 - 您的第一個應用程式" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po index 1cd836a3..1b259857 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po @@ -1,297 +1,441 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2025-04-20 22:01+0000\n" "Last-Translator: John \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional Han script) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional Han script) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-2.rst:3 2e1be6a8aa08484fb6e79eb40a1af561 -#, fuzzy -msgid "Tutorial 2 - Making it interesting" -msgstr "教學 2 - 讓它變得有趣" +#: docs/en/tutorial/tutorial-2.md:1 +msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgstr "" -#: ../../tutorial/tutorial-2.rst:5 2a7bd1732fe245ec99be0493cb4fd53c +#: docs/en/tutorial/tutorial-2.md:3 #, fuzzy -msgid "In [Tutorial 1][tutorial-1], we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us." -msgstr "在 [教程 1 中`,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼。讓我們看看為我們產生了什麼。" +msgid "" +"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " +"run, but we didn't write any code ourselves. Let's take a look at what was " +"generated for us." +msgstr "在 [教程 1 " +"中`,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼" +"。讓我們看看為我們產生了什麼。" -#: ../../tutorial/tutorial-2.rst:10 36c79c9915674ccfbc12bcc0734bcf35 +#: docs/en/tutorial/tutorial-2.md:7 #, fuzzy msgid "What was generated" msgstr "生成了什麼" -#: ../../tutorial/tutorial-2.rst:12 721f5201e79c44fdac204d63312a6f2e +#: docs/en/tutorial/tutorial-2.md:9 #, fuzzy -msgid "In the `src/helloworld` directory, you should see 3 files: `__init__.py`, `__main__.py` and `app.py`." -msgstr "在 src/helloworld 目錄中,您應該會看到 3 個檔案:__init__.py、__main__.py 和 app.py。" +msgid "" +"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " +"`__main__.py` and `app.py`." +msgstr "在 src/helloworld 目錄中,您應該會看到 3 個檔案:__init__.py、__main__.py 和 " +"app.py。" -#: ../../tutorial/tutorial-2.rst:15 de38dacd1a0d4c348d934fce208a6bd3 +#: docs/en/tutorial/tutorial-2.md:12 #, fuzzy -msgid "`__init__.py` marks the `helloworld` directory as an importable Python module. It is an empty file; the very fact it exists tells the Python interpreter that the `helloworld` directory defines a module." -msgstr "`__init__.py` 將`helloworld` 目錄標記為可匯入的Python 模組。這是一個空文件;它的存在告訴 Python 解釋器`helloworld`目錄定義了一個模組。" +msgid "" +"`__init__.py` marks the `helloworld` directory as an importable Python " +"module. It is an empty file; the very fact it exists tells the Python " +"interpreter that the `helloworld` directory defines a module." +msgstr "" +"`__init__.py` 將`helloworld` 目錄標記為可匯入的Python 模組。這是一個空文件;" +"它的存在告訴 Python 解釋器`helloworld`目錄定義了一個模組。" -#: ../../tutorial/tutorial-2.rst:19 26dab7a022e948289e9acf4e07b634fa -#, fuzzy -msgid "`__main__.py` marks the `helloworld` module as a special kind of module - an executable module. If you try to run the `helloworld` module using `python -m helloworld`, the `__main__.py` file is where Python will start executing. The contents of `__main__.py` is relatively simple:" -msgstr "`__main__.py` 將`helloworld` 模組標記為一種特殊類型的模組 - 可執行模組。如果您嘗試使用`python -m helloworld`來執行`helloworld`模組,則`__main__.py`檔案是Python將開始執行的位置。 `__main__.py` 的內容比較簡單:" +#: docs/en/tutorial/tutorial-2.md:16 +msgid "" +"`__main__.py` marks the `helloworld` module as a special kind of module -an " +"executable module. If you try to run the `helloworld` module using `python -" +"m helloworld`, the `__main__.py` file is where Python will start executing. " +"The contents of `__main__.py` is relatively simple:" +msgstr "" -#: ../../tutorial/tutorial-2.rst:29 0d4ebd6dfe7c48fbb51894c045ff24fc +#: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" msgstr "" -#: ../../tutorial/tutorial-2.rst:31 6d23aa2404fc48ba96da528ccc1f2940 -msgid "It imports the `main` method from from the `helloworld` app." +#: docs/en/tutorial/tutorial-2.md:30 +msgid "It imports the `main` method from the `helloworld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:32 0b48d24bc644417e829bacd14d0f3cdc +#: docs/en/tutorial/tutorial-2.md:31 #, fuzzy -msgid "Then, it starts the application’s main loop. The main loop is the way a GUI application listens for user input (like mouse clicks and keyboard presses)." -msgstr "也就是說 - 它從`helloworld`應用程式導入`main`方法;如果它是作為入口點執行,則呼叫 main() 方法,並啟動應用程式的主循環。主循環是 GUI 應用程式偵聽使用者輸入(如滑鼠點擊和鍵盤按下)的方式。" +msgid "" +"Then, it starts the application’s main loop. The main loop is the way a GUI " +"application listens for user input (like mouse clicks and keyboard presses)." +msgstr "" +"也就是說 - 它從`helloworld`應用程式導入`main`方法;如果它是作為入口點執行," +"則呼叫 main() 方法,並啟動應用程式的主循環。主循環是 GUI " +"應用程式偵聽使用者輸入(如滑鼠點擊和鍵盤按下)的方式。" -#: ../../tutorial/tutorial-2.rst:35 09fd77cade1b42b4a8b88e37bb0da6e3 +#: docs/en/tutorial/tutorial-2.md:35 #, fuzzy -msgid "The more interesting file is `app.py` - this contains the logic that creates our application window:" +msgid "" +"The more interesting file is `app.py` - this contains the logic that creates " +"our application window:" msgstr "更有趣的檔案是`app.py`——它包含創建我們的應用程式視窗的邏輯:" -#: ../../tutorial/tutorial-2.rst:52 df7ece5eaff04ed19ab39cdb23b6ac77 +#: docs/en/tutorial/tutorial-2.md:54 #, fuzzy msgid "Let's go through this line by line:" msgstr "讓我們逐行瀏覽一下:" -#: ../../tutorial/tutorial-2.rst:57 f5ddb2b7e7b844a69c517fd33d19a19d +#: docs/en/tutorial/tutorial-2.md:61 #, fuzzy -msgid "First, we import the `toga` widget toolkit, as well as some style-related utility constants. Our code doesn't use these yet - but we'll make use of them shortly." -msgstr "首先,我們匯入`toga`小工具工具包,以及一些與樣式相關的實用程式類別和常數。我們的程式碼尚未使用它們 - 但我們很快就會使用它們。" +msgid "" +"First, we import the `toga` widget toolkit, as well as some style-related " +"utility constants. Our code doesn't use these yet - but we'll make use of " +"them shortly." +msgstr "首先,我們匯入`toga`小工具工具包,以及一些與樣式相關的實用程式類別和常數。" +"我們的程式碼尚未使用它們 - 但我們很快就會使用它們。" -#: ../../tutorial/tutorial-2.rst:61 a3f7bf04b0ac4a81951a5ed777d42987 +#: docs/en/tutorial/tutorial-2.md:65 #, fuzzy msgid "Then, we define a class:" msgstr "然後,我們定義一個類別::" -#: ../../tutorial/tutorial-2.rst:65 9f8637c8b8674d85a500d98d1a8c8d3a +#: docs/en/tutorial/tutorial-2.md:71 #, fuzzy -msgid "Each Toga application has a single `toga.App` instance, representing the running entity that is the application. The app may end up managing multiple windows; but for simple applications, there will be a single main window." -msgstr "每個 Toga 應用程式都有一個`toga.App`實例,代表應用程式的運作實體。該應用程式最終可能會管理多個視窗;但對於簡單的應用程序,將有一個主視窗。" +msgid "" +"Each Toga application has a single `toga.App` instance, representing the " +"running entity that is the application. The app may end up managing multiple " +"windows; but for simple applications, there will be a single main window." +msgstr "" +"每個 Toga " +"應用程式都有一個`toga.App`實例,代表應用程式的運作實體。該應用程式最終可能會" +"管理多個視窗;但對於簡單的應用程序,將有一個主視窗。" -#: ../../tutorial/tutorial-2.rst:69 32d1c270af7245718f91161251d34f81 +#: docs/en/tutorial/tutorial-2.md:76 #, fuzzy msgid "Next, we define a `startup()` method:" msgstr "接下來,我們定義一個`startup()`方法:" -#: ../../tutorial/tutorial-2.rst:74 43ade04c31ae40fda6b416406baab307 +#: docs/en/tutorial/tutorial-2.md:83 #, fuzzy -msgid "The first thing the startup method does is to define a main box. Toga's layout scheme behaves similar to HTML. You build an application by constructing a collection of boxes, each of which contains other boxes, or actual widgets. You then apply styles to these boxes to define how they will consume the available window space." -msgstr "啟動方法所做的第一件事是定義一個主框。 Toga 的佈局方案的行為與 HTML 類似。您可以透過建立一組框來建立應用程序,每個框都包含其他框或實際的小部件。然後,您可以將樣式套用到這些方塊來定義它們將如何使用可用的視窗空間。" +msgid "" +"The first thing the startup method does is to define a main box. Toga's " +"layout scheme behaves similar to HTML. You build an application by " +"constructing a collection of boxes, each of which contains other boxes, or " +"actual widgets. You then apply styles to these boxes to define how they will " +"consume the available window space." +msgstr "" +"啟動方法所做的第一件事是定義一個主框。 Toga 的佈局方案的行為與 HTML " +"類似。您可以透過建立一組框來建立應用程序,每個框都包含其他框或實際的小部件。" +"然後,您可以將樣式套用到這些方塊來定義它們將如何使用可用的視窗空間。" -#: ../../tutorial/tutorial-2.rst:80 a0e8f55b28d04de98074f7fb4227a269 +#: docs/en/tutorial/tutorial-2.md:89 #, fuzzy -msgid "In this application, we define a single box, but we don't put anything into it." +msgid "" +"In this application, we define a single box, but we don't put anything into " +"it." msgstr "在此應用程式中,我們定義了一個框,但沒有在其中放入任何內容。" -#: ../../tutorial/tutorial-2.rst:82 1f7f4fa8a2244ceea804514e62a22344 +#: docs/en/tutorial/tutorial-2.md:92 #, fuzzy msgid "Next, we define a window into which we can put this empty box:" msgstr "接下來,我們定義一個窗口,可以將這個空框放入其中:" -#: ../../tutorial/tutorial-2.rst:86 2ef76961458944b6a2d73dd38e60d4a1 +#: docs/en/tutorial/tutorial-2.md:98 #, fuzzy -msgid "This creates an instance of a `toga.MainWindow`, which will have a title matching the application's name. A Main Window is a special kind of window in Toga - it's a window that is closely bound to the life cycle of the app. When the Main Window is closed, the application exits. The Main Window is also the window that has the application's menu (if you're on a platform like Windows where menu bars are part of the window)." -msgstr "這將建立一個`toga.MainWindow`實例,它將具有與應用程式名稱相符的標題。主視窗是 Toga 中的一種特殊視窗 - 它是與應用程式的生命週期密切相關的視窗。當主視窗關閉時,應用程式退出。主視窗也是具有應用程式選單的視窗(如果您使用的是 Windows 等平台,其中功能表列是視窗的一部分)" +msgid "" +"This creates an instance of a `toga.MainWindow`, which will have a title " +"matching the application's name. A Main Window is a special kind of window " +"in Toga - it's a window that is closely bound to the life cycle of the app. " +"When the Main Window is closed, the application exits. The Main Window is " +"also the window that has the application's menu (if you're on a platform " +"like Windows where menu bars are part of the window)." +msgstr "" +"這將建立一個`toga.MainWindow`實例,它將具有與應用程式名稱相符的標題。" +"主視窗是 Toga 中的一種特殊視窗 - " +"它是與應用程式的生命週期密切相關的視窗。當主視窗關閉時,應用程式退出。主視窗" +"也是具有應用程式選單的視窗(如果您使用的是 Windows " +"等平台,其中功能表列是視窗的一部分)" + +#: docs/en/tutorial/tutorial-2.md:106 +msgid "/// admonition | Where is my window?" +msgstr "" -#: ../../tutorial/tutorial-2.rst:93 83ddcb8dc2f54f7482e37d1144f29626 -msgid "Where is my window?" +#: docs/en/tutorial/tutorial-2.md:108 +msgid "" +"If you have made an error in your code, the main window of the app may not " +"display. If this happens, you can type **Ctrl+C** in the terminal where you " +"started the app. This will stop the app. You can then fix the error and " +"restart the app." msgstr "" -#: ../../tutorial/tutorial-2.rst:95 969f733e9f794de9b374ad9163e7ac85 -msgid "If you have made an error in your code, the main window of the app may not display. If this happens, you can type **Ctrl+C** in the terminal where you started the app. This will stop the app. You can then fix the error and restart the app." +#: docs/en/tutorial/tutorial-2.md:113 +#: docs/en/tutorial/tutorial-2.md:148 +#: docs/en/tutorial/tutorial-2.md:211 +#: docs/en/tutorial/tutorial-2.md:302 +#: docs/en/tutorial/tutorial-2.md:313 +#: docs/en/tutorial/tutorial-2.md:324 +#: docs/en/tutorial/tutorial-2.md:340 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-2.rst:99 e612fb6b63b14bdcb39b5626b021c777 +#: docs/en/tutorial/tutorial-2.md:115 #, fuzzy -msgid "We then add our empty box as the content of the main window, and instruct the application to show our window:" +msgid "" +"We then add our empty box as the content of the main window, and instruct " +"the application to show our window:" msgstr "然後,我們添加空框作為主視窗的內容,並指示應用程式顯示我們的視窗:" -#: ../../tutorial/tutorial-2.rst:105 1ce27dec55a74047bf2e8539c8efbc73 -msgid "Last of all, we define a `main()` function. This is what creates the instance of our application:" +#: docs/en/tutorial/tutorial-2.md:123 +msgid "" +"Last of all, we define a `main()` function. This is what creates the " +"instance of our application:" msgstr "最後,我們定義一個`main()`方法。這就是創建我們的應用程式實例的原因:" -#: ../../tutorial/tutorial-2.rst:111 bc7b7fdf8a5c43ffb2fdf01859bd16aa +#: docs/en/tutorial/tutorial-2.md:131 #, fuzzy -msgid "This `main()` method is the one that is imported and invoked by `__main__.py`. It creates and returns an instance of our `HelloWorld` application." -msgstr "這個`main()`方法是由`__main__.py`導入和呼叫的方法。它創建並傳回我們的`HelloWorld`應用程式的實例。" +msgid "" +"This `main()` method is the one that is imported and invoked by `__main__.py`" +". It creates and returns an instance of our `HelloWorld` application." +msgstr "這個`main()`方法是由`__main__.py`導入和呼叫的方法。它創建並傳回我們的`HelloWo" +"rld`應用程式的實例。" -#: ../../tutorial/tutorial-2.rst:115 f3f8cdad383346459a1c835fa92f112c +#: docs/en/tutorial/tutorial-2.md:135 #, fuzzy -msgid "That's the simplest possible Toga application. Let's put some of our own content into the application, and make the app do something interesting." -msgstr "這是最簡單的 Toga 應用程式。讓我們將一些我們自己的內容放入應用程式中,並使應用程式做一些有趣的事情。" +msgid "" +"That's the simplest possible Toga application. Let's put some of our own " +"content into the application, and make the app do something interesting." +msgstr "這是最簡單的 Toga " +"應用程式。讓我們將一些我們自己的內容放入應用程式中,並使應用程式做一些有趣的" +"事情。" -#: ../../tutorial/tutorial-2.rst:119 9e8807c5553942e4a4953098041741aa +#: docs/en/tutorial/tutorial-2.md:138 #, fuzzy msgid "Adding some content of our own" msgstr "添加一些我們自己的內容" -#: ../../tutorial/tutorial-2.rst:121 3a5a7f2ca0e2483f93fef97babc01fc7 +#: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" -#: ../../tutorial/tutorial-2.rst:125 e44cc783a890402085f37580f482fac8 +#: docs/en/tutorial/tutorial-2.md:142 +#: docs/en/tutorial/tutorial-2.md:201 +msgid "/// note | Note" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:144 #, fuzzy -msgid "When you make these changes, make sure you keep the imports at the top of the file, and the `main()` at the bottom of the file. You only need to update the `HelloWorld` class." +msgid "" +"When you make these changes, make sure you keep the imports at the top of " +"the file, and the `main()` at the bottom of the file. You only need to " +"update the `HelloWorld` class." msgstr "不要刪除文件頂部的導入或底部的`main()`。您只需要更新`HelloWorld`類別。" -#: ../../tutorial/tutorial-2.rst:129 8436dd50e42c4b5e9bbbb7a5a82add25 +#: docs/en/tutorial/tutorial-2.md:150 #, fuzzy -msgid "Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it looks like this:" +msgid "" +"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " +"looks like this:" msgstr "修改`src/helloworld/app.py`中的`HelloWorld`類,使其看起來像這樣:" -#: ../../tutorial/tutorial-2.rst:163 ebf3b206e6364dafa694bb0a5d745911 +#: docs/en/tutorial/tutorial-2.md:185 #, fuzzy msgid "Let's look in detail at what has changed." msgstr "讓我們詳細看看發生了什麼變化。" -#: ../../tutorial/tutorial-2.rst:165 0bcd8b52741747f9a21641e9f4d5ab74 +#: docs/en/tutorial/tutorial-2.md:187 #, fuzzy msgid "We're still creating a main box; however, we are now applying a style:" msgstr "我們仍在創建一個主盒子;然而,我們現在正在應用一種風格:" -#: ../../tutorial/tutorial-2.rst:169 69a49e9c77ee4dc29cbbab0929842838 +#: docs/en/tutorial/tutorial-2.md:193 #, fuzzy -msgid "Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. You define objects in a hierarchy - in HTML, the objects are `
`, ``, and other DOM elements; in Toga, they're widgets and boxes. You can then assign styles to the individual elements. In this case, we're indicating that this is a `COLUMN` box - that is, it is a box that will consume all the available width, and will expand its height as content is added, but it will try to be as short as possible." -msgstr "Toga 的內建佈局系統稱為`Pack`。它的行為很像 CSS。您可以在層次結構中定義物件 - 在 HTML 中,物件是`
`、`][span]` 和其他 DOM 元素;在 Toga 中,它們是小部件和盒子。然後,您可以為各個元素指定樣式。在這種情況下,我們表明這是一個`COLUMN`框 - 也就是說,它是一個將消耗所有可用寬度的框,並且會在添加內容時擴展其高度,但它會嘗試盡可能短。" - -#: ../../tutorial/tutorial-2.rst:178 e4c4909f5fc74238b79131c26ff237e1 -msgid "For more advanced uses, Toga also supports a separate style object, which is used like this:" +msgid "" +"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " +"You define objects in a hierarchy - in HTML, the objects are `
`, " +"``, and other DOM elements; in Toga, they're widgets and boxes. You " +"can then assign styles to the individual elements. In this case, we're " +"indicating that this is a `COLUMN` box - that is, it is a box that will " +"consume all the available width, and will expand its height as content is " +"added, but it will try to be as short as possible." +msgstr "" +"Toga 的內建佈局系統稱為`Pack`。它的行為很像 CSS。您可以在層次結構中定義物件 -" +" 在 HTML 中,物件是`
`、`][span]` 和其他 DOM 元素;在 Toga " +"中,它們是小部件和盒子。然後,您可以為各個元素指定樣式。在這種情況下,我們表" +"明這是一個`COLUMN`框 - " +"也就是說,它是一個將消耗所有可用寬度的框,並且會在添加內容時擴展其高度,但它" +"會嘗試盡可能短。" + +#: docs/en/tutorial/tutorial-2.md:203 +msgid "" +"For more advanced uses, Toga also supports a separate style object, which is " +"used like this:" msgstr "" -#: ../../tutorial/tutorial-2.rst:184 e23e0c1845b74ae7a43b340944dd39d7 +#: docs/en/tutorial/tutorial-2.md:213 msgid "Next, we define a couple of widgets:" msgstr "接下來,我們定義幾個小工具:" -#: ../../tutorial/tutorial-2.rst:192 c3ba79ba67d5456b874ec417701b6d56 +#: docs/en/tutorial/tutorial-2.md:223 #, fuzzy -msgid "Here, we define a Label and a TextInput. Both widgets have styles associated with them; the label will have 5px of margin on its left and right, and no margin on the top and bottom. The TextInput is marked as being flexible - that is, it will absorb all available space in its layout axis." -msgstr "在這裡,我們定義了一個 Label 和一個 TextInput。這兩個小部件都有與之相關的樣式;標籤的左側和右側將有 5 個像素的內邊距,頂部和底部將沒有內邊距。 TextInput 被標記為靈活的 - 也就是說,它將吸收其佈局軸中的所有可用空間。" +msgid "" +"Here, we define a Label and a TextInput. Both widgets have styles associated " +"with them; the label will have 5px of margin on its left and right, and no " +"margin on the top and bottom. The TextInput is marked as being flexible - " +"that is, it will absorb all available space in its layout axis." +msgstr "" +"在這裡,我們定義了一個 Label 和一個 " +"TextInput。這兩個小部件都有與之相關的樣式;標籤的左側和右側將有 5 " +"個像素的內邊距,頂部和底部將沒有內邊距。 TextInput 被標記為靈活的 - " +"也就是說,它將吸收其佈局軸中的所有可用空間。" -#: ../../tutorial/tutorial-2.rst:197 c76e44e91a204cad98cc517be7a1bbca +#: docs/en/tutorial/tutorial-2.md:229 #, fuzzy -msgid "The TextInput is assigned as an instance variable of the class. This gives us easy access to the widget instance - something that we'll use in a moment." -msgstr "TextInput 被指定為該類別的實例變數。這使我們可以輕鬆存取小部件實例 - 我們稍後將使用它。" +msgid "" +"The TextInput is assigned as an instance variable of the class. This gives " +"us easy access to the widget instance - something that we'll use in a moment." +msgstr "TextInput 被指定為該類別的實例變數。這使我們可以輕鬆存取小部件實例 - " +"我們稍後將使用它。" -#: ../../tutorial/tutorial-2.rst:200 6e70c51a7f9f497eb6a5a81880b6fc3c +#: docs/en/tutorial/tutorial-2.md:233 #, fuzzy msgid "Next, we define a box to hold these two widgets:" msgstr "接下來,我們定義一個盒子來容納這兩個小工具:" -#: ../../tutorial/tutorial-2.rst:206 1e0ddb95c1864299a5d8162142d91775 +#: docs/en/tutorial/tutorial-2.md:241 #, fuzzy -msgid "The `name_box` is a box just like the main box; however, this time, it's a `ROW` box. That means content will be added horizontally, and it will try to make its width as narrow as possible. The box also has some margin - 5px on all sides." -msgstr "`name_box` 是一個像主盒子一樣的盒子;然而,這一次,它是一個`ROW`盒子。這意味著內容將水平添加,並且它將嘗試使其寬度盡可能窄。盒子還有一些內邊距 - 所有邊都是 5px。" +msgid "" +"The `name_box` is a box just like the main box; however, this time, it's a " +"`ROW` box. That means content will be added horizontally, and it will try to " +"make its width as narrow as possible. The box also has some margin - 5px on " +"all sides." +msgstr "" +"`name_box` " +"是一個像主盒子一樣的盒子;然而,這一次,它是一個`ROW`盒子。這意味著內容將水平" +"添加,並且它將嘗試使其寬度盡可能窄。盒子還有一些內邊距 - 所有邊都是 5px。" -#: ../../tutorial/tutorial-2.rst:211 15b359aa12554ee5b2829b96d0296dd9 +#: docs/en/tutorial/tutorial-2.md:246 #, fuzzy msgid "Now we define a button:" msgstr "現在我們定義一個按鈕:" -#: ../../tutorial/tutorial-2.rst:219 fc2b856ffed4497384a8b62d1d1ef874 -#, fuzzy -msgid "The button also has 5px of margin on all sides. We also define a *handler* - a method to invoke when the button is pressed." -msgstr "此按鈕的所有邊都有 5 像素的內邊距。我們也定義了一個*處理程序* - 按下按鈕時呼叫的方法。" +#: docs/en/tutorial/tutorial-2.md:256 +msgid "" +"The button also has 5px of margin on all sides. We also define a *handler* -" +"a method to invoke when the button is pressed." +msgstr "" -#: ../../tutorial/tutorial-2.rst:222 b4c687ebde8c49b7a8d7a2d4e5251585 +#: docs/en/tutorial/tutorial-2.md:259 #, fuzzy msgid "Then, we add the name box and the button to the main box:" msgstr "然後,我們將名稱框和按鈕新增到主框:" -#: ../../tutorial/tutorial-2.rst:227 f332b09cbad54558a04eefcac365757a +#: docs/en/tutorial/tutorial-2.md:266 #, fuzzy -msgid "This completes our layout; the rest of the startup method is as it was previously - defining a `MainWindow`, and assigning the main box as the window's content:" -msgstr "這樣就完成了我們的佈局;啟動方法的其餘部分與之前一樣 - 定義一個 MainWindow,並將主框指定為視窗的內容:" +msgid "" +"This completes our layout; the rest of the startup method is as it was " +"previously - defining a `MainWindow`, and assigning the main box as the " +"window's content:" +msgstr "這樣就完成了我們的佈局;啟動方法的其餘部分與之前一樣 - 定義一個 " +"MainWindow,並將主框指定為視窗的內容:" -#: ../../tutorial/tutorial-2.rst:235 8c1a144159f04ec19a19723dbb6bd3b1 +#: docs/en/tutorial/tutorial-2.md:276 #, fuzzy -msgid "The last thing we need to do is define the handler for the button. A handler can be any method, generator, or asynchronous coroutine; it accepts the widget that generated the event as an argument, and will be invoked whenever the button is pressed:" -msgstr "我們需要做的最後一件事是定義按鈕的處理程序。處理程序可以是任何方法、生成器或非同步協程;它接受生成事件的小部件作為參數,並且每當按下按鈕時就會調用:" +msgid "" +"The last thing we need to do is define the handler for the button. A handler " +"can be any method, generator, or asynchronous coroutine; it accepts the " +"widget that generated the event as an argument, and will be invoked whenever " +"the button is pressed:" +msgstr "" +"我們需要做的最後一件事是定義按鈕的處理程序。處理程序可以是任何方法、生成器或" +"非同步協程;它接受生成事件的小部件作為參數,並且每當按下按鈕時就會調用:" -#: ../../tutorial/tutorial-2.rst:243 a1fd82f2333b49d59252dd01f4a74dba +#: docs/en/tutorial/tutorial-2.md:286 #, fuzzy -msgid "The body of the method is a simple print statement - however, it will interrogate the current value of the name input, and use that content as the text that is printed." -msgstr "該方法的主體是一個簡單的列印語句 - 但是,它將詢問名稱輸入的當前值,並使用該內容作為列印的文字。" +msgid "" +"The body of the method is a simple print statement - however, it will " +"interrogate the current value of the name input, and use that content as the " +"text that is printed." +msgstr "該方法的主體是一個簡單的列印語句 - " +"但是,它將詢問名稱輸入的當前值,並使用該內容作為列印的文字。" -#: ../../tutorial/tutorial-2.rst:247 ffc6248d2f224692a081ecaf55ec42a3 +#: docs/en/tutorial/tutorial-2.md:290 #, fuzzy -msgid "Now that we've made these changes we can see what they look like by starting the application again. As before, we'll use developer mode:" -msgstr "現在我們已經進行了這些更改,我們可以透過再次啟動應用程式來查看它們的外觀。和以前一樣,我們將使用開發者模式:" - -#: ../../tutorial/tutorial-2.rst:252 ../../tutorial/tutorial-2.rst:289 -#: 33d4b2deb3874435a9c05b4c52227fe2 606e916df34540f8b8276c605708748b -msgid "macOS" -msgstr "macOS" +msgid "" +"Now that we've made these changes we can see what they look like by starting " +"the application again. As before, we'll use developer mode:" +msgstr "現在我們已經進行了這些更改,我們可以透過再次啟動應用程式來查看它們的外觀。和" +"以前一樣,我們將使用開發者模式:" + +#: docs/en/tutorial/tutorial-2.md:293 +#: docs/en/tutorial/tutorial-2.md:334 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-2.rst:261 ../../tutorial/tutorial-2.rst:295 -#: 51471227c16245ed8b3e1c89bfb531fd e137e8312d734528bb174c3bf9ab339c -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-2.md:304 +#: docs/en/tutorial/tutorial-2.md:342 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-2.rst:270 ../../tutorial/tutorial-2.rst:301 -#: 367fc15643d84e93ba694f45a89a41da 8fd90729c1514a9fa81a38354711b13a -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-2.md:315 +#: docs/en/tutorial/tutorial-2.md:350 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-2.rst:279 3413d1d3f70f4a768bdf3f7f8784a2ec +#: docs/en/tutorial/tutorial-2.md:326 #, fuzzy -msgid "You'll notice that this time, it *doesn't* install dependencies. Briefcase can detect that the application has been run before, and to save time, will only run the application. If you add new dependencies to your app, you need to make sure that they're installed by passing in a `-r` option when you run `briefcase dev`." -msgstr "您會注意到,這一次,它`不`安裝依賴項。公文包可以檢測到該應用程式之前已經運行過,為了節省時間,只會運行該應用程式。如果您為應用程式新增的依賴項,則可以在執行`briefcase dev`時傳入`-r`選項來確保它們已安裝。" +msgid "" +"You'll notice that this time, it *doesn't* install dependencies. Briefcase " +"can detect that the application has been run before, and to save time, will " +"only run the application. If you add new dependencies to your app, you need " +"to make sure that they're installed by passing in a `-r` option when you run " +"`briefcase dev`." +msgstr "" +"您會注意到,這一次,它`不`安裝依賴項。公文包可以檢測到該應用程式之前已經運行" +"過,為了節省時間,只會運行該應用程式。如果您為應用程式新增的依賴項,則可以在" +"執行`briefcase dev`時傳入`-r`選項來確保它們已安裝。" -#: ../../tutorial/tutorial-2.rst:285 231cf3fd1a9c4660b2044d792a50d8de +#: docs/en/tutorial/tutorial-2.md:332 msgid "This should open a GUI window:" msgstr "這應該打開一個 GUI 視窗:" -#: ../../tutorial/tutorial-2.rst:291 4c5a7cc62a0a4f529f1304cd9a631270 -#, fuzzy -msgid "Hello World Tutorial 2 window, on macOS" -msgstr "Hello World 教學 2 窗口,在 macOS 上" - -#: ../../tutorial/tutorial-2.rst:297 8307128a832c40c5b103f73bd417a5a5 -#, fuzzy -msgid "Hello World Tutorial 2 window, on Linux" -msgstr "Linux 上的 Hello World 教學 2 窗口" - -#: ../../tutorial/tutorial-2.rst:303 9a0cca46d47043228a7390faf3dab05d +#: docs/en/tutorial/tutorial-2.md:358 #, fuzzy -msgid "Hello World Tutorial 2 window, on Windows" -msgstr "Hello World 教學 2 窗口,在 Windows 上" - -#: ../../tutorial/tutorial-2.rst:307 38c9aee47c35472fa2d5cc70f839bc0b -#, fuzzy -msgid "If you enter a name in the text box, and press the GUI button, you should see output appear in the console where you started the application." -msgstr "如果您在文字方塊中輸入名稱,然後按 GUI 按鈕,您應該會看到啟動應用程式的控制台中出現輸出。" +msgid "" +"If you enter a name in the text box, and press the GUI button, you should " +"see output appear in the console where you started the application." +msgstr "如果您在文字方塊中輸入名稱,然後按 GUI " +"按鈕,您應該會看到啟動應用程式的控制台中出現輸出。" -#: ../../tutorial/tutorial-2.rst:310 aee9f2a8601c49b79f8c4b63b9eb57ee -msgid "Before continuing, close the app. As with Tutorial 1, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." +#: docs/en/tutorial/tutorial-2.md:362 +msgid "" +"Before continuing, close the app. As with Tutorial 1, you can do this by " +"pressing the close button on the application window, by selecting Quit/Exit " +"from the application's menu, or by typing **Ctrl+C** in the terminal where " +"you ran `briefcase dev`." msgstr "" -#: ../../tutorial/tutorial-2.rst:316 d9d95d995cad48a782fc1461330d67cc +#: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-2.rst:318 ba0ec44e64454c669fcc71b8c65c9cf0 +#: docs/en/tutorial/tutorial-2.md:369 #, fuzzy -msgid "We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store." -msgstr "我們現在有了一個可以做一些更有趣的事情的應用程式。但它只能在我們自己的計算機上運行。讓我們打包這個應用程式以進行分發。在 :doc:`教程 3 中`,我們將把我們的應用程式打包為一個獨立的安裝程序,我們可以將其發送給朋友、客戶,或上傳到應用程式商店。" - -#~ msgid "Lets do something more interesting with our `HelloWorld`` app." -#~ msgstr "" +msgid "" +"We've now got an application that does something a little more interesting. " +"But it only runs on our own computer. Let's package this application for " +"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " +"a standalone installer that we could send to a friend, a customer, or upload " +"to an App Store." +msgstr "" +"我們現在有了一個可以做一些更有趣的事情的應用程式。但它只能在我們自己的計算機" +"上運行。讓我們打包這個應用程式以進行分發。在 :doc:`教程 3 " +"中`,我們將把我們的應用程式打包為一個獨立的安裝程序,我們可以將其" +"發送給朋友、客戶,或上傳到應用程式商店。" +#, fuzzy +#~ msgid "Tutorial 2 - Making it interesting" +#~ msgstr "教學 2 - 讓它變得有趣" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po index 78b7ea3a..f3f602cd 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po @@ -1,317 +1,571 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-07-19 12:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-3.rst:3 0a665e52c6c04cb4a254ee02e03a0d1a -#, fuzzy -msgid "Tutorial 3 - Packaging for distribution" -msgstr "教學 3 - 分發包裝" +#: docs/en/tutorial/tutorial-3.md:1 +msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgstr "" -#: ../../tutorial/tutorial-3.rst:5 443f89636d834ed4a159198af7cc9e1b +#: docs/en/tutorial/tutorial-3.md:3 #, fuzzy -msgid "So far, we've been running our application in \"Developer mode\". This makes it easy for us to run our application locally - but what we really want is to be able to give our application to others." -msgstr "到目前為止,我們一直在`開發人員模式`下運行我們的應用程式。這使我們可以輕鬆地在本地運行我們的應用程式 - 但我們真正想要的是能夠將我們的應用程式提供給其他人。" +msgid "" +"So far, we've been running our application in \"Developer mode\". This makes " +"it easy for us to run our application locally - but what we really want is " +"to be able to give our application to others." +msgstr "" +"到目前為止,我們一直在`開發人員模式`下運行我們的應用程式。" +"這使我們可以輕鬆地在本地運行我們的應用程式 - " +"但我們真正想要的是能夠將我們的應用程式提供給其他人。" -#: ../../tutorial/tutorial-3.rst:9 535b74d4a11c463cae5d99523175671d +#: docs/en/tutorial/tutorial-3.md:7 #, fuzzy -msgid "However, we don't want to have to teach our users how to install Python, create a virtual environment, clone a git repository, and run Briefcase in developer mode. We'd rather just give them an installer, and have the application Just Work." -msgstr "但是,我們不想教導使用者如何安裝 Python、建立虛擬環境、複製 git 儲存庫以及在開發人員模式下執行 Briefcase。我們寧願只給他們一個安裝程序,然後讓應用程式正常工作。" +msgid "" +"However, we don't want to have to teach our users how to install Python, " +"create a virtual environment, clone a git repository, and run Briefcase in " +"developer mode. We'd rather just give them an installer, and have the " +"application Just Work." +msgstr "" +"但是,我們不想教導使用者如何安裝 Python、建立虛擬環境、複製 git " +"儲存庫以及在開發人員模式下執行 " +"Briefcase。我們寧願只給他們一個安裝程序,然後讓應用程式正常工作。" -#: ../../tutorial/tutorial-3.rst:14 2cf9d9ae39f046f487009eae6c128d28 +#: docs/en/tutorial/tutorial-3.md:12 #, fuzzy -msgid "Briefcase can be used to package your application for distribution in this way." +msgid "" +"Briefcase can be used to package your application for distribution in this " +"way." msgstr "公文包可用於打包您的應用程式以透過這種方式進行分發。" -#: ../../tutorial/tutorial-3.rst:17 e18a7d5ae74044d28b27fd3b7a2da0f0 +#: docs/en/tutorial/tutorial-3.md:15 #, fuzzy msgid "Creating your application scaffold" msgstr "創建您的應用程式支架" -#: ../../tutorial/tutorial-3.rst:19 f241a737e63a4b779967bb8559bbfbbd +#: docs/en/tutorial/tutorial-3.md:17 #, fuzzy -msgid "Since this is the first time we're packaging our application, we need to create some configuration files and other scaffolding to support the packaging process. From the `helloworld` directory, run:" -msgstr "由於這是我們第一次打包應用程序,因此我們需要創建一些配置文件和其他腳手架來支援打包過程。從`helloworld`目錄中,運行:" +msgid "" +"Since this is the first time we're packaging our application, we need to " +"create some configuration files and other scaffolding to support the " +"packaging process. From the `helloworld` directory, run:" +msgstr "由於這是我們第一次打包應用程序,因此我們需要創建一些配置文件和其他腳手架來支" +"援打包過程。從`helloworld`目錄中,運行:" + +#: docs/en/tutorial/tutorial-3.md:21 +#: docs/en/tutorial/tutorial-3.md:192 +#: docs/en/tutorial/tutorial-3.md:277 +#: docs/en/tutorial/tutorial-3.md:379 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-3.rst:25 ../../tutorial/tutorial-3.rst:188 -#: ../../tutorial/tutorial-3.rst:268 ../../tutorial/tutorial-3.rst:366 -#: 0aa265d8d0f44cddbf6d6ac948942e1c 29bce4a911c74beeb5edc37e618ed5ee -#: 57a44a6319304de7ab433020e84b21c9 cedfaad723dc486e9528b81ff2b6b106 -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-3.md:48 +#: docs/en/tutorial/tutorial-3.md:94 +#: docs/en/tutorial/tutorial-3.md:96 +#: docs/en/tutorial/tutorial-3.md:122 +#: docs/en/tutorial/tutorial-3.md:211 +#: docs/en/tutorial/tutorial-3.md:245 +#: docs/en/tutorial/tutorial-3.md:269 +#: docs/en/tutorial/tutorial-3.md:271 +#: docs/en/tutorial/tutorial-3.md:300 +#: docs/en/tutorial/tutorial-3.md:328 +#: docs/en/tutorial/tutorial-3.md:352 +#: docs/en/tutorial/tutorial-3.md:429 +#: docs/en/tutorial/tutorial-3.md:543 +#: docs/en/tutorial/tutorial-3.md:595 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-3.rst:52 ../../tutorial/tutorial-3.rst:207 -#: ../../tutorial/tutorial-3.rst:291 ../../tutorial/tutorial-3.rst:416 -#: 454f2c58cb604436be25c6f916d4fe1b 76002e87eb3d4a0caae2a181ff264d1b -#: da854af42c394f7c910bcc1bc022104c de205036025c4ee391abe2c4ca43a88d -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-3.md:50 +#: docs/en/tutorial/tutorial-3.md:213 +#: docs/en/tutorial/tutorial-3.md:302 +#: docs/en/tutorial/tutorial-3.md:431 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-3.rst:85 3f6164f463584e4f93672f7e562104ef -msgid "Errors about Python versions" +#: docs/en/tutorial/tutorial-3.md:83 +msgid "/// admonition | Errors about Python versions" msgstr "" -#: ../../tutorial/tutorial-3.rst:87 9743f0bdbfb64068acd605de8cc44b41 +#: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" msgstr "" -#: ../../tutorial/tutorial-3.rst:89 aa3ed48e7d9946a58539fef8240dfa9a -msgid "The version of Python being used to run Briefcase (3.12) is not the system python3 (3.10)." +#: docs/en/tutorial/tutorial-3.md:87 +msgid "" +"The version of Python being used to run Briefcase (3.12) is not the system " +"python3 (3.10)." msgstr "" -#: ../../tutorial/tutorial-3.rst:91 da9227d054104f3b9d99cb243ce89058 -msgid "You will need to recreate your virtual environment using the system `python3`. Using the system Python is a requirement for packaging your application." +#: docs/en/tutorial/tutorial-3.md:90 +msgid "" +"You will need to recreate your virtual environment using the system `python3`" +". Using the system Python is a requirement for packaging your application." msgstr "" -#: ../../tutorial/tutorial-3.rst:95 ../../tutorial/tutorial-3.rst:239 -#: ../../tutorial/tutorial-3.rst:317 ../../tutorial/tutorial-3.rst:525 -#: 2f071f3948164891809e46da09abb019 390946904a574cecb2f0736b6361a5ef -#: edbbbfb26bf544be9721759ee67dc9f7 fc9c2b54ead04a6d94c051e2987f72a0 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-3.md:98 +#: docs/en/tutorial/tutorial-3.md:247 +#: docs/en/tutorial/tutorial-3.md:330 +#: docs/en/tutorial/tutorial-3.md:545 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-3.rst:119 8f99a26ad6a6477581441c7ca6ac9e99 +#: docs/en/tutorial/tutorial-3.md:124 #, fuzzy -msgid "You've probably just seen pages of content go past in your terminal... so what just happened? Briefcase has done the following:" +msgid "" +"You've probably just seen pages of content go past in your terminal... so " +"what just happened? Briefcase has done the following:" msgstr "您可能剛剛在終端機中看到了內容頁面……那麼剛剛發生了什麼?公事包做了以下事情:" -#: ../../tutorial/tutorial-3.rst:122 9cb478e5327840b1b2b91657c4a4be98 +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "It **generated an application template**. There's a lot of files and configurations required to build a native installer, above and beyond the code of your actual application. This extra scaffolding is almost the same for every application on the same platform, except for the name of the actual application being constructed - so Briefcase provides an application template for each platform it supports. This step rolls out the template, substituting the name of your application, bundle ID, and other properties of your configuration file as required to support the platform you're building on." -msgstr "它**生成了一個應用程式模板**。建立本機安裝程式需要大量檔案和配置,超出了實際應用程式的程式碼。對於同一平台上的每個應用程式來說,這個額外的腳手架幾乎都是相同的,除了正在構建的實際應用程式的名稱之外- 因此,Briefcase 為其支援的每個平台提供了一個應用程式模板。此步驟將推出模板,根據需要替換應用程式的名稱、捆綁 ID 和設定檔的其他屬性,以支援您正在建置的平台。" +msgid "" +"It **generated an application template**. There's a lot of files and " +"configurations required to build a native installer, above and beyond the " +"code of your actual application. This extra scaffolding is almost the same " +"for every application on the same platform, except for the name of the " +"actual application being constructed - so Briefcase provides an application " +"template for each platform it supports. This step rolls out the template, " +"substituting the name of your application, bundle ID, and other properties " +"of your configuration file as required to support the platform you're " +"building on." +msgstr "" +"它**生成了一個應用程式模板**。建立本機安裝程式需要大量檔案和配置,超出了實際" +"應用程式的程式碼。對於同一平台上的每個應用程式來說,這個額外的腳手架幾乎都是" +"相同的,除了正在構建的實際應用程式的名稱之外- 因此,Briefcase " +"為其支援的每個平台提供了一個應用程式模板。此步驟將推出模板,根據需要替換應用" +"程式的名稱、捆綁 ID 和設定檔的其他屬性,以支援您正在建置的平台。" -#: ../../tutorial/tutorial-3.rst:132 9a92daf6f07d45cd963c6e3cc5018428 +#: docs/en/tutorial/tutorial-3.md:127 #, fuzzy -msgid "If you're not happy with the template provided by Briefcase, you can provide your own. However, you probably don't want to do this until you've got a bit more experience using Briefcase's default template." -msgstr "如果您對公文包提供的範本不滿意,您可以提供自己的範本。但是,在使用公文包的預設範本有更多經驗之前,您可能不想這樣做。" +msgid "" +"If you're not happy with the template provided by Briefcase, you can provide " +"your own. However, you probably don't want to do this until you've got a bit " +"more experience using Briefcase's default template." +msgstr "如果您對公文包提供的範本不滿意,您可以提供自己的範本。但是,在使用公文包的預" +"設範本有更多經驗之前,您可能不想這樣做。" -#: ../../tutorial/tutorial-3.rst:136 7f16b4837a0e492e974559339ec4b9a2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "It **downloaded and installed a support package**. The packaging approach taken by Briefcase is best described as \"the simplest thing that could possibly work\" - it ships a complete, isolated Python interpreter as part of every application it builds (except for Linux native system package builds). This is slightly space inefficient - if you have 5 applications packaged with Briefcase, you'll have 5 copies of the Python interpreter. However, this approach guarantees that every application is completely independent, using a specific version of Python that is known to work with the application." -msgstr "它**下載並安裝了支援包**。公事包採用的打包方法最好被描述為`可能有效的最簡單的方法`——它提供了一個完整的、獨立的 Python 解釋器,作為它構建的每個應用程式的一部分。這在空間效率方面稍顯低下 - 如果您有 5 個使用 Briefcase 打包的應用程序,那麼您將擁有 5 個 Python 解釋器副本。然而,這種方法保證每個應用程式都是完全獨立的,使用已知可與該應用程式配合使用的特定 Python 版本。" +msgid "" +"It **downloaded and installed a support package**. The packaging approach " +"taken by Briefcase is best described as " +"\"the simplest thing that could possibly work\" - it ships a complete, " +"isolated Python interpreter as part of every application it builds (except " +"for Linux native system package builds). This is slightly space inefficient -" +" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " +"the Python interpreter. However, this approach guarantees that every " +"application is completely independent, using a specific version of Python " +"that is known to work with the application." +msgstr "" +"它**下載並安裝了支援包**。公事包採用的打包方法最好被描述為`可能有效的最簡單的" +"方法`——它提供了一個完整的、獨立的 Python " +"解釋器,作為它構建的每個應用程式的一部分。這在空間效率方面稍顯低下 - " +"如果您有 5 個使用 Briefcase 打包的應用程序,那麼您將擁有 5 個 Python " +"解釋器副本。然而,這種方法保證每個應用程式都是完全獨立的," +"使用已知可與該應用程式配合使用的特定 Python 版本。" -#: ../../tutorial/tutorial-3.rst:145 55d83b60f69c4e75a1c594bb8c3de094 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Again, Briefcase provides a default support package for each platform; if you want, you can provide your own support package, and have that package included as part of the build process. You may want to do this if you have particular options in the Python interpreter that you need to have enabled, or if you want to strip modules out of the standard library that you don't need at runtime." -msgstr "同樣,Briefcase 為每個平台提供了預設的支援包;如果需要,您可以提供自己的支援包,並將該包包含在建置過程中。如果您需要啟用 Python 解釋器中的特定選項,或者想要從標準庫中刪除執行時間不需要的模組,您可能需要執行此操作。" +msgid "" +"Again, Briefcase provides a default support package for each platform; if " +"you want, you can provide your own support package, and have that package " +"included as part of the build process. You may want to do this if you have " +"particular options in the Python interpreter that you need to have enabled, " +"or if you want to strip modules out of the standard library that you don't " +"need at runtime." +msgstr "" +"同樣,Briefcase " +"為每個平台提供了預設的支援包;如果需要,您可以提供自己的支援包,並將該包包含" +"在建置過程中。如果您需要啟用 Python " +"解釋器中的特定選項,或者想要從標準庫中刪除執行時間不需要的模組,您可能需要執" +"行此操作。" -#: ../../tutorial/tutorial-3.rst:152 d63b4d29263d49cfa44210953903f1e2 +#: docs/en/tutorial/tutorial-3.md:142 #, fuzzy -msgid "Briefcase maintains a local cache of support packages, so once you've downloaded a specific support package, that cached copy will be used on future builds." -msgstr "公文包維護支援包的本機緩存,因此一旦您下載了特定的支援包,該快取的副本將在未來的版本中使用。" +msgid "" +"Briefcase maintains a local cache of support packages, so once you've " +"downloaded a specific support package, that cached copy will be used on " +"future builds." +msgstr "公文包維護支援包的本機緩存,因此一旦您下載了特定的支援包,該快取的副本將在未" +"來的版本中使用。" -#: ../../tutorial/tutorial-3.rst:156 0cd780276008483eaf400c500903e63e -msgid "As noted above, when Briefcase packages an app as a native Linux system package (the default package format for Linux), a support package is not included with the app. Instead, the app will use the Python that is provided by the distribution of Linux being targeted." +#: docs/en/tutorial/tutorial-3.md:142 +msgid "" +"As noted above, when Briefcase packages an app as a native Linux system " +"package (the default package format for Linux), a support package is not " +"included with the app. Instead, the app will use the Python that is provided " +"by the distribution of Linux being targeted." msgstr "" -#: ../../tutorial/tutorial-3.rst:161 fe74d9da7c0547dfb954c30585d3c6d3 +#: docs/en/tutorial/tutorial-3.md:168 #, fuzzy -msgid "It **installed application requirements**. Your application can specify any third-party modules that are required at runtime. These will be installed using `pip` into your application's installer." -msgstr "它**安裝了應用程式要求**。您的應用程式可以指定運行時所需的任何第三方模組。這些將使用`pip`安裝到應用程式的安裝程式中。" +msgid "" +"It **installed application requirements**. Your application can specify any " +"third-party modules that are required at runtime. These will be installed " +"using `pip` into your application's installer." +msgstr "它**安裝了應用程式要求**。您的應用程式可以指定運行時所需的任何第三方模組。這" +"些將使用`pip`安裝到應用程式的安裝程式中。" -#: ../../tutorial/tutorial-3.rst:165 cba411ec3cc34cc7a7528665e18c8c7f +#: docs/en/tutorial/tutorial-3.md:172 #, fuzzy -msgid "It **Installed your application code**. Your application will have its own code and resources (e.g., images that are needed at runtime); these files are copied into the installer." -msgstr "它**安裝了您的應用程式代碼**。您的應用程式將擁有自己的程式碼和資源(例如,運行時所需的映像);這些檔案被複製到安裝程式中。" +msgid "" +"It **Installed your application code**. Your application will have its own " +"code and resources (e.g., images that are needed at runtime); these files " +"are copied into the installer." +msgstr "它**安裝了您的應用程式代碼**。您的應用程式將擁有自己的程式碼和資源(例如,運" +"行時所需的映像);這些檔案被複製到安裝程式中。" -#: ../../tutorial/tutorial-3.rst:169 3615317119214d1b9516e7101259c2bc +#: docs/en/tutorial/tutorial-3.md:176 #, fuzzy -msgid "It **installed your resources needed by your application.** Lastly, it adds any additional resources that are needed by the installer itself. This includes things like icons that need to be attached to the final application and splash screen images." -msgstr "它 **安裝了應用程式所需的資源。** 最後,它添加了安裝程式本身所需的任何其他資源。這包括需要附加到最終應用程式的圖示和啟動螢幕圖像等內容。" +msgid "" +"It **installed your resources needed by your application.** Lastly, it adds " +"any additional resources that are needed by the installer itself. This " +"includes things like icons that need to be attached to the final application " +"and splash screen images." +msgstr "它 **安裝了應用程式所需的資源。** " +"最後,它添加了安裝程式本身所需的任何其他資源。這包括需要附加到最終應用程式的" +"圖示和啟動螢幕圖像等內容。" -#: ../../tutorial/tutorial-3.rst:174 f09374d5a4034b3281d2ecb851215271 +#: docs/en/tutorial/tutorial-3.md:181 #, fuzzy -msgid "Once this completes, if you look in the project directory, you should now see a directory corresponding to your platform (`macOS`, `linux`, or `windows`) that contains additional files. This is the platform-specific packaging configuration for your application." -msgstr "完成後,如果您查看專案目錄,您現在應該會看到與您的平台(`macOS`、`linux`或`windows`)相對應的目錄,其中包含其他檔案。這是您的應用程式的特定於平台的打包配置。" +msgid "" +"Once this completes, if you look in the project directory, you should now " +"see a directory corresponding to your platform (`macOS`, `linux`, or " +"`windows`) that contains additional files. This is the platform-specific " +"packaging configuration for your application." +msgstr "" +"完成後,如果您查看專案目錄,您現在應該會看到與您的平台(`macOS`、`linux`或`wi" +"ndows`)相對應的目錄,其中包含其他檔案。這是您的應用程式的特定於平台的打包配" +"置。" -#: ../../tutorial/tutorial-3.rst:180 5ea9b54c16e84c5d9073fa6a4953aece +#: docs/en/tutorial/tutorial-3.md:186 #, fuzzy msgid "Building your application" msgstr "建立您的應用程式" -#: ../../tutorial/tutorial-3.rst:182 80b0ce6fe9d24acc8cb0aeb767685bcd -#, fuzzy -msgid "You can now compile your application. This step performs any binary compilation that is necessary for your application to be executable on your target platform." -msgstr "現在您可以編譯您的應用程式。此步驟執行應用程式在目標平台上可執行所需的任何二進位編譯。" - -#: ../../tutorial/tutorial-3.rst:201 85dbd18ad9d749a4980482f5f9bec80d +#: docs/en/tutorial/tutorial-3.md:188 #, fuzzy -msgid "On macOS, the `build` command doesn't need to *compile* anything, but it does need to sign the contents of binary so that it can be executed. This signature is an *ad hoc* signature - it will only work on *your* machine; if you want to distribute the application to others, you'll need to provide a full signature." -msgstr "在 macOS 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要對二進位內容進行簽名,以便可以執行。此簽名是 *臨時* 簽名 - 它僅適用於 *您的* 機器;如果您想將應用程式分發給其他人,則需要提供完整的簽名。" +msgid "" +"You can now compile your application. This step performs any binary " +"compilation that is necessary for your application to be executable on your " +"target platform." +msgstr "現在您可以編譯您的應用程式。此步驟執行應用程式在目標平台上可執行所需的任何二" +"進位編譯。" -#: ../../tutorial/tutorial-3.rst:233 9bf31f8452a740e3ab38649eb2d10905 +#: docs/en/tutorial/tutorial-3.md:205 #, fuzzy -msgid "Once this step completes, the `build` folder will contain a `helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file system. This file system mirror will contain a `bin` folder with a `helloworld` binary, plus `lib` and `share` folders needed to support the binary." -msgstr "此步驟完成後,`build`資料夾將包含一個`helloworld-0.0.1`資料夾,其中包含 Linux`/usr`檔案系統的鏡像。該檔案系統鏡像將包含一個包含`helloworld`二進位檔案的`bin`資料夾,以及支援該二進位檔案所需的`lib`和`share`資料夾。" +msgid "" +"On macOS, the `build` command doesn't need to *compile* anything, but it " +"does need to sign the contents of binary so that it can be executed. This " +"signature is an *ad hoc* signature - it will only work on *your* machine; if " +"you want to distribute the application to others, you'll need to provide a " +"full signature." +msgstr "" +"在 macOS 上,`build` 命令不需要 *編譯* " +"任何內容,但它確實需要對二進位內容進行簽名,以便可以執行。此簽名是 *臨時* " +"簽名 - 它僅適用於 *您的* " +"機器;如果您想將應用程式分發給其他人,則需要提供完整的簽名。" -#: ../../tutorial/tutorial-3.rst:248 18e2beca3916400da13bf88eb7cdc137 +#: docs/en/tutorial/tutorial-3.md:239 #, fuzzy -msgid "On Windows, the `build` command doesn't need to *compile* anything, but it does need to write some metadata so that the application knows its name, version, and so on." -msgstr "在 Windows 上,`build` 命令不需要 *編譯* 任何內容,但它確實需要編寫一些元數據,以便應用程式知道其名稱、版本等。" +msgid "" +"Once this step completes, the `build` folder will contain a " +"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " +"system. This file system mirror will contain a `bin` folder with a " +"`helloworld` binary, plus `lib` and `share` folders needed to support the " +"binary." +msgstr "" +"此步驟完成後,`build`資料夾將包含一個`helloworld-0.0.1`資料夾,其中包含 " +"Linux`/usr`檔案系統的鏡像。該檔案系統鏡像將包含一個包含`helloworld`二進位檔案" +"的`bin`資料夾,以及支援該二進位檔案所需的`lib`和`share`資料夾。" -#: ../../tutorial/tutorial-3.rst:252 53904153c3274772865f6c267de241aa +#: docs/en/tutorial/tutorial-3.md:256 #, fuzzy -msgid "Triggering antivirus" -msgstr "觸發防毒" +msgid "" +"On Windows, the `build` command doesn't need to *compile* anything, but it " +"does need to write some metadata so that the application knows its name, " +"version, and so on." +msgstr "在 Windows 上,`build` 命令不需要 *編譯* " +"任何內容,但它確實需要編寫一些元數據,以便應用程式知道其名稱、版本等。" + +#: docs/en/tutorial/tutorial-3.md:260 +msgid "/// admonition | Triggering antivirus" +msgstr "" -#: ../../tutorial/tutorial-3.rst:254 64e86c783c9f4d5c8de9fa9060b7ad80 +#: docs/en/tutorial/tutorial-3.md:262 #, fuzzy -msgid "Since this metadata is being written directly in to the pre-compiled binary rolled out from the template during the `create` command, this may trigger antivirus software running on your machine and prevent the metadata from being written. In that case, instruct the antivirus to allow the tool (named `rcedit-x64.exe`) to run and re-run the command above." -msgstr "由於此元資料在`create`命令期間直接寫入從範本推出的預編譯二進位檔案中,因此這可能會觸發電腦上執行的防毒軟體並阻止寫入元資料。在這種情況下,指示防毒軟體允許該工具(名為`rcedit-x64.exe`)運行並重新執行上述命令。" +msgid "" +"Since this metadata is being written directly in to the pre-compiled binary " +"rolled out from the template during the `create` command, this may trigger " +"antivirus software running on your machine and prevent the metadata from " +"being written. In that case, instruct the antivirus to allow the tool (named " +"`rcedit-x64.exe`) to run and re-run the command above." +msgstr "" +"由於此元資料在`create`命令期間直接寫入從範本推出的預編譯二進位檔案中,因此這" +"可能會觸發電腦上執行的防毒軟體並阻止寫入元資料。在這種情況下,指示防毒軟體允" +"許該工具(名為`rcedit-x64.exe`)運行並重新執行上述命令。" -#: ../../tutorial/tutorial-3.rst:262 c5dbd96495dc4746bdc3ce51ac145a53 +#: docs/en/tutorial/tutorial-3.md:273 #, fuzzy msgid "Running your app" msgstr "運行您的應用程式" -#: ../../tutorial/tutorial-3.rst:264 68d12d45ff66466894d5f16ae33d4fa0 +#: docs/en/tutorial/tutorial-3.md:275 #, fuzzy msgid "You can now use Briefcase to run your application:" msgstr "現在您可以使用 Briefcase 來運行您的應用程式:" -#: ../../tutorial/tutorial-3.rst:339 52de17d9e4884681a9bf908cd41d2d50 +#: docs/en/tutorial/tutorial-3.md:354 #, fuzzy -msgid "This will start to run your native application, using the app bundle created by the `build` command." +msgid "" +"This will start to run your native application, using the app bundle created " +"by the `build` command." msgstr "這將開始使用`build`命令的輸出來執行您的本機應用程式。" -#: ../../tutorial/tutorial-3.rst:342 b34f28af84b84ca381cff65ef388c2f2 +#: docs/en/tutorial/tutorial-3.md:357 #, fuzzy -msgid "You might notice some small differences in the way your application looks when it's running. For example, icons and the name displayed by the operating system may be slightly different to those you saw when running under developer mode. This is also because you're using the packaged application, not just running Python code. From the operating system's perspective, you're now running \"an app\", not \"a Python program\", and this is reflected in how the application appears." -msgstr "您可能會注意到應用程式運行時的外觀存在一些細微的差異。例如,作業系統顯示的圖示和名稱可能與您在開發人員模式下運行時看到的圖示略有不同。這也是因為您正在使用打包的應用程序,而不僅僅是運行 Python 程式碼。從作業系統的角度來看,您現在運行的是`應用程式`,而不是`Python 程式`,這反映在應用程式的顯示方式上。" +msgid "" +"You might notice some small differences in the way your application looks " +"when it's running. For example, icons and the name displayed by the " +"operating system may be slightly different to those you saw when running " +"under developer mode. This is also because you're using the packaged " +"application, not just running Python code. From the operating system's " +"perspective, you're now running \"an app\", not \"a Python program\", and " +"this is reflected in how the application appears." +msgstr "" +"您可能會注意到應用程式運行時的外觀存在一些細微的差異。例如,作業系統顯示的圖" +"示和名稱可能與您在開發人員模式下運行時看到的圖示略有不同。這也是因為您正在使" +"用打包的應用程序,而不僅僅是運行 Python " +"程式碼。從作業系統的角度來看,您現在運行的是`應用程式`,而不是`Python " +"程式`,這反映在應用程式的顯示方式上。" -#: ../../tutorial/tutorial-3.rst:350 076f393b725549ff974cbda1d791c3a6 -msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase run`." +#: docs/en/tutorial/tutorial-3.md:365 +msgid "" +"Before continuing, close the app. As with previous tutorial steps, you can " +"do this by pressing the close button on the application window, by selecting " +"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " +"terminal where you ran `briefcase run`." msgstr "" -#: ../../tutorial/tutorial-3.rst:356 2a2ce686b2524f5980e5f37ec555be91 +#: docs/en/tutorial/tutorial-3.md:370 #, fuzzy msgid "Building your installer" msgstr "建立您的安裝程式" -#: ../../tutorial/tutorial-3.rst:358 cb6982f0c3f84905b81c69f31def79dc +#: docs/en/tutorial/tutorial-3.md:372 #, fuzzy -msgid "You can now package your application for distribution, using the `package` command. The package command does any compilation that is required to convert the scaffolded project into a final, distributable product. Depending on the platform, this may involve compiling an installer, performing code signing, or doing other pre-distribution tasks." -msgstr "現在,您可以使用`package`命令打包您的應用程式以進行分發。 package 命令執行將鷹架專案轉換為最終的可分發產品所需的任何編譯。根據平台的不同,這可能涉及編譯安裝程式、執行程式碼簽署或執行其他預分發任務。" +msgid "" +"You can now package your application for distribution, using the `package` " +"command. The package command does any compilation that is required to " +"convert the scaffolded project into a final, distributable product. " +"Depending on the platform, this may involve compiling an installer, " +"performing code signing, or doing other pre-distribution tasks." +msgstr "" +"現在,您可以使用`package`命令打包您的應用程式以進行分發。 package " +"命令執行將鷹架專案轉換為最終的可分發產品所需的任何編譯。根據平台的不同,這可" +"能涉及編譯安裝程式、執行程式碼簽署或執行其他預分發任務。" -#: ../../tutorial/tutorial-3.rst:397 5f055cfbdf514b24b8b9828d84bc7267 +#: docs/en/tutorial/tutorial-3.md:410 #, fuzzy -msgid "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you locate this file in the Finder, and double click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file to a friend, and they should be able to do the same." -msgstr "`dist` 資料夾將包含一個名為`Hello World-0.0.1.dmg` 的檔案。如果您在 Finder 中找到此文件,然後雙擊其圖標,您將安裝 DMG,為您提供 Hello World 應用程式的副本以及指向您的應用程式資料夾的鏈接,以便於安裝。將應用程式檔案拖曳到應用程式中,您就已經安裝了應用程式。將 DMG 檔案發送給朋友,他們應該能夠執行相同的操作。" +msgid "" +"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " +"locate this file in the Finder, and double click on its icon, you'll mount " +"the DMG, giving you a copy of the Hello World app, and a link to your " +"Applications folder for easy installation. Drag the app file into " +"Applications, and you've installed your application. Send the DMG file to a " +"friend, and they should be able to do the same." +msgstr "" +"`dist` 資料夾將包含一個名為`Hello World-0.0.1.dmg` 的檔案。如果您在 Finder " +"中找到此文件,然後雙擊其圖標,您將安裝 DMG,為您提供 Hello World " +"應用程式的副本以及指向您的應用程式資料夾的鏈接,以便於安裝。將應用程式檔案拖" +"曳到應用程式中,您就已經安裝了應用程式。將 DMG " +"檔案發送給朋友,他們應該能夠執行相同的操作。" -#: ../../tutorial/tutorial-3.rst:404 05918aa34e63440aabd6cdd5012055f5 +#: docs/en/tutorial/tutorial-3.md:417 #, fuzzy -msgid "In this example, we've used the `--adhoc-sign` option - that is, we're signing our application with *ad hoc* credentials - temporary credentials that will only work on your machine. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify real credentials." -msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" +msgid "" +"In this example, we've used the `--adhoc-sign` option - that is, we're " +"signing our application with *ad hoc* credentials - temporary credentials " +"that will only work on your machine. We've done this to keep the tutorial " +"simple. Setting up code signing identities is a little fiddly, and they're " +"only *required* if you're intending to distribute your application to " +"others. If we were publishing a real application for others to use, we would " +"need to specify real credentials." +msgstr "" +"在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* " +"憑證簽署我們的應用程式 - " +"只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身" +"分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要" +"發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" -#: ../../tutorial/tutorial-3.rst:412 265c59255b754005b1841adcec95719f +#: docs/en/tutorial/tutorial-3.md:425 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a macOS code signing identity]{1}." -msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a macOS code signing identity]{1}." +msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 " +"[的公文包操作指南]{1}" -#: ../../tutorial/tutorial-3.rst:418 bbb9a5d8ff714dd8b08e6f38c5ea9263 +#: docs/en/tutorial/tutorial-3.md:433 #, fuzzy -msgid "The output of the package step will be slightly different depending on your Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "根據您的 Linux 發行版,打包步驟的輸出將略有不同。如果您使用的是 Debian 派生的發行版,您將看到:" +msgid "" +"The output of the package step will be slightly different depending on your " +"Linux distribution. If you're on a Debian-derived distribution, you'll see:" +msgstr "根據您的 Linux 發行版,打包步驟的輸出將略有不同。如果您使用的是 Debian " +"派生的發行版,您將看到:" -#: ../../tutorial/tutorial-3.rst:439 25e1d1b60c174d8e9fde4be163ca815c +#: docs/en/tutorial/tutorial-3.md:455 #, fuzzy msgid "The `dist` folder will contain the `.deb` file that was generated." msgstr "`dist` 資料夾將包含產生的`.deb` 檔案。" -#: ../../tutorial/tutorial-3.rst:441 28eae9a046ae4c21824ac59dbdec59ee +#: docs/en/tutorial/tutorial-3.md:457 #, fuzzy msgid "If you're on a RHEL-based distribution, you'll see:" msgstr "如果您使用的是基於 RHEL 的發行版,您將看到:" -#: ../../tutorial/tutorial-3.rst:468 96ac220210324dee8e9e3f62399c06c3 +#: docs/en/tutorial/tutorial-3.md:484 #, fuzzy msgid "The `dist` folder will contain the `.rpm` file that was generated." msgstr "`dist` 資料夾將包含產生的`.rpm` 檔案。" -#: ../../tutorial/tutorial-3.rst:470 b1d9589fd1924eef85a94a9be3b11136 +#: docs/en/tutorial/tutorial-3.md:486 #, fuzzy msgid "If you're on an Arch-based distribution, you'll see:" msgstr "如果您使用的是基於 Arch 的發行版,您將看到:" -#: ../../tutorial/tutorial-3.rst:488 0b462cd87e71496583f94c0a9fc1f492 +#: docs/en/tutorial/tutorial-3.md:504 #, fuzzy -msgid "The `dist` folder will contain the `.pkg.tar.zst` file that was generated." +msgid "" +"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." msgstr "`dist` 資料夾將包含產生的`.pkg.tar.zst` 檔案。" -#: ../../tutorial/tutorial-3.rst:490 edf7fdf3669543529dab2be68d0c4bae +#: docs/en/tutorial/tutorial-3.md:507 #, fuzzy msgid "Other Linux distributions aren't currently supported for packaging." msgstr "目前不支援打包其他 Linux 發行版。" -#: ../../tutorial/tutorial-3.rst:492 7cde2fa637d94b30ab55c56711135042 +#: docs/en/tutorial/tutorial-3.md:509 #, fuzzy -msgid "If you want to build a package for a Linux distribution other than the one you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "如果您想為您正在使用的 Linux 發行版以外的發行版建立軟體包,Briefcase 也可以提供協助 - 但您需要安裝 Docker。" +msgid "" +"If you want to build a package for a Linux distribution other than the one " +"you're using, Briefcase can also help - but you'll need to install Docker." +msgstr "如果您想為您正在使用的 Linux 發行版以外的發行版建立軟體包,Briefcase " +"也可以提供協助 - 但您需要安裝 Docker。" -#: ../../tutorial/tutorial-3.rst:495 40d2025419f544f084976e95bedf9ca8 +#: docs/en/tutorial/tutorial-3.md:513 #, fuzzy -msgid "Official installers for [Docker Engine]{1} are available for a range of Unix distributions. Follow the instructions for your platform; however, ensure you don't install Docker in \"rootless\" mode." -msgstr "[Docker Engine]{1} 的官方安裝程式可用於一系列 Unix 發行版。請遵循適合您平台的說明;但是,請確保不要以`無根`模式安裝 Docker。" +msgid "" +"Official installers for [Docker Engine]{1} are available for a range of Unix " +"distributions. Follow the instructions for your platform; however, ensure " +"you don't install Docker in \"rootless\" mode." +msgstr "" +"[Docker Engine]{1} 的官方安裝程式可用於一系列 Unix " +"發行版。請遵循適合您平台的說明;但是,請確保不要以`無根`模式安裝 Docker。" -#: ../../tutorial/tutorial-3.rst:500 86a4dcd7115547bc9f65e8fd0ff0adfe +#: docs/en/tutorial/tutorial-3.md:517 #, fuzzy -msgid "Once you've installed Docker, you should be able to start an Linux container - for example:" +msgid "" +"Once you've installed Docker, you should be able to start an Linux container " +"- for example:" msgstr "安裝 Docker 後,您應該能夠啟動 Linux 容器 - 例如:" -#: ../../tutorial/tutorial-3.rst:507 51a55c8b91b6409f9145548e61e3df35 +#: docs/en/tutorial/tutorial-3.md:524 #, fuzzy -msgid "will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to your local shell." -msgstr "將在 Ubuntu 22.04 Docker 容器內向您顯示 Unix 提示字元(類似`root@844444e31cff9:/#`)。鍵入 Ctrl-D 退出 Docker 並返回本機 shell。" +msgid "" +"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " +"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " +"your local shell." +msgstr "" +"將在 Ubuntu 22.04 Docker 容器內向您顯示 Unix " +"提示字元(類似`root@844444e31cff9:/#`)。鍵入 Ctrl-D 退出 Docker 並返回本機 " +"shell。" -#: ../../tutorial/tutorial-3.rst:511 1de8059cfd254deb8833cd8565837a22 +#: docs/en/tutorial/tutorial-3.md:528 #, fuzzy -msgid "Once you've got Docker installed, you can use Briefcase to build a package for any Linux distribution that Briefcase supports by passing in a Docker image as an argument. For example, to build a DEB package for Ubuntu 22.04 (Jammy), regardless of the operating system you're on, you can run:" -msgstr "安裝 Docker 後,您可以透過傳入 Docker 映像作為參數,使用 Briefcase 為 Briefcase 支援的任何 Linux 發行版建置套件。例如,要為 Ubuntu 22.04 (Jammy) 建立 DEB 包,無論您使用什麼作業系統,都可以運行:" +msgid "" +"Once you've got Docker installed, you can use Briefcase to build a package " +"for any Linux distribution that Briefcase supports by passing in a Docker " +"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " +"(Jammy), regardless of the operating system you're on, you can run:" +msgstr "" +"安裝 Docker 後,您可以透過傳入 Docker 映像作為參數,使用 Briefcase 為 " +"Briefcase 支援的任何 Linux 發行版建置套件。例如,要為 Ubuntu 22.04 (Jammy) " +"建立 DEB 包,無論您使用什麼作業系統,都可以運行:" -#: ../../tutorial/tutorial-3.rst:520 15a6eeffa6584ae5a42e7c7ffddbc39e +#: docs/en/tutorial/tutorial-3.md:538 #, fuzzy -msgid "This will download the Docker image for your selected operating system, create a container that is able to run Briefcase builds, and build the app package inside the image. Once it's completed, the `dist` folder will contain the package for the target Linux distribution." -msgstr "這將為您選擇的作業系統下載 Docker 映像,建立一個能夠運行 Briefcase 建置的容器,並在映像內建置應用程式包。完成後,`dist` 資料夾將包含目標 Linux 發行版的軟體包。" +msgid "" +"This will download the Docker image for your selected operating system, " +"create a container that is able to run Briefcase builds, and build the app " +"package inside the image. Once it's completed, the `dist` folder will " +"contain the package for the target Linux distribution." +msgstr "" +"這將為您選擇的作業系統下載 Docker 映像,建立一個能夠運行 Briefcase " +"建置的容器,並在映像內建置應用程式包。完成後,`dist` 資料夾將包含目標 Linux " +"發行版的軟體包。" -#: ../../tutorial/tutorial-3.rst:555 7f93298078ee48fdbfed8be390ab0eb0 +#: docs/en/tutorial/tutorial-3.md:575 #, fuzzy -msgid "In this example, we're not signing our app. As a result, when you use the installer, you'll get a system warning that the application comes from an unknown developer. We've done this to keep the tutorial simple. Setting up code signing identities is a little fiddly, and they're only *required* if you're intending to distribute your application to others. If we were publishing a real application for others to use, we would need to specify a real signing identity; when that signed app is installed, the system will notify the user that the application is from the known identity associated with the certificate." -msgstr "在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* 憑證簽署我們的應用程式 - 只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" +msgid "" +"In this example, we're not signing our app. As a result, when you use the " +"installer, you'll get a system warning that the application comes from an " +"unknown developer. We've done this to keep the tutorial simple. Setting up " +"code signing identities is a little fiddly, and they're only *required* if " +"you're intending to distribute your application to others. If we were " +"publishing a real application for others to use, we would need to specify a " +"real signing identity; when that signed app is installed, the system will " +"notify the user that the application is from the known identity associated " +"with the certificate." +msgstr "" +"在此範例中,我們使用了`--adhoc-sign`選項 - 也就是說,我們使用 *ad hoc* " +"憑證簽署我們的應用程式 - " +"只能在您的電腦上使用的臨時憑證。我們這樣做是為了讓教程簡單。設定程式碼簽署身" +"分有點繁瑣,並且只有在您打算將應用程式分發給其他人時才`需要`它們。如果我們要" +"發布真實的應用程式供其他人使用,我們需要指定真實的憑證。" -#: ../../tutorial/tutorial-3.rst:565 8383095e85a74597953a8ff5448139dc +#: docs/en/tutorial/tutorial-3.md:585 #, fuzzy -msgid "When you're ready to publish a real application, check out the Briefcase How-To guide on [Setting up a Windows code signing identity]{1}." -msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 [的公文包操作指南]{1}" +msgid "" +"When you're ready to publish a real application, check out the Briefcase How-" +"To guide on [Setting up a Windows code signing identity]{1}." +msgstr "當您準備好發布實際應用程式時,請查看有關`設定 macOS 代碼簽署身分 " +"[的公文包操作指南]{1}" -#: ../../tutorial/tutorial-3.rst:569 60be7fbe95854bffba376fd494d87e8c +#: docs/en/tutorial/tutorial-3.md:589 #, fuzzy -msgid "Once this step completes, the `dist` folder will contain a file named `Hello_World-0.0.1.msi`. If you double click on this installer to run it, you should go through a familiar Windows installation process. Once this installation completes, there will be a \"Hello World\" entry in your start menu." -msgstr "此步驟完成後,`dist`資料夾將包含一個名為 `Hello_World-0.0.1.msi` 的檔案。如果您雙擊此安裝程式來運行它,您應該經歷熟悉的 Windows 安裝過程。安裝完成後,開始功能表中將出現一個 \"Hello World\" 項目。" +msgid "" +"Once this step completes, the `dist` folder will contain a file named " +"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " +"you should go through a familiar Windows installation process. Once this " +"installation completes, there will be a \"Hello World\" entry in your start " +"menu." +msgstr "" +"此步驟完成後,`dist`資料夾將包含一個名為 `Hello_World-0.0.1.msi` " +"的檔案。如果您雙擊此安裝程式來運行它,您應該經歷熟悉的 Windows " +"安裝過程。安裝完成後,開始功能表中將出現一個 \"Hello World\" 項目。" -#: ../../tutorial/tutorial-3.rst:576 f1b66a0c4cdc43d1accc6d6336e05632 +#: docs/en/tutorial/tutorial-3.md:597 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-3.rst:578 1c79358ba0534bfd89ca28cfa2373eaf -#, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? Turn to [Tutorial 4][./tutorial-4] to find out..." -msgstr "現在,我們已將應用程式打包以便在桌面平台上分發。但是當我們需要更新應用程式中的程式碼時會發生什麼?我們如何將這些更新添加到打包的應用程式中?請參閱 [教程 4][./tutorial-4] 以了解..." - -#~ msgid "Before continuing, close the app. As with previous tutorial steps, you can do this by pressing the close button on the application window, by selecting Quit/Exit from the application's menu, or by typing **Ctrl+C** in the terminal where you ran `briefcase dev`." -#~ msgstr "" +#: docs/en/tutorial/tutorial-3.md:599 +msgid "" +"We now have our application packaged for distribution on desktop platforms. " +"But what happens when we need to update the code in our application? How do " +"we get those updates into our packaged application? Turn to [Tutorial 4]" +"[tutorial-4] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 3 - Packaging for distribution" +#~ msgstr "教學 3 - 分發包裝" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po index 26f95848..9ca21e9e 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po @@ -1,176 +1,264 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-11-25 23:41+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.16.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-4.rst:3 095a20d68b59496e9ff67f5b9c9497e5 -#, fuzzy -msgid "Tutorial 4 - Updating your application" -msgstr "教程 4 - 更新您的應用程式" +#: docs/en/tutorial/tutorial-4.md:1 +msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgstr "" -#: ../../tutorial/tutorial-4.rst:5 48603895c251446b96cabbb9b632a61e +#: docs/en/tutorial/tutorial-4.md:3 #, fuzzy -msgid "In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going to be the end of the story - you'll likely do some testing, discover problems, and need to make some changes. Even if your application is perfect, you'll eventually want to publish version 2 of your application with improvements." -msgstr "在上一個教程中,我們將應用程式打包為本機應用程式。如果您正在處理現實世界的應用程序,這不會是故事的結局 - 您可能會進行一些測試,發現問題,並需要進行一些更改。即使您的應用程式非常完美,您最終也會希望發布經過改進的應用程式的第 2 版。" +msgid "" +"In the last tutorial, we packaged our application as a native application. " +"If you're dealing with a real-world app, that isn't going to be the end of " +"the story - you'll likely do some testing, discover problems, and need to " +"make some changes. Even if your application is perfect, you'll eventually " +"want to publish version 2 of your application with improvements." +msgstr "" +"在上一個教程中,我們將應用程式打包為本機應用程式。如果您正在處理現實世界的應" +"用程序,這不會是故事的結局 - " +"您可能會進行一些測試,發現問題,並需要進行一些更改。即使您的應用程式非常完美" +",您最終也會希望發布經過改進的應用程式的第 2 版。" -#: ../../tutorial/tutorial-4.rst:11 f23a96b01cd24622bfacbdc9604c51a1 +#: docs/en/tutorial/tutorial-4.md:10 #, fuzzy msgid "So - how do you update your installed app when you make code changes?" msgstr "那麼 - 當您更改程式碼時如何更新已安裝的應用程式?" -#: ../../tutorial/tutorial-4.rst:14 38c2d3a4568b409c855516e9c1b3fe5d +#: docs/en/tutorial/tutorial-4.md:12 #, fuzzy msgid "Updating application code" msgstr "更新應用程式程式碼" -#: ../../tutorial/tutorial-4.rst:16 9683153b6b4347fca656609ec21ee119 +#: docs/en/tutorial/tutorial-4.md:14 #, fuzzy -msgid "Our application currently prints to the console when you press the button. However, GUI applications shouldn't really use the console for output. They need to use dialogs to communicate with users." -msgstr "目前,當您按下按鈕時,我們的應用程式會列印到控制台。然而,GUI 應用程式不應該真正使用控制台進行輸出。他們需要使用對話框與使用者進行交流。" +msgid "" +"Our application currently prints to the console when you press the button. " +"However, GUI applications shouldn't really use the console for output. They " +"need to use dialogs to communicate with users." +msgstr "目前,當您按下按鈕時,我們的應用程式會列印到控制台。然而,GUI " +"應用程式不應該真正使用控制台進行輸出。他們需要使用對話框與使用者進行交流。" -#: ../../tutorial/tutorial-4.rst:20 97094341a84147c1bdc1fffc57a42567 +#: docs/en/tutorial/tutorial-4.md:18 #, fuzzy -msgid "Let's add a dialog box to say hello, instead of writing to the console. Modify the `say_hello` callback so it looks like this:" -msgstr "讓我們新增一個對話框來打招呼,而不是寫入控制台。修改`say_hello`回調,使其看起來像這樣:" +msgid "" +"Let's add a dialog box to say hello, instead of writing to the console. " +"Modify the `say_hello` callback so it looks like this:" +msgstr "讓我們新增一個對話框來打招呼,而不是寫入控制台。修改`say_hello`回調,使其看起" +"來像這樣:" -#: ../../tutorial/tutorial-4.rst:31 4dbdb0dca00243d6a6c5e778a372d124 -msgid "We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now - we'll give a more detailed explanation in [Tutorial 8][tutorial-8]." +#: docs/en/tutorial/tutorial-4.md:31 +msgid "" +"We need to make the method `async` so that when we display the dialog, the " +"rest of the application continues to run. Don't worry about this detail too " +"much right now -we'll give a more detailed explanation in [Tutorial 8]" +"[tutorial-8]." msgstr "" -#: ../../tutorial/tutorial-4.rst:35 b682bcef3af8479c9f551ede9217eea0 +#: docs/en/tutorial/tutorial-4.md:36 #, fuzzy -msgid "This directs Toga to open a modal dialog box when the button is pressed." +msgid "" +"This directs Toga to open a modal dialog box when the button is pressed." msgstr "這會指示 Toga 在按下按鈕時開啟模式對話方塊。" -#: ../../tutorial/tutorial-4.rst:37 9047a157a5d849318cbd3c7245b70950 +#: docs/en/tutorial/tutorial-4.md:38 #, fuzzy -msgid "If you run `briefcase dev`, enter a name, and press the button, you'll see the new dialog box:" +msgid "" +"If you run `briefcase dev`, enter a name, and press the button, you'll see " +"the new dialog box:" msgstr "如果執行`briefcase dev`,輸入名稱,然後按按鈕,您將看到新的對話方塊:" -#: ../../tutorial/tutorial-4.rst:42 ../../tutorial/tutorial-4.rst:76 -#: ../../tutorial/tutorial-4.rst:177 47110cedbc6f4f28b5f1fa3c0d58928e -#: 60b7d3eeab8b4569b74402758963c345 7fe1e31014f9450896462581156a47ad -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-4.rst:44 b99f156ff2444b00a3b632e1f20a1d55 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on macOS" -msgstr "Hello World 教學 4 對話框,在 macOS 上" +#: docs/en/tutorial/tutorial-4.md:41 +#: docs/en/tutorial/tutorial-4.md:85 +#: docs/en/tutorial/tutorial-4.md:198 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-4.rst:48 ../../tutorial/tutorial-4.rst:90 -#: ../../tutorial/tutorial-4.rst:198 a05a5cd569ac4f17abe91642bc14b4eb -#: a1b9548d17224fedabc666fbb2cba1fd a5102f35dcb945ad8428708192d99605 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-4.md:47 +msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:50 7df7e42e62154624bf1867af7f309493 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Linux" -msgstr "Linux 上的 Hello World 教學 4 對話框" +#: docs/en/tutorial/tutorial-4.md:51 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:99 +#: docs/en/tutorial/tutorial-4.md:122 +#: docs/en/tutorial/tutorial-4.md:138 +#: docs/en/tutorial/tutorial-4.md:219 +#: docs/en/tutorial/tutorial-4.md:248 +#: docs/en/tutorial/tutorial-4.md:266 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-4.rst:54 ../../tutorial/tutorial-4.rst:111 -#: ../../tutorial/tutorial-4.rst:225 9ac1f1d3092148d3b9117d9957d504fd -#: d2a042b3579841728f3898648b7ce737 fa3e3a55ac2847c1b72039b4ed0c5b3c -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-4.md:53 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:221 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-4.rst:56 16bf19caf67847cfa71147cab88f4b23 -#, fuzzy -msgid "Hello World Tutorial 4 dialog, on Windows" -msgstr "Hello World 教學 4 對話框,在 Windows 上" +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:250 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-4.rst:60 3fb4915286ec4c04b89c2b781879cfa3 +#: docs/en/tutorial/tutorial-4.md:69 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "但是,如果執行`briefcase run`,則不會出現該對話方塊。" -#: ../../tutorial/tutorial-4.rst:62 4340ecf49c43456fa9abd28719acfa2a -#, fuzzy -msgid "Why is this? Well, `briefcase dev` operates by running your code in place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the application bundle - and at the moment, your application still has the old code in it." -msgstr "為什麼是這樣?好吧,`briefcase dev` 通過就地運行您的代碼來運行- 它嘗試為您的代碼生成盡可能真實的運行時環境,但它不提供或使用任何平台基礎設施來將您的代碼包裝為應用程式.打包應用程式的過程的一部分涉及將程式碼複製到應用程式包中 - 目前,您的應用程式中仍然包含舊程式碼。" +#: docs/en/tutorial/tutorial-4.md:71 +msgid "" +"Why is this? Well, `briefcase dev` operates by running your code in place -" +"it tries to produce as realistic runtime environment for your code as " +"possible, but it doesn't provide or use any of the platform infrastructure " +"for wrapping your code as an application. Part of the process of packaging " +"your app involves copying your code *into* the application bundle - and at " +"the moment, your application still has the old code in it." +msgstr "" -#: ../../tutorial/tutorial-4.rst:69 8f65a62b9a4c433da906f80a907134a2 +#: docs/en/tutorial/tutorial-4.md:79 #, fuzzy -msgid "So - we need to tell briefcase to update your app, copying in the new version of the code. We *could* do this by deleting the old platform directory and starting from scratch. However, Briefcase provides an easier way - you can update the code for your existing bundled application:" -msgstr "因此 - 我們需要告訴公文包更新您的應用程序,複製新版本的代碼。我們*可以*透過刪除舊平台目錄並從頭開始來做到這一點。但是,Briefcase 提供了一種更簡單的方法 - 您可以更新現有捆綁應用程式的程式碼:" +msgid "" +"So - we need to tell briefcase to update your app, copying in the new " +"version of the code. We *could* do this by deleting the old platform " +"directory and starting from scratch. However, Briefcase provides an easier " +"way - you can update the code for your existing bundled application:" +msgstr "" +"因此 - " +"我們需要告訴公文包更新您的應用程序,複製新版本的代碼。我們*可以*透過刪除舊平" +"台目錄並從頭開始來做到這一點。但是,Briefcase 提供了一種更簡單的方法 - " +"您可以更新現有捆綁應用程式的程式碼:" -#: ../../tutorial/tutorial-4.rst:125 a87ad9f47e35401aaf1bee42c4a8843f +#: docs/en/tutorial/tutorial-4.md:140 #, fuzzy -msgid "If Briefcase can't find the scaffolded template, it will automatically invoke `create` to generate a fresh scaffold." +msgid "" +"If Briefcase can't find the scaffolded template, it will automatically " +"invoke `create` to generate a fresh scaffold." msgstr "如果Briefcase找不到鷹架模板,它會自動呼叫`create`來產生一個新的鷹架。" -#: ../../tutorial/tutorial-4.rst:128 b853caa4f6a34a20ac139aeda667c0c2 +#: docs/en/tutorial/tutorial-4.md:143 #, fuzzy -msgid "Now that we've updated the installer code, we can then run `briefcase build` to re-compile the app, `briefcase run` to run the updated app, and `briefcase package` to repackage the application for distribution." -msgstr "現在我們已經更新了安裝程式碼,然後我們可以運行`briefcase build`來重新編譯應用程序,運行`briefcase run`來運行更新後的應用程序,以及運行`briefcase package`來重新打包應用程式用於分發。" +msgid "" +"Now that we've updated the installer code, we can then run `briefcase build` " +"to re-compile the app, `briefcase run` to run the updated app, and `" +"briefcase package` to repackage the application for distribution." +msgstr "" +"現在我們已經更新了安裝程式碼,然後我們可以運行`briefcase " +"build`來重新編譯應用程序,運行`briefcase " +"run`來運行更新後的應用程序,以及運行`briefcase " +"package`來重新打包應用程式用於分發。" -#: ../../tutorial/tutorial-4.rst:132 bfb2287cd5f34d129b9e5a4ad27888b2 +#: docs/en/tutorial/tutorial-4.md:148 #, fuzzy -msgid "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.)" -msgstr "(macOS 用戶,請記住,如 [教學 3 所述`,對於本教程,我們建議使用`--adhoc-sign`標誌運行`briefcase package`,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" +msgid "" +"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " +"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " +"flag to avoid the complexity of setting up a code signing identity and keep " +"the tutorial as simple as possible.)" +msgstr "" +"(macOS 用戶,請記住,如 [教學 3 所述`,對於本教程,我們建議使用" +"`--adhoc-sign`標誌運行`briefcase " +"package`,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" -#: ../../tutorial/tutorial-4.rst:138 62252775407d4a75b6a3e9541e70cbe3 +#: docs/en/tutorial/tutorial-4.md:153 #, fuzzy msgid "Update and run in one step" msgstr "一步更新並運行" -#: ../../tutorial/tutorial-4.rst:140 9eec2a794f11496da7184c38ca35d973 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy -msgid "If you're rapidly iterating code changes, you'll likely want to make a code change, update the application, and immediately re-run your application. For most purposes, developer mode (`briefcase dev`) will be the easiest way to do this sort of rapid iteration; however, if you're testing something about how your application runs as a native binary, or hunting a bug that only manifests when your application is in packaged form, you may need to use repeated calls to `briefcase run`. To simplify the process of updating and running the bundled app, Briefcase has a shortcut to support this usage pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "如果您快速迭代程式碼更改,您可能需要更改程式碼、更新應用程序,然後立即重新執行您的應用程式。對於大多數目的,開發人員模式(`briefcase dev`)將是進行這種快速迭代的最簡單方法;但是,如果您正在測試應用程式如何作為本機二進位檔案運行,或者尋找僅在應用程式處於打包形式時才會出現的錯誤,則可能需要重複調用`briefcase run`。為了簡化更新和執行捆綁應用程式的過程,Briefcase 有一個快捷方式來支援這種使用模式 - `run` 命令上的`-u`(或`--update`)選項。" - -#: ../../tutorial/tutorial-4.rst:150 628b59882b654b07a1c19c7b9a08f3b7 +msgid "" +"If you're rapidly iterating code changes, you'll likely want to make a code " +"change, update the application, and immediately re-run your application. For " +"most purposes, developer mode (`briefcase dev`) will be the easiest way to " +"do this sort of rapid iteration; however, if you're testing something about " +"how your application runs as a native binary, or hunting a bug that only " +"manifests when your application is in packaged form, you may need to use " +"repeated calls to `briefcase run`. To simplify the process of updating and " +"running the bundled app, Briefcase has a shortcut to support this usage " +"pattern - the `-u` (or `--update`) option on the `run` command." +msgstr "" +"如果您快速迭代程式碼更改,您可能需要更改程式碼、更新應用程序,然後立即重新執" +"行您的應用程式。對於大多數目的,開發人員模式(`briefcase " +"dev`)將是進行這種快速迭代的最簡單方法;但是,如果您正在測試應用程式如何作為" +"本機二進位檔案運行,或者尋找僅在應用程式處於打包形式時才會出現的錯誤,則可能" +"需要重複調用`briefcase run`。為了簡化更新和執行捆綁應用程式的過程,Briefcase " +"有一個快捷方式來支援這種使用模式 - `run` 命令上的`-u`(或`--update`)選項。" + +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy -msgid "Let's try making another change. You may have noticed that if you don't type a name in the text input box, the dialog will say \"Hello, \". Let's modify the `say_hello` function again to handle this edge case." -msgstr "讓我們嘗試進行另一個更改。您可能已經注意到,如果您不在文字輸入方塊中鍵入姓名,則對話方塊將顯示 \"Hello,\"。讓我們再次修改 `say_hello` 函數來處理這種邊緣情況。" +msgid "" +"Let's try making another change. You may have noticed that if you don't type " +"a name in the text input box, the dialog will say \"Hello, \". Let's modify " +"the `say_hello` function again to handle this edge case." +msgstr "" +"讓我們嘗試進行另一個更改。您可能已經注意到,如果您不在文字輸入方塊中鍵入姓名" +",則對話方塊將顯示 \"Hello,\"。讓我們再次修改 `say_hello` " +"函數來處理這種邊緣情況。" -#: ../../tutorial/tutorial-4.rst:154 843bc85e521a462bb9275741ba3882db +#: docs/en/tutorial/tutorial-4.md:170 #, fuzzy -msgid "At the top of the file, between the imports and the `class HelloWorld` definition, add a utility method to generate an appropriate greeting depending on the value of the name that has been provided:" -msgstr "在檔案頂部的匯入和`class HelloWorld`定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" +msgid "" +"At the top of the file, between the imports and the `class HelloWorld` " +"definition, add a utility method to generate an appropriate greeting " +"depending on the value of the name that has been provided:" +msgstr "在檔案頂部的匯入和`class " +"HelloWorld`定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" -#: ../../tutorial/tutorial-4.rst:164 018c03fb94664999a0ee764c0692157e +#: docs/en/tutorial/tutorial-4.md:182 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "然後,修改`say_hello`回調以使用這個新的實用方法:" -#: ../../tutorial/tutorial-4.rst:172 dbcdc9dd2cbf46d480edcfe55f014bb8 +#: docs/en/tutorial/tutorial-4.md:194 #, fuzzy -msgid "Run your app in development mode (with `briefcase dev`) to confirm that the new logic works; then update, build and run the app with one command:" -msgstr "在開發模式下運行您的應用程式(使用`briefcase dev`)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" +msgid "" +"Run your app in development mode (with `briefcase dev`) to confirm that the " +"new logic works; then update, build and run the app with one command:" +msgstr "在開發模式下運行您的應用程式(使用`briefcase " +"dev`)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" -#: ../../tutorial/tutorial-4.rst:241 2c809295462844c2b097065cc2510397 +#: docs/en/tutorial/tutorial-4.md:268 #, fuzzy -msgid "The package command also accepts the `-u` argument, so if you make a change to your application code and want to repackage immediately, you can run `briefcase package -u`." -msgstr "package 命令也接受`-u`參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包,則可以運行`briefcase package -u`。" +msgid "" +"The package command also accepts the `-u` argument, so if you make a change " +"to your application code and want to repackage immediately, you can run `" +"briefcase package -u`." +msgstr "" +"package " +"命令也接受`-u`參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包," +"則可以運行`briefcase package -u`。" -#: ../../tutorial/tutorial-4.rst:246 fec0cbf98da14ed1ab97c198ccc7b92b +#: docs/en/tutorial/tutorial-4.md:272 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-4.rst:248 c64b435ebd3f4860a4bd24abd9cd85ed +#: docs/en/tutorial/tutorial-4.md:274 #, fuzzy -msgid "We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application." -msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發,並且我們已經能夠更新應用程式中的程式碼。" +msgid "" +"We now have our application packaged for distribution on desktop platforms, " +"and we've been able to update the code in our application." +msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發,並且我們已經能夠更新應用程" +"式中的程式碼。" -#: ../../tutorial/tutorial-4.rst:251 d7dba3661d5a4784ba34be594415f937 -#, fuzzy -msgid "But what about mobile? In :doc:`Tutorial 5][tutorial-5/index], we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone." -msgstr "但行動裝置呢?在 [教程 5][tutorial-5/index] 中,我們會將應用程式轉換為行動應用程序,並將其部署到裝置模擬器和手機上。" +#: docs/en/tutorial/tutorial-4.md:277 +msgid "" +"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " +"application into a mobile application, and deploy it onto a device " +"simulator, and onto a phone." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 4 - Updating your application" +#~ msgstr "教程 4 - 更新您的應用程式" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po index 2b37e6ee..68a1913b 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -1,256 +1,354 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/android.rst:3 d5546e4be0be41f09fb6ea0242fa01ee -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "教學 5 - 行動裝置:Android" +#: docs/en/tutorial/tutorial-5/android.md:1 +msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:5 2e53e22a2aaa419ab8ff0ac3f7426097 +#: docs/en/tutorial/tutorial-5/android.md:3 #, fuzzy -msgid "Now, we're going to take our application, and deploy it as an Android application." +msgid "" +"Now, we're going to take our application, and deploy it as an Android " +"application." msgstr "現在,我們將獲取我們的應用程序,並將其部署為 Android 應用程式。" -#: ../../tutorial/tutorial-5/android.rst:8 ec79203a4f5b4a61b11d194aae958d63 +#: docs/en/tutorial/tutorial-5/android.md:6 #, fuzzy -msgid "The process of deploying an application to Android is very similar to the process for deploying as a desktop application. Briefcase handles installing dependencies for Android, including the Android SDK, the Android emulator, and a Java compiler." -msgstr "將應用程式部署到 Android 的過程與部署為桌面應用程式的過程非常相似。 Briefcase 負責安裝 Android 依賴項,包括 Android SDK、Android 模擬器和 Java 編譯器。" +msgid "" +"The process of deploying an application to Android is very similar to the " +"process for deploying as a desktop application. Briefcase handles installing " +"dependencies for Android, including the Android SDK, the Android emulator, " +"and a Java compiler." +msgstr "" +"將應用程式部署到 Android 的過程與部署為桌面應用程式的過程非常相似。 " +"Briefcase 負責安裝 Android 依賴項,包括 Android SDK、Android 模擬器和 Java " +"編譯器。" -#: ../../tutorial/tutorial-5/android.rst:14 9938339d82f54a998b28cdb6d580a836 +#: docs/en/tutorial/tutorial-5/android.md:11 #, fuzzy msgid "Create an Android app and compile it" msgstr "創建一個 Android 應用程式並編譯它" -#: ../../tutorial/tutorial-5/android.rst:16 3b361eb258b54e2487da137a5dbcabc6 +#: docs/en/tutorial/tutorial-5/android.md:13 #, fuzzy -msgid "First, run the `create` command. This downloads an Android app template and adds your Python code to it." -msgstr "首先,執行`create`命令。這將下載 Android 應用程式模板並向其中添加您的 Python 程式碼。" - -#: ../../tutorial/tutorial-5/android.rst:21 -#: ../../tutorial/tutorial-5/android.rst:120 -#: ../../tutorial/tutorial-5/android.rst:197 -#: ../../tutorial/tutorial-5/android.rst:320 354f08a7de184240a6da92f395a1596f -#: 8746a3ec118c44e3bfdd4924816e7584 c69db1f0a99f4cf2a102f9790bc64a4e -#: ff16f8b544c946939c611a0ac9334c60 -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-5/android.rst:48 -#: ../../tutorial/tutorial-5/android.rst:138 -#: ../../tutorial/tutorial-5/android.rst:209 -#: ../../tutorial/tutorial-5/android.rst:334 7a0fc8cd2f894c83a4f5c45f66743d34 -#: b6bc8b4099354b5cba078c9019e68986 e543b453329146ff806db4881196fb1d -#: fd6e8265ffcb4679a58bfcb0757cdaf5 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-5/android.rst:75 -#: ../../tutorial/tutorial-5/android.rst:156 -#: ../../tutorial/tutorial-5/android.rst:221 -#: ../../tutorial/tutorial-5/android.rst:348 1af73a3ae7654c59bac48762679a6e27 -#: 45908b67a8e74ead8f19220b45535894 99b2514e60384a7aa432a885aa7b720c -#: ef8b5daf39ef4e5f8aabb50f5fd2c417 -msgid "Windows" -msgstr "Windows" - -#: ../../tutorial/tutorial-5/android.rst:102 72d65e3da98248cd8b14009fd6db873f -#, fuzzy -msgid "When you run `briefcase create android` for the first time, Briefcase downloads a Java JDK, and the Android SDK. File sizes and download times can be considerable; this may take a while (10 minutes or longer, depending on the speed of your Internet connection). When the download has completed, you will be prompted to accept Google's Android SDK license. There's a number of licenses you'll need to agree too - keep entering `y` at the prompt to review and accept each of the necessary the license agreements." -msgstr "當您第一次執行`briefcase create android`時,Briefcase 會下載 Java JDK 和 Android SDK。文件大小和下載時間可能相當大;這可能需要一段時間(10 分鐘或更長時間,具體取決於您的 Internet 連線速度)。下載完成後,系統會提示您接受 Google 的 Android SDK 授權。" - -#: ../../tutorial/tutorial-5/android.rst:110 08d75338c70c4293b3fc7e4756341837 -#, fuzzy -msgid "Once this completes, we'll have a `build\\helloworld\\android\\gradle` directory in our project, which will contain an Android project with a Gradle build configuration. This project will contain your application code, and a support package containing the Python interpreter." -msgstr "完成後,我們的專案中將有一個 `build\\helloworld\\android\\gradle` 目錄,其中包含具有 Gradle 建置配置的 Android 專案。該專案將包含您的應用程式程式碼以及包含 Python 解釋器的支援套件。" +msgid "" +"First, run the `create` command. This downloads an Android app template and " +"adds your Python code to it." +msgstr "首先,執行`create`命令。這將下載 Android 應用程式模板並向其中添加您的 Python " +"程式碼。" + +#: docs/en/tutorial/tutorial-5/android.md:16 +#: docs/en/tutorial/tutorial-5/android.md:121 +#: docs/en/tutorial/tutorial-5/android.md:204 +#: docs/en/tutorial/tutorial-5/android.md:333 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:115 5dd50cc6120848178154812570387bd6 -#, fuzzy -msgid "We can then use Briefcase's `build` command to compile this into an Android APK app file." -msgstr "然後我們可以使用 Briefcase 的 `build` 命令將其編譯成 Android APK 應用程式檔案。" +#: docs/en/tutorial/tutorial-5/android.md:43 +#: docs/en/tutorial/tutorial-5/android.md:72 +#: docs/en/tutorial/tutorial-5/android.md:101 +#: docs/en/tutorial/tutorial-5/android.md:139 +#: docs/en/tutorial/tutorial-5/android.md:159 +#: docs/en/tutorial/tutorial-5/android.md:179 +#: docs/en/tutorial/tutorial-5/android.md:192 +#: docs/en/tutorial/tutorial-5/android.md:216 +#: docs/en/tutorial/tutorial-5/android.md:230 +#: docs/en/tutorial/tutorial-5/android.md:244 +#: docs/en/tutorial/tutorial-5/android.md:288 +#: docs/en/tutorial/tutorial-5/android.md:347 +#: docs/en/tutorial/tutorial-5/android.md:363 +#: docs/en/tutorial/tutorial-5/android.md:379 +#: docs/en/tutorial/tutorial-5/android.md:399 +msgid "///" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:174 23e97dda834d4e96a5262d182cdc8ce1 -#, fuzzy -msgid "Gradle may look stuck" -msgstr "Gradle 可能看起來卡住了" +#: docs/en/tutorial/tutorial-5/android.md:45 +#: docs/en/tutorial/tutorial-5/android.md:141 +#: docs/en/tutorial/tutorial-5/android.md:218 +#: docs/en/tutorial/tutorial-5/android.md:349 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:176 9448604dd38b47418cda6119877c8af4 -#, fuzzy -msgid "During the `briefcase build android` step, Gradle (the Android platform build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. Don't worry, it's not stuck - it's downloading more Android SDK components. Depending on your Internet connection speed, this may take another 10 minutes (or longer). This lag should only happen the very first time you run `build`; the tools are cached, and on your next build, the cached versions will be used." -msgstr "在`briefcase build android`步驟中,Gradle(Android 平台建置工具)將列印`CONFIGURING: 100%`,似乎什麼也沒做。別擔心,它並沒有卡住 - 它正在下載更多 Android SDK 組件。根據您的網路連線速度,這可能還需要 10 分鐘(或更長)。這種滯後應該只在你第一次執行`build`時發生;這些工具會被緩存,並且在您的下一個建置中,將使用快取的版本。" +#: docs/en/tutorial/tutorial-5/android.md:74 +#: docs/en/tutorial/tutorial-5/android.md:161 +#: docs/en/tutorial/tutorial-5/android.md:232 +#: docs/en/tutorial/tutorial-5/android.md:365 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:185 29f00fe3304f4645b241034444799d92 +#: docs/en/tutorial/tutorial-5/android.md:104 #, fuzzy -msgid "Run the app on a virtual device" -msgstr "在虛擬設備上運行應用程式" +msgid "" +"When you run `briefcase create android` for the first time, Briefcase " +"downloads a Java JDK, and the Android SDK. File sizes and download times can " +"be considerable; this may take a while (10 minutes or longer, depending on " +"the speed of your Internet connection). When the download has completed, you " +"will be prompted to accept Google's Android SDK license. There's a number of " +"licenses you'll need to agree too - keep entering `y` at the prompt to " +"review and accept each of the necessary the license agreements." +msgstr "" +"當您第一次執行`briefcase create android`時,Briefcase 會下載 Java JDK 和 " +"Android SDK。文件大小和下載時間可能相當大;這可能需要一段時間(10 " +"分鐘或更長時間,具體取決於您的 Internet 連線速度)。下載完成後," +"系統會提示您接受 Google 的 Android SDK 授權。" -#: ../../tutorial/tutorial-5/android.rst:187 2a682a7b3d354745b8f65a9b1dc614e8 +#: docs/en/tutorial/tutorial-5/android.md:113 #, fuzzy -msgid "We're now ready to run our application. You can use Briefcase's `run` command to run the app on an Android device. Let's start by running on an Android emulator." -msgstr "現在我們已經準備好運行我們的應用程式了。您可以使用 Briefcase 的`run`命令在 Android 裝置上執行該應用程式。讓我們從在 Android 模擬器上運行開始。" +msgid "" +"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " +"directory in our project, which will contain an Android project with a " +"Gradle build configuration. This project will contain your application code, " +"and a support package containing the Python interpreter." +msgstr "" +"完成後,我們的專案中將有一個 `build\\helloworld\\android\\gradle` 目錄," +"其中包含具有 Gradle 建置配置的 Android 專案。" +"該專案將包含您的應用程式程式碼以及包含 Python 解釋器的支援套件。" -#: ../../tutorial/tutorial-5/android.rst:191 4e3a8649a4014bf7a54a9616d94d242d +#: docs/en/tutorial/tutorial-5/android.md:118 #, fuzzy -msgid "To run your application, run `briefcase run android`. When you do this, you'll be prompted with a list of devices that you could run the app on. The last item will always be an option to create a new Android emulator." -msgstr "要運行您的應用程序,請運行`briefcase run android`。當您執行此操作時,系統會提示您提供可以執行該應用程式的裝置清單。最後一項始終是建立新 Android 模擬器的選項。" +msgid "" +"We can then use Briefcase's `build` command to compile this into an Android " +"APK app file." +msgstr "然後我們可以使用 Briefcase 的 `build` 命令將其編譯成 Android APK " +"應用程式檔案。" -#: ../../tutorial/tutorial-5/android.rst:233 02a98c7bbb8944a18b88b85db3201d45 -#, fuzzy -msgid "We can now choose our desired device. Select the \"Create a new Android emulator\" option, and accept the default choice for the device name (`beePhone`)." -msgstr "我們現在可以選擇我們想要的設備。選擇`建立新的 Android 模擬器`選項,並接受裝置名稱的預設選擇 (`beePhone`)。" +#: docs/en/tutorial/tutorial-5/android.md:182 +msgid "/// admonition | Gradle may look stuck" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:237 570897b7d0bc4f79a56cf3934f9610dc +#: docs/en/tutorial/tutorial-5/android.md:184 #, fuzzy -msgid "Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo:" -msgstr "公事包`run`將自動啟動虛擬設備。當裝置啟動時,您將看到 Android 標誌:" +msgid "" +"During the `briefcase build android` step, Gradle (the Android platform " +"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " +"Don't worry, it's not stuck - it's downloading more Android SDK components. " +"Depending on your Internet connection speed, this may take another 10 " +"minutes (or longer). This lag should only happen the very first time you run " +"`build`; the tools are cached, and on your next build, the cached versions " +"will be used." +msgstr "" +"在`briefcase build android`步驟中,Gradle(Android " +"平台建置工具)將列印`CONFIGURING: 100%`,似乎什麼也沒做。別擔心," +"它並沒有卡住 - 它正在下載更多 Android SDK 組件。根據您的網路連線速度," +"這可能還需要 10 " +"分鐘(或更長)。這種滯後應該只在你第一次執行`build`時發生;這些工具會被緩存," +"並且在您的下一個建置中,將使用快取的版本。" -#: ../../tutorial/tutorial-5/android.rst:240 -#: ../../tutorial/tutorial-5/android.rst:245 54e365a9e9324329986e9634378da2d7 -#: 712dccc58faf40129adf98455cce5b70 +#: docs/en/tutorial/tutorial-5/android.md:194 #, fuzzy -msgid "Android virtual device booting" -msgstr "Android虛擬裝置啟動" +msgid "Run the app on a virtual device" +msgstr "在虛擬設備上運行應用程式" -#: ../../tutorial/tutorial-5/android.rst:247 ed90d798949040d8ad9d2a782de41929 +#: docs/en/tutorial/tutorial-5/android.md:196 #, fuzzy -msgid "Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen:" -msgstr "裝置完成啟動後,Briefcase 將在裝置上安裝您的應用程式。您將短暫地看到一個啟動器畫面:" +msgid "" +"We're now ready to run our application. You can use Briefcase's `run` " +"command to run the app on an Android device. Let's start by running on an " +"Android emulator." +msgstr "" +"現在我們已經準備好運行我們的應用程式了。您可以使用 Briefcase 的`run`命令在 " +"Android 裝置上執行該應用程式。讓我們從在 Android 模擬器上運行開始。" -#: ../../tutorial/tutorial-5/android.rst:250 -#: ../../tutorial/tutorial-5/android.rst:255 9aee2289fce3429bbca848fb30262eca -#: ef6f84c7e91545c5a0374576d08e6318 +#: docs/en/tutorial/tutorial-5/android.md:200 #, fuzzy -msgid "Android virtual device fully started, on the launcher screen" -msgstr "Android 虛擬裝置已完全啟動,位於啟動器螢幕上" +msgid "" +"To run your application, run `briefcase run android`. When you do this, " +"you'll be prompted with a list of devices that you could run the app on. The " +"last item will always be an option to create a new Android emulator." +msgstr "" +"要運行您的應用程序,請運行`briefcase run " +"android`。當您執行此操作時,系統會提示您提供可以執行該應用程式的裝置清單。" +"最後一項始終是建立新 Android 模擬器的選項。" -#: ../../tutorial/tutorial-5/android.rst:257 087d0493f2b54c1fac6a5d25166ac2d2 +#: docs/en/tutorial/tutorial-5/android.md:246 #, fuzzy -msgid "The app will then start. You'll see a splash screen while the app starts up:" -msgstr "然後該應用程式將啟動。應用程式啟動時您將看到啟動畫面:" +msgid "" +"We can now choose our desired device. Select the " +"\"Create a new Android emulator\" option, and accept the default choice for " +"the device name (`beePhone`)." +msgstr "我們現在可以選擇我們想要的設備。選擇`建立新的 Android 模擬器`選項," +"並接受裝置名稱的預設選擇 (`beePhone`)。" -#: ../../tutorial/tutorial-5/android.rst:259 -#: ../../tutorial/tutorial-5/android.rst:264 27e41f7bbf6749e79d7019219a1800f8 -#: 80eb61fdbed046c2a9633570dd1e6113 +#: docs/en/tutorial/tutorial-5/android.md:250 #, fuzzy -msgid "App splash screen" -msgstr "應用程式啟動畫面" +msgid "" +"Briefcase `run` will automatically boot the virtual device. When the device " +"is booting, you will see the Android logo:" +msgstr "公事包`run`將自動啟動虛擬設備。當裝置啟動時,您將看到 Android 標誌:" -#: ../../tutorial/tutorial-5/android.rst:266 2338741512aa42a0bc9484b47eed9bbe +#: docs/en/tutorial/tutorial-5/android.md:259 #, fuzzy -msgid "The emulator didn't start!" -msgstr "模擬器沒有啟動!" +msgid "" +"Once the device has finished booting, Briefcase will install your app on the " +"device. You will briefly see a launcher screen:" +msgstr "裝置完成啟動後,Briefcase " +"將在裝置上安裝您的應用程式。您將短暫地看到一個啟動器畫面:" -#: ../../tutorial/tutorial-5/android.rst:268 152e105a148541e2b3cf630b83ef839f +#: docs/en/tutorial/tutorial-5/android.md:269 #, fuzzy -msgid "The Android emulator is a complex piece of software that relies on a number of hardware and operating system features - features that may not be available or enabled on older machines. If you experience any difficulties starting the Android emulator, consult the [Requirements and recommendations]{1} section of the Android developer documentation." -msgstr "Android 模擬器是一款複雜的軟體,依賴許多硬體和作業系統功能 - 這些功能在舊機器上可能無法使用或啟用。如果您在啟動 Android 模擬器時遇到任何困難,請參閱 Android 開發人員文件的 [要求與建議]{1} 部分。" +msgid "" +"The app will then start. You'll see a splash screen while the app starts up:" +msgstr "然後該應用程式將啟動。應用程式啟動時您將看到啟動畫面:" -#: ../../tutorial/tutorial-5/android.rst:275 5d36e4d7acf843e0a1ede03335fc349a -#, fuzzy -msgid "The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app:" -msgstr "應用程式第一次啟動時,需要將自身解壓縮到裝置上。這可能需要幾秒鐘。解壓縮後,您將看到我們桌面應用程式的 Android 版本:" +#: docs/en/tutorial/tutorial-5/android.md:278 +msgid "/// admonition | The emulator didn't start!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:279 231e03ac5a3b4c689fb6e76dacc6c310 +#: docs/en/tutorial/tutorial-5/android.md:280 #, fuzzy -msgid "App from Tutorial 2, fully launched" -msgstr "教程 2 中的應用程式已全面啟動" +msgid "" +"The Android emulator is a complex piece of software that relies on a number " +"of hardware and operating system features - features that may not be " +"available or enabled on older machines. If you experience any difficulties " +"starting the Android emulator, consult the [Requirements and recommendations]" +"{1} section of the Android developer documentation." +msgstr "" +"Android 模擬器是一款複雜的軟體,依賴許多硬體和作業系統功能 - " +"這些功能在舊機器上可能無法使用或啟用。如果您在啟動 Android " +"模擬器時遇到任何困難,請參閱 Android 開發人員文件的 [要求與建議]{1} 部分。" -#: ../../tutorial/tutorial-5/android.rst:284 655a4ef0e42843f38a9846ae4df5844b +#: docs/en/tutorial/tutorial-5/android.md:290 #, fuzzy -msgid "Demo app fully launched" -msgstr "演示應用程式全面啟動" +msgid "" +"The first time the app starts, it needs to unpack itself onto the device. " +"This may take a few seconds. Once it's unpacked, you'll see the Android " +"version of our desktop app:" +msgstr "應用程式第一次啟動時,需要將自身解壓縮到裝置上。這可能需要幾秒鐘。解壓縮後," +"您將看到我們桌面應用程式的 Android 版本:" -#: ../../tutorial/tutorial-5/android.rst:286 f28e74d8ffa941958b055a9ef880c161 +#: docs/en/tutorial/tutorial-5/android.md:300 #, fuzzy -msgid "If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages." -msgstr "如果您無法看到應用程式啟動,您可能需要檢查執行`briefcase run`的終端並查找任何錯誤訊息。" +msgid "" +"If you fail to see your app launching, you may need to check your terminal " +"where you ran `briefcase run` and look for any error messages." +msgstr "如果您無法看到應用程式啟動,您可能需要檢查執行`briefcase " +"run`的終端並查找任何錯誤訊息。" -#: ../../tutorial/tutorial-5/android.rst:289 192cae1733114f41bd9ce02912165e8b -msgid "While the app is running, you'll see a lot of messages being streamed in the console. This is a stream of the application's logs from the emulator. Typing Ctrl+C into the terminal will halt the streamed information in the console, but it will not close the emulator. This is so you can test new changes without restarting the emulator." +#: docs/en/tutorial/tutorial-5/android.md:303 +msgid "" +"While the app is running, you'll see a lot of messages being streamed in the " +"console. This is a stream of the application's logs from the emulator. " +"Typing Ctrl+C into the terminal will halt the streamed information in the " +"console, but it will not close the emulator. This is so you can test new " +"changes without restarting the emulator." msgstr "" -#: ../../tutorial/tutorial-5/android.rst:295 69b63d21aaf348c2a1e285d53972eb57 +#: docs/en/tutorial/tutorial-5/android.md:309 #, fuzzy -msgid "In future, if you want to run on this device without using the menu, you can provide the emulator's name to Briefcase, using `briefcase run android -d \"@beePhone\"` to run on the virtual device directly." -msgstr "將來,如果您想在該裝置上運行而不使用選單,您可以將模擬器的名稱提供給Briefcase,使用`briefcase run android -d @beePhone`直接在虛擬裝置上執行。" +msgid "" +"In future, if you want to run on this device without using the menu, you can " +"provide the emulator's name to Briefcase, using `briefcase run android -d " +"\"@beePhone\"` to run on the virtual device directly." +msgstr "" +"將來,如果您想在該裝置上運行而不使用選單,您可以將模擬器的名稱提供給Briefcase" +",使用`briefcase run android -d @beePhone`直接在虛擬裝置上執行。" -#: ../../tutorial/tutorial-5/android.rst:300 5c5a457bb81047049fb109c8cfc8bee0 +#: docs/en/tutorial/tutorial-5/android.md:314 #, fuzzy msgid "Run the app on a physical device" msgstr "在物理設備上運行應用程式" -#: ../../tutorial/tutorial-5/android.rst:302 e92a93646be544829e011f048251d2d6 +#: docs/en/tutorial/tutorial-5/android.md:316 #, fuzzy -msgid "If you have a physical Android phone or tablet, you can connect it to your computer with a USB cable, and then use the Briefcase to target your physical device." -msgstr "如果您有實體 Android 手機或平板電腦,則可以使用 USB 電纜將其連接到計算機,然後使用公文包定位您的實體設備。" +msgid "" +"If you have a physical Android phone or tablet, you can connect it to your " +"computer with a USB cable, and then use the Briefcase to target your " +"physical device." +msgstr "如果您有實體 Android 手機或平板電腦,則可以使用 USB " +"電纜將其連接到計算機,然後使用公文包定位您的實體設備。" -#: ../../tutorial/tutorial-5/android.rst:306 cc4f380a80714acd9fd18d6566c2feb2 +#: docs/en/tutorial/tutorial-5/android.md:320 #, fuzzy -msgid "Android requires that you prepare your device before it can be used for development. You will need to make 2 changes to the options on your device:" -msgstr "Android 要求您先準備好設備,然後才能用於開發。您需要對裝置上的選項進行 2 項變更:" +msgid "" +"Android requires that you prepare your device before it can be used for " +"development. You will need to make 2 changes to the options on your device:" +msgstr "Android 要求您先準備好設備,然後才能用於開發。您需要對裝置上的選項進行 2 " +"項變更:" -#: ../../tutorial/tutorial-5/android.rst:309 0451a163b91148b69bc7cc8ba0337d9c +#: docs/en/tutorial/tutorial-5/android.md:324 #, fuzzy msgid "Enable developer options" msgstr "啟用開發者選項" -#: ../../tutorial/tutorial-5/android.rst:310 0edcf02cc9724a33890496434b2c5c0e +#: docs/en/tutorial/tutorial-5/android.md:325 #, fuzzy msgid "Enable USB debugging" msgstr "啟用USB調試" -#: ../../tutorial/tutorial-5/android.rst:312 73dac95f562040609da6f576aff34fd4 +#: docs/en/tutorial/tutorial-5/android.md:327 #, fuzzy -msgid "Details on how to make these changes can be found [in the Android developer documentation]{1}." +msgid "" +"Details on how to make these changes can be found " +"[in the Android developer documentation]{1}." msgstr "有關如何進行這些更改的詳細信息,請參閱 [Android 開發人員文件]{1}。" -#: ../../tutorial/tutorial-5/android.rst:315 d93cb6681446446284d682c406eb6f40 +#: docs/en/tutorial/tutorial-5/android.md:330 #, fuzzy -msgid "Once these steps have been completed, your device should appear in the list of available devices when you run `briefcase run android`." -msgstr "完成這些步驟後,當您執行`briefcase run android`時,您的裝置應該會出現在可用裝置清單中。" +msgid "" +"Once these steps have been completed, your device should appear in the list " +"of available devices when you run `briefcase run android`." +msgstr "完成這些步驟後,當您執行`briefcase run " +"android`時,您的裝置應該會出現在可用裝置清單中。" -#: ../../tutorial/tutorial-5/android.rst:362 d7f0e801ade940f598853d3a3017015a +#: docs/en/tutorial/tutorial-5/android.md:381 #, fuzzy -msgid "Here we can see a new physical device with it's serial number on the deployment list - in this case, a Pixel 3a. In the future, if you want to run on this device without using the menu, you can provide the phone's serial number to Briefcase (in this case, `briefcase run android -d 94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "在這裡,我們可以在部署清單中看到一個新的實體設備及其序號 - 在本例中為 Pixel 3a。將來,如果您想在該裝置上運行而不使用選單,您可以向Briefcase提供手機的序號(在本例中為`briefcase run android -d 94ZZY0LNE8`)。這將直接在設備上運行,無需提示。" +msgid "" +"Here we can see a new physical device with it's serial number on the " +"deployment list - in this case, a Pixel 3a. In the future, if you want to " +"run on this device without using the menu, you can provide the phone's " +"serial number to Briefcase (in this case, `briefcase run android -d " +"94ZZY0LNE8`). This will run on the device directly, without prompting." +msgstr "" +"在這裡,我們可以在部署清單中看到一個新的實體設備及其序號 - 在本例中為 Pixel " +"3a。將來,如果您想在該裝置上運行而不使用選單,您可以向Briefcase提供手機的序號" +"(在本例中為`briefcase run android -d " +"94ZZY0LNE8`)。這將直接在設備上運行,無需提示。" -#: ../../tutorial/tutorial-5/android.rst:368 02db0f9b89be4010b7a25e8d3fb8fbfd -#, fuzzy -msgid "My device doesn't appear!" -msgstr "我的設備沒有出現!" +#: docs/en/tutorial/tutorial-5/android.md:388 +msgid "/// admonition | My device doesn't appear!" +msgstr "" -#: ../../tutorial/tutorial-5/android.rst:370 36d2162bf43c44e7a769cd272ad6c1aa +#: docs/en/tutorial/tutorial-5/android.md:390 #, fuzzy -msgid "If your device doesn't appear on this list at all, either you haven't enabled USB debugging, (or the device isn't plugged in!)." -msgstr "如果您的裝置完全沒有出現在此清單中,則可能是您尚未啟用 USB 偵錯(或裝置未插入!)。" +msgid "" +"If your device doesn't appear on this list at all, either you haven't " +"enabled USB debugging, (or the device isn't plugged in!)." +msgstr "如果您的裝置完全沒有出現在此清單中,則可能是您尚未啟用 USB " +"偵錯(或裝置未插入!)。" -#: ../../tutorial/tutorial-5/android.rst:373 796c68ef89aa48529c28ab97a9f7da63 +#: docs/en/tutorial/tutorial-5/android.md:393 #, fuzzy -msgid "If your device appears, but is listed as \"Unknown device (not authorized for development)\", developer mode hasn't been correctly enabled. Re-run [the steps to enable developer options]{1}, and re-run `briefcase run android`." -msgstr "如果您的裝置出現,但被列為`未知裝置(未授權開發)`,則表示開發者模式尚未正確啟用。重新執行 [啟用開發人員選項的步驟]{1},並重新執行`briefcase run android``。" +msgid "" +"If your device appears, but is listed as " +"\"Unknown device (not authorized for development)\", developer mode hasn't " +"been correctly enabled. Re-run [the steps to enable developer options]{1}, " +"and re-run `briefcase run android`." +msgstr "" +"如果您的裝置出現,但被列為`未知裝置(未授權開發)`,則表示開發者模式尚未正確" +"啟用。重新執行 [啟用開發人員選項的步驟]{1},並重新執行`briefcase run " +"android``。" -#: ../../tutorial/tutorial-5/android.rst:380 05e83c0989ac4ee5bebf56c757e5d2b3 +#: docs/en/tutorial/tutorial-5/android.md:401 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-5/android.rst:382 9acc33318e1742ffbc17d613201926b7 -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." +#: docs/en/tutorial/tutorial-5/android.md:403 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 5 - Taking it mobile: Android" +#~ msgstr "教學 5 - 行動裝置:Android" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 1f9eeda7..3d44cc9c 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -1,99 +1,133 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-09 04:13+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-08 11:58+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: zh_TW\n" "Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-5/iOS.rst:3 90b66ea2a56043d7b0c05a4370299b65 -#, fuzzy -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "教學 5 - 行動裝置:iOS" +#: docs/en/tutorial/tutorial-5/iOS.md:1 +msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:5 9cea31a42a4d44ee9826cc8c3ef1fc1e -msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which components are built-in, and which components you may download. Select the checkbox next to iOS (followed by the current version number), and then click \"Download and Install\" to install it. Xcode will install the system components, followed by the iOS Simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:3 +msgid "" +"To compile iOS applications we'll need Xcode, which is available for free " +"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " +"Applications and accept the Xcode License Agreement. Next, Xcode will show " +"which components are built-in, and which components you may download. Select " +"the checkbox next to iOS (followed by the current version number), and then " +"click \"Download and Install\" to install it. Xcode will install the system " +"components, followed by the iOS Simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:13 a828743e1b084662a9964c652643c7ae +#: docs/en/tutorial/tutorial-5/iOS.md:13 #, fuzzy -msgid "Once we've got Xcode and the iOS simulator installed, we can take our application and deploy it as an iOS app." +msgid "" +"Once we've got Xcode and the iOS simulator installed, we can take our " +"application and deploy it as an iOS app." msgstr "一旦我們安裝了 Xcode,我們就可以將我們的應用程式部署為 iOS 應用程式。" -#: ../../tutorial/tutorial-5/iOS.rst:16 c162ced007d54070bcfe9bfb20815841 -#, fuzzy -msgid "The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the `create` command - but this time, we specify that we want to create an iOS application:" -msgstr "將應用程式部署到 iOS 的過程與部署為桌面應用程式的過程非常相似。首先,執行`create`命令 - 但這一次,我們指定要建立一個 iOS 應用程式:" +#: docs/en/tutorial/tutorial-5/iOS.md:16 +msgid "" +"The process of deploying an application to iOS is very similar to the " +"process for deploying as a desktop application. First, you run the `create` " +"command -but this time, we specify that we want to create an iOS application:" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:45 2f0cc562238d4a0b926add59eef991d8 +#: docs/en/tutorial/tutorial-5/iOS.md:46 #, fuzzy -msgid "Once this completes, we'll have a `build/helloworld/ios/xcode` directory containing an Xcode project, as well as the support libraries and the application code needed for the application." -msgstr "完成後,我們將擁有一個`build/helloworld/ios/xcode`目錄,其中包含 Xcode 專案以及應用程式所需的支援庫和應用程式程式碼。" +msgid "" +"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " +"containing an Xcode project, as well as the support libraries and the " +"application code needed for the application." +msgstr "" +"完成後,我們將擁有一個`build/helloworld/ios/xcode`目錄,其中包含 Xcode " +"專案以及應用程式所需的支援庫和應用程式程式碼。" -#: ../../tutorial/tutorial-5/iOS.rst:49 0c2a2f5708fa404b87a723da3e4aa01d +#: docs/en/tutorial/tutorial-5/iOS.md:50 #, fuzzy -msgid "You can then use Briefcase to compile your app using `briefcase build iOS`:" +msgid "" +"You can then use Briefcase to compile your app using `briefcase build iOS`:" msgstr "然後,您可以使用`briefcase build iOS`來使用 Briefcase 來編譯您的應用程式:" -#: ../../tutorial/tutorial-5/iOS.rst:64 f2a60d29d9194e0fac16e21885d616ed +#: docs/en/tutorial/tutorial-5/iOS.md:66 #, fuzzy -msgid "We're now ready to run our application, using `briefcase run iOS`. You'll be prompted to select a device to compile for; if you've got simulators for multiple iOS SDK versions installed, you may also be asked which iOS version you want to target. The options you are shown may differ from the options show in this output - at the very least, the list of devices will likely be different. For our purposes, it doesn't matter which simulator you pick." -msgstr "現在我們已經準備好使用`briefcase run iOS`來運行我們的應用程式。系統會提示您選擇要編譯的設備;如果您安裝了多個 iOS SDK 版本的模擬器,系統也可能會詢問您要定位哪個 iOS 版本。您顯示的選項可能與此輸出中顯示的選項不同 - 至少,設備清單可能會有所不同。就我們的目的而言,您選擇哪個模擬器並不重要。" +msgid "" +"We're now ready to run our application, using `briefcase run iOS`. You'll be " +"prompted to select a device to compile for; if you've got simulators for " +"multiple iOS SDK versions installed, you may also be asked which iOS version " +"you want to target. The options you are shown may differ from the options " +"show in this output - at the very least, the list of devices will likely be " +"different. For our purposes, it doesn't matter which simulator you pick." +msgstr "" +"現在我們已經準備好使用`briefcase run " +"iOS`來運行我們的應用程式。系統會提示您選擇要編譯的設備;如果您安裝了多個 iOS " +"SDK 版本的模擬器,系統也可能會詢問您要定位哪個 iOS 版本。" +"您顯示的選項可能與此輸出中顯示的選項不同 - " +"至少,設備清單可能會有所不同。就我們的目的而言,您選擇哪個模擬器並不重要。" -#: ../../tutorial/tutorial-5/iOS.rst:113 f7bbec7321d54deebc0bc952c40a3723 +#: docs/en/tutorial/tutorial-5/iOS.md:116 #, fuzzy -msgid "This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application:" -msgstr "這將啟動 iOS 模擬器、安裝您的應用程式並啟動它。您應該會看到模擬器啟動,並最終打開您的 iOS 應用程式:" +msgid "" +"This will start the iOS simulator, install your app, and start it. You " +"should see the simulator start, and eventually open your iOS application:" +msgstr "這將啟動 iOS 模擬器、安裝您的應用程式並啟動它。您應該會看到模擬器啟動," +"並最終打開您的 iOS 應用程式:" -#: ../../tutorial/tutorial-5/iOS.rst:116 8e680db8ca324a0e8a728159ed6c040e -#, fuzzy -msgid "Hello World Tutorial 5 window, on iOS" -msgstr "Hello World 教學 5 窗口,iOS 上" +#: docs/en/tutorial/tutorial-5/iOS.md:120 +msgid "![Hello World Tutorial 5 window, on iOS]{1}" +msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:119 179820b69fa74aa9ac56a4e1d240c4b7 -msgid "While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so you can test new changes without restarting the simulator." +#: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "" +"While the app is running, you'll see a series of Simulator log output " +"messages in the console. Typing Ctrl+C into the terminal will halt the " +"messages in the console, but it will not close the simulator. This is so you " +"can test new changes without restarting the simulator." msgstr "" -#: ../../tutorial/tutorial-5/iOS.rst:124 f22a31f829604d01b2cd556cdb1f5905 +#: docs/en/tutorial/tutorial-5/iOS.md:127 #, fuzzy -msgid "If you know ahead of time which iOS simulator you want to target, you can tell Briefcase to use that simulator by providing a `-d` (or `--device`) option. Using the name of the device you selected when you built your application, run:" -msgstr "如果您事先知道要定位哪個 iOS 模擬器,則可以透過提供`-d`(或`--device`)選項來告訴 Briefcase 使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" +msgid "" +"If you know ahead of time which iOS simulator you want to target, you can " +"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " +"option. Using the name of the device you selected when you built your " +"application, run:" +msgstr "" +"如果您事先知道要定位哪個 iOS 模擬器,則可以透過提供`-d`(或`--device`)" +"選項來告訴 Briefcase " +"使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" -#: ../../tutorial/tutorial-5/iOS.rst:132 1021b66584b4450fa0e5b4b6828a5919 +#: docs/en/tutorial/tutorial-5/iOS.md:136 #, fuzzy -msgid "If you have multiple iOS versions available, Briefcase will pick the highest iOS version; if you want to pick a particular iOS version, you tell it to use that specific version:" -msgstr "如果您有多個可用的 iOS 版本,公事包將選擇最高的 iOS 版本;如果你想選擇一個特定的 iOS 版本,你可以告訴它使用該特定版本:" +msgid "" +"If you have multiple iOS versions available, Briefcase will pick the highest " +"iOS version; if you want to pick a particular iOS version, you tell it to " +"use that specific version:" +msgstr "如果您有多個可用的 iOS 版本,公事包將選擇最高的 iOS 版本;" +"如果你想選擇一個特定的 iOS 版本,你可以告訴它使用該特定版本:" -#: ../../tutorial/tutorial-5/iOS.rst:140 75e1ee8ae47d499e930c5a2a5cf16b0d +#: docs/en/tutorial/tutorial-5/iOS.md:144 #, fuzzy msgid "Or, you can name a specific device UDID:" msgstr "或者,您可以命名特定設備 UDID:" -#: ../../tutorial/tutorial-5/iOS.rst:147 51f91c494b0a4b2e8b6bbe0875260f75 +#: docs/en/tutorial/tutorial-5/iOS.md:150 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-5/iOS.rst:149 65b584cb6f384e388bea489d17c28d1e -#, fuzzy -msgid "We've now got an application on our phone! Is there anywhere else we can deploy a BeeWare app? Turn to [Tutorial 6][../tutorial-6] to find out..." -msgstr "現在我們的手機上已經有一個應用程式了!我們還有其他地方可以部署 BeeWare 應用程式嗎?請參閱 [教學 6][../tutorial-6] 以了解..." - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}." -#~ msgstr "要編譯 iOS 應用程序,我們需要 Xcode,它可以從`macOS App Store `免費獲得。" - -#~ msgid "To compile iOS applications we'll need Xcode, which is available for free from [the macOS App Store]{1}. Once Xcode is installed, launch it from Applications and accept the Xcode License Agreement. Next, Xcode will show which Simulator runtimes are built-in, and which Simulator runtimes you may download. Select the checkbox next to the iOS Simulator runtime, and then click Continue to download and install it." -#~ msgstr "" +#: docs/en/tutorial/tutorial-5/iOS.md:152 +msgid "" +"We've now got an application on our phone! Is there anywhere else we can " +"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +msgstr "" +#, fuzzy +#~ msgid "Tutorial 5 - Taking it mobile: iOS" +#~ msgstr "教學 5 - 行動裝置:iOS" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po index dcba2f1b..2c9b4d2d 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -1,55 +1,47 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# -#, fuzzy msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-05-29 08:28+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-08 11:58+0800\n" "Last-Translator: Russell Keith-Magee \n" -"Language: zh_TW\n" "Language-Team: zh_TW \n" -"Plural-Forms: nplurals=1; plural=0;\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.15.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" + +#: docs/en/tutorial/tutorial-5/index.md:1 +msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:3 8c68ab9c8ff7429ca96e0399e5cad55e +#: docs/en/tutorial/tutorial-5/index.md:3 #, fuzzy -msgid "Tutorial 5 - Taking it Mobile" -msgstr "教程 5 - 移動使用" +msgid "" +"So far, we've been running and testing our application on the desktop. " +"However, BeeWare also supports mobile platforms - and the application we've " +"written can be deployed to your mobile device, too!" +msgstr "到目前為止,我們已經在桌面上運行和測試我們的應用程式。但是,BeeWare " +"還支援行動平台 - 我們編寫的應用程式也可以部署到您的行動裝置!" + +#: docs/en/tutorial/tutorial-5/index.md:7 +msgid "[Android][mobile-android]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:5 2d040dc841a146aab85bdc91f1e0609d +#: docs/en/tutorial/tutorial-5/index.md:9 #, fuzzy -msgid "So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too!" -msgstr "到目前為止,我們已經在桌面上運行和測試我們的應用程式。但是,BeeWare 還支援行動平台 - 我們編寫的應用程式也可以部署到您的行動裝置!" +msgid "Android applications can be compiled on macOS, Windows or Linux." +msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" -#: ../../tutorial/tutorial-5/index.rst:11 1bf983269a09430e82521832260c1640 -msgid "iOS" -msgstr "iOS" +#: docs/en/tutorial/tutorial-5/index.md:11 +msgid "[iOS][mobile-ios]" +msgstr "" -#: ../../tutorial/tutorial-5/index.rst:13 b2fed2f49162428da667f45bdc9b0a99 +#: docs/en/tutorial/tutorial-5/index.md:13 #, fuzzy msgid "iOS applications can only be compiled on macOS." msgstr "iOS 應用程式只能在 macOS 上編譯。" -#: ../../tutorial/tutorial-5/index.rst:15 2bd2dc6e71d44841a061014bd467413d -msgid "Android" -msgstr "Android" - -#: ../../tutorial/tutorial-5/index.rst:17 559a4990f039485ea1c5785fd48e8a27 #, fuzzy -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" - -#~ msgid "[Let's build our app for iOS!][iOS]" -#~ msgstr "[讓我們為 iOS 建立我們的應用程式!`" - -#~ msgid ":doc:`Let's build our app for Android!][android]" -#~ msgstr ":doc:`讓我們為 Android 建立應用程式!`" - +#~ msgid "Tutorial 5 - Taking it Mobile" +#~ msgstr "教程 5 - 移動使用" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po index f4465f76..b6bdb10c 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po @@ -1,116 +1,146 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-03-08 10:13+0800\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" -"Language: zh_TW\n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.5-dev\n" -"Generated-By: Babel 2.14.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-6.rst:3 2a532cc3806d417fa3be690ab757a4b2 -msgid "Tutorial 6 - Put it on the web!" -msgstr "教程 6 - 將其放在網路上!" +#: docs/en/tutorial/tutorial-6.md:1 +msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgstr "" -#: ../../tutorial/tutorial-6.rst:5 63bdab949d54413bbda05a5c366ce19b -msgid "In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your desktop and mobile applications, you can deploy your application as a single-page web app." +#: docs/en/tutorial/tutorial-6.md:3 +msgid "" +"In addition to supporting mobile platforms, the Toga widget toolkit also " +"supports the web! Using the same API that you used to deploy your desktop " +"and mobile applications, you can deploy your application as a single-page " +"web app." msgstr "除了支援行動平台外,Toga 還支援網頁!使用與部署桌面和行動應用程式相同的 API," "您可以將應用程式部署為單頁 Web 應用程式。" -#: ../../tutorial/tutorial-6.rst:9 1af5ed570dab4ac9bd5e0f7c920e62a5 -msgid "Proof of Concept" -msgstr "概念驗證" +#: docs/en/tutorial/tutorial-6.md:8 +msgid "/// admonition | Proof of Concept" +msgstr "" -#: ../../tutorial/tutorial-6.rst:11 879b2c25a86349688aa458b19265fa96 -msgid "The Toga Web backend is the least mature of all the Toga backends. It's mature enough to show off a few features, but it's likely to be buggy, and will be missing many of the widgets that are available on other platforms. At this point in time, Web deployment should be considered a \"Proof of Concept\" - enough to demonstrate what can be done, but not enough to be relied on for serious development." +#: docs/en/tutorial/tutorial-6.md:10 +msgid "" +"The Toga Web backend is the least mature of all the Toga backends. It's " +"mature enough to show off a few features, but it's likely to be buggy, and " +"will be missing many of the widgets that are available on other platforms. " +"At this point in time, Web deployment should be considered a " +"\"Proof of Concept\" - enough to demonstrate what can be done, but not " +"enough to be relied on for serious development." msgstr "" -"Toga Web 後端是所有 Toga 後端中最不成熟的。它已經足夠成熟,可以展示一些功能," -"但它可能有缺陷,並且會缺少其他平台上可用的許多小部件。此時,Web 部署應被視為 " -"`概念驗證` - 足以演示可以做什麼,但不足以依賴認真的開發。" +"Toga Web 後端是所有 Toga " +"後端中最不成熟的。它已經足夠成熟,可以展示一些功能,但它可能有缺陷,並且會缺" +"少其他平台上可用的許多小部件。此時,Web 部署應被視為 `概念驗證` - " +"足以演示可以做什麼,但不足以依賴認真的開發。" -#: ../../tutorial/tutorial-6.rst:18 865c937ff1a4479d96d1345c782d971e -msgid "If you have problems with this step of the tutorial, you can skip to the next page." +#: docs/en/tutorial/tutorial-6.md:17 +msgid "" +"If you have problems with this step of the tutorial, you can skip to the " +"next page." msgstr "如果您對本教學的這一步有疑問,可以跳到下一頁。" -#: ../../tutorial/tutorial-6.rst:22 2ec049fc8b704716bc73962331d277be +#: docs/en/tutorial/tutorial-6.md:20 +#: docs/en/tutorial/tutorial-6.md:70 +#: docs/en/tutorial/tutorial-6.md:110 +#: docs/en/tutorial/tutorial-6.md:150 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-6.md:22 msgid "Deploying as a web app" msgstr "部署為 Web 應用程式" -#: ../../tutorial/tutorial-6.rst:24 e8a7a354dedf42e5addb91efd4403f7d -msgid "The process of deploying as a single-page web app follows the same familiar pattern - you create the application, then build the application, then run it. However, Briefcase can be a little bit smart; if you attempt to run an application, and Briefcase determines that it hasn't been created or built for the platform being targeted, it will do the create and build steps for you. Since this is our first time running the app for the web, we can perform all three steps with one command:" +#: docs/en/tutorial/tutorial-6.md:24 +msgid "" +"The process of deploying as a single-page web app follows the same familiar " +"pattern - you create the application, then build the application, then run " +"it. However, Briefcase can be a little bit smart; if you attempt to run an " +"application, and Briefcase determines that it hasn't been created or built " +"for the platform being targeted, it will do the create and build steps for " +"you. Since this is our first time running the app for the web, we can " +"perform all three steps with one command:" msgstr "" "部署為單頁 Web 應用程式的過程遵循相同的熟悉模式 - " "建立應用程序,然後建立應用程序,然後運行它。然而,Briefcase " -"有點聰明,如果您嘗試運行應用程序,並且 Briefcase 確定該應用程式尚未針對目標平" -"台創建或構建,它將為您執行創建和構建步驟。由於這是我們第一次運行該應用程式的" -"網絡,我們可以使用一個命令執行所有三個步驟:" +"有點聰明,如果您嘗試運行應用程序,並且 Briefcase " +"確定該應用程式尚未針對目標平台創建或構建,它將為您執行創建和構建步驟。由於這" +"是我們第一次運行該應用程式的網絡,我們可以使用一個命令執行所有三個步驟:" -#: ../../tutorial/tutorial-6.rst:34 510f5b2ca0884038a8e30fb9a096af4d -msgid "macOS" -msgstr "macOS" +#: docs/en/tutorial/tutorial-6.md:32 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-6.rst:72 52e1585ec59c40f781a5ca2464633807 -msgid "Linux" -msgstr "Linux" +#: docs/en/tutorial/tutorial-6.md:72 +msgid "/// tab | Linux" +msgstr "" -#: ../../tutorial/tutorial-6.rst:110 fa0f7530ac0f457581d5b701b434bdae -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-6.md:112 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-6.rst:148 df579c00750d4c189854c8435ee2a6d9 -msgid "This will open a web browser, pointing at [http://127.0.0.1:8080](http://127.0.0.1:8080):" -msgstr "這將開啟一個網頁瀏覽器,指向 [http://127.0.0.1:8080 `" -"__ :" +#: docs/en/tutorial/tutorial-6.md:152 +msgid "This will open a web browser, pointing at {1}:" +msgstr "" -#: ../../tutorial/tutorial-6.rst:-1 44ec2c4a17eb4a0fb34dd63c7b25c7c9 -msgid "Hello World Tutorial 6 dialog, in a browser" -msgstr "Hello World 教學 6 對話框,在瀏覽器中" +#: docs/en/tutorial/tutorial-6.md:154 +msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" +msgstr "" -#: ../../tutorial/tutorial-6.rst:154 1c69ad598da146a8823c62636e319a11 +#: docs/en/tutorial/tutorial-6.md:156 msgid "If you enter your name and click the button, a dialog will appear." msgstr "如果您輸入您的姓名並按一下該按鈕,將會出現一個對話方塊。" -#: ../../tutorial/tutorial-6.rst:157 e2804ef8f97a474fad96f26cae388adf +#: docs/en/tutorial/tutorial-6.md:158 msgid "How does this work?" msgstr "這個怎麼用?" -#: ../../tutorial/tutorial-6.rst:159 23efa1eac513406b9b5cce6dc5b18625 -msgid "This web app is a static website - a single HTML source page, with some CSS and other resources. Briefcase has started a local web server to serve this page so your browser can view the page. If you wanted to put this web page into production, you could copy the contents of the `www` folder onto any web server that can serve static content." +#: docs/en/tutorial/tutorial-6.md:160 +msgid "" +"This web app is a static website - a single HTML source page, with some CSS " +"and other resources. Briefcase has started a local web server to serve this " +"page so your browser can view the page. If you wanted to put this web page " +"into production, you could copy the contents of the `www` folder onto any " +"web server that can serve static content." msgstr "" "此 Web 應用程式是一個靜態網站 - 單一 HTML 來源頁面,帶有一些 CSS 和其他資源。" " Briefcase 已啟動本機 Web " "伺服器來提供此頁面,以便您的瀏覽器可以查看該頁面。如果您想將此網頁投入生產," "您可以將 `www` 資料夾的內容複製到任何可以提供靜態內容的 Web 伺服器上。" -#: ../../tutorial/tutorial-6.rst:165 402bb2a720f24a18823421539fae8de7 -msgid "But when you press the button, you're running Python code... how does that work? Toga uses `PyScript]{1} to provide a Python interpreter in the browser. Briefcase packages your app's code as wheels that PyScript can load in the browser. When the page is loaded, the application code runs in the browser, building the UI using the browser DOM. When you click a button, that button runs the event handling code in the browser." +#: docs/en/tutorial/tutorial-6.md:166 +msgid "" +"But when you press the button, you're running Python code... how does that " +"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " +"browser. Briefcase packages your app's code as wheels that PyScript can load " +"in the browser. When the page is loaded, the application code runs in the " +"browser, building the UI using the browser DOM. When you click a button, " +"that button runs the event handling code in the browser." msgstr "" -"但是當你按下按鈕時,你正在運行 Python 程式碼......這是如何運作的? Toga 使用 " -"[PyScript]{1} 在瀏覽器中提供 Python 解譯器。 Briefcase " -"將應用程式的程式碼打包為 PyScript " -"可以在瀏覽器中載入的輪子。載入頁面後,應用程式程式碼在瀏覽器中運行," -"使用瀏覽器 DOM 建立 " -"UI。當您按一下某個按鈕時,該按鈕會在瀏覽器中執行事件處理程式碼。" - -#: ../../tutorial/tutorial-6.rst:173 c0712cbbdbb5474fae8a3b7ea9e1f165 + +#: docs/en/tutorial/tutorial-6.md:174 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-6.rst:175 b6d10fd98437433fa32e02fb94803bde -msgid "Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? Turn to [Tutorial 7][tutorial-7] to find out..." +#: docs/en/tutorial/tutorial-6.md:176 +msgid "" +"Although we've now deployed this app on desktop, mobile and the web, the app " +"is fairly simple, and doesn't involve any third-party libraries. Can we " +"include libraries from the Python Package Index (PyPI) in our app? Turn to " +"[Tutorial 7][tutorial-7] to find out..." msgstr "" "雖然我們現在已經在桌面、行動和網路上部署了這個應用程序,但該應用程式相當簡單" ",並且不涉及任何第三方程式庫。我們可以在我們的應用程式中包含 Python 套件索引 " "(PyPI) 中的函式庫嗎?前往 :doc:`教學 7` 找出..." + +#~ msgid "Tutorial 6 - Put it on the web!" +#~ msgstr "教程 6 - 將其放在網路上!" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po index 47bafe84..1d0bf041 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -1,379 +1,511 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-7.rst:3 c0efd6e2223c47118ab7f50bc1ebe1f9 -#, fuzzy -msgid "Tutorial 7 - Get this (third)-party started" -msgstr "教學 7 - 啟動此(第三方)" +#: docs/en/tutorial/tutorial-7.md:1 +msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgstr "" -#: ../../tutorial/tutorial-7.rst:5 472fa4561e1440c8b8943696f9a54f53 +#: docs/en/tutorial/tutorial-7.md:3 #, fuzzy -msgid "So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to use a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "到目前為止,我們建立的應用程式只使用了我們自己的程式碼,加上 BeeWare 提供的程式碼。但是,在現實應用程式中,您可能需要使用從 Python Package Index (PyPI) 下載的第三方程式庫。" +msgid "" +"So far, the app we've built has only used our own code, plus the code " +"provided by BeeWare. However, in a real-world app, you'll likely want to use " +"a third-party library, downloaded from the Python Package Index (PyPI)." +msgstr "" +"到目前為止,我們建立的應用程式只使用了我們自己的程式碼,加上 BeeWare " +"提供的程式碼。但是,在現實應用程式中,您可能需要使用從 Python Package Index " +"(PyPI) 下載的第三方程式庫。" -#: ../../tutorial/tutorial-7.rst:9 cead96f6abcd4e80a98319f42fdb0691 +#: docs/en/tutorial/tutorial-7.md:8 #, fuzzy msgid "Let's modify our app to include a third-party library." msgstr "讓我們修改我們的應用程式以包含第三方程式庫。" -#: ../../tutorial/tutorial-7.rst:12 09205e98844947a2a37eeb00a34a6610 +#: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" msgstr "" -#: ../../tutorial/tutorial-7.rst:14 dc4188b519dd4e0e90c1e23f690410bd -msgid "Let's modify our application to say a little bit more than just \"Hi, there!\"." +#: docs/en/tutorial/tutorial-7.md:12 +msgid "" +"Let's modify our application to say a little bit more than just " +"\"Hi, there!\"." msgstr "" -#: ../../tutorial/tutorial-7.rst:16 6c43b52826de46dc8283b99f1ffd7cb8 -msgid "To generate some more interesting text for the dialog, we're going to use a library called [Faker]{1} . Faker is a Python package that generates fake content, including names and text blocks. The names and words in the text block are generated from an arbitrary list of words provided by Faker. We're going to use Faker to construct a fake message, as if someone is responding to the user." +#: docs/en/tutorial/tutorial-7.md:15 +msgid "" +"To generate some more interesting text for the dialog, we're going to use a " +"library called [Faker]{1}. Faker is a Python package that generates fake " +"content, including names and text blocks. The names and words in the text " +"block are generated from an arbitrary list of words provided by Faker. We're " +"going to use Faker to construct a fake message, as if someone is responding " +"to the user." msgstr "" -#: ../../tutorial/tutorial-7.rst:23 fe30468785e14c48ba8d0fdd9bb9fe8e +#: docs/en/tutorial/tutorial-7.md:23 #, fuzzy -msgid "We start by adding `faker` to our app. Add an import to the top of the `app.py` to import `faker`:" -msgstr "讓我們為我們的應用程式新增一個`httpx` API 呼叫。將導入新增至`app.py`頂部以導入`httpx`:" +msgid "" +"We start by adding `faker` to our app. Add an import to the top of the " +"`app.py` to import `faker`:" +msgstr "讓我們為我們的應用程式新增一個`httpx` API " +"呼叫。將導入新增至`app.py`頂部以導入`httpx`:" -#: ../../tutorial/tutorial-7.rst:28 3ddb8bd6cb7144f39b0121d254a09073 +#: docs/en/tutorial/tutorial-7.md:30 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "然後修改`say_hello()`回調,使其看起來像這樣:" -#: ../../tutorial/tutorial-7.rst:39 2034a7fd1eeb48a8bea715e0983b5523 +#: docs/en/tutorial/tutorial-7.md:43 #, fuzzy -msgid "Let's run our updated app in Briefcase developer mode to check that our change has worked." +msgid "" +"Let's run our updated app in Briefcase developer mode to check that our " +"change has worked." msgstr "讓我們在公文包開發者模式下運行更新後的應用程序,以檢查我們的更改是否有效。" -#: ../../tutorial/tutorial-7.rst:44 ../../tutorial/tutorial-7.rst:120 -#: ../../tutorial/tutorial-7.rst:182 ../../tutorial/tutorial-7.rst:510 -#: 7dae5ea8c04e472cb3268fab5a936f3e 8a7e8b7f8b1945679d57343911570db5 -#: 8fc1dbc68e8e448492e9144011ea2d8d ebc851d45e334ff8ba808cb9c0203f1a -msgid "macOS" -msgstr "macOS" - -#: ../../tutorial/tutorial-7.rst:64 ../../tutorial/tutorial-7.rst:134 -#: ../../tutorial/tutorial-7.rst:220 ../../tutorial/tutorial-7.rst:531 -#: 3f68199b67fc4f8f9a9931e38d883b98 5b6556276a744bfdb8dc8ab657f4641f -#: 85e90c4cb13c4cb3b6e50700b4f56c5c e7a2ff7dc11e47cda58baacb2241a1d9 -msgid "Linux" -msgstr "Linux" - -#: ../../tutorial/tutorial-7.rst:84 ../../tutorial/tutorial-7.rst:148 -#: ../../tutorial/tutorial-7.rst:273 ../../tutorial/tutorial-7.rst:558 -#: 64e3bb28bb78433c86f2807f86f3beca 709caaf512bc46bb8e20ea5f09383472 -#: d9a11a39c2ed463bb30d6132e42cd0a9 ed99129dfb184ffe98859c7db4d19da8 -msgid "Windows" -msgstr "Windows" +#: docs/en/tutorial/tutorial-7.md:46 +#: docs/en/tutorial/tutorial-7.md:130 +#: docs/en/tutorial/tutorial-7.md:201 +#: docs/en/tutorial/tutorial-7.md:545 +msgid "/// tab | macOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:104 ../../tutorial/tutorial-7.rst:162 -#: ../../tutorial/tutorial-7.rst:311 ../../tutorial/tutorial-7.rst:579 -#: 1a0edc00237d4394ae8beaa4df6b486c 46577f537ad1470b85a5f8347a1e680d -#: c2c4c6cf9ff24fd59079a17db893fa0e e5495388c0ac42c783cef2c7af639b7c -msgid "Android" +#: docs/en/tutorial/tutorial-7.md:66 +#: docs/en/tutorial/tutorial-7.md:88 +#: docs/en/tutorial/tutorial-7.md:110 +#: docs/en/tutorial/tutorial-7.md:117 +#: docs/en/tutorial/tutorial-7.md:124 +#: docs/en/tutorial/tutorial-7.md:144 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:176 +#: docs/en/tutorial/tutorial-7.md:183 +#: docs/en/tutorial/tutorial-7.md:190 +#: docs/en/tutorial/tutorial-7.md:239 +#: docs/en/tutorial/tutorial-7.md:294 +#: docs/en/tutorial/tutorial-7.md:334 +#: docs/en/tutorial/tutorial-7.md:409 +#: docs/en/tutorial/tutorial-7.md:457 +#: docs/en/tutorial/tutorial-7.md:566 +#: docs/en/tutorial/tutorial-7.md:595 +#: docs/en/tutorial/tutorial-7.md:618 +#: docs/en/tutorial/tutorial-7.md:637 +#: docs/en/tutorial/tutorial-7.md:661 +#: docs/en/tutorial/tutorial-7.md:672 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-7.rst:106 ../../tutorial/tutorial-7.rst:164 -#: adcafc4f760a408d99e516abbe277acf f586d2763a7346c09f6070226fe200b7 -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:68 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:241 +#: docs/en/tutorial/tutorial-7.md:568 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-7.rst:109 ../../tutorial/tutorial-7.rst:167 -#: ../../tutorial/tutorial-7.rst:384 ../../tutorial/tutorial-7.rst:596 -#: 86dca11fa3404268b0161ab399752350 88b11beb12b544ba9f678a53f352f6fe -#: 9daf6fab255f48808586cb9964214894 ea09748bb9b74e91a5f69cd0875688e7 -#, fuzzy -msgid "iOS" -msgstr "Windows" +#: docs/en/tutorial/tutorial-7.md:90 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:296 +#: docs/en/tutorial/tutorial-7.md:597 +msgid "/// tab | Windows" +msgstr "" -#: ../../tutorial/tutorial-7.rst:111 ../../tutorial/tutorial-7.rst:169 -#: 07e386caeee240fbbae03ea6d78213a4 1427661dd642454dacea01d69a9b1766 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-7.md:112 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:336 +#: docs/en/tutorial/tutorial-7.md:620 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-7.rst:114 f6db1525c17d42f2a7543c60bbfd757f -#, fuzzy -msgid "What happened? We've added `faker` to our *code*, but we haven't added it to our development virtual environment. We can fix this by installing `faker` with `pip`, and then re-running `briefcase dev`:" -msgstr "發生了什麼事?我們已將`httpx`新增至我們的*程式碼*中,但我們尚未將其新增至我們的開發虛擬環境。我們可以透過用`pip`安裝`httpx`來解決這個問題,然後重新執行`briefcase dev`:" +#: docs/en/tutorial/tutorial-7.md:114 +#: docs/en/tutorial/tutorial-7.md:180 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:127 ../../tutorial/tutorial-7.rst:141 -#: ../../tutorial/tutorial-7.rst:155 3ff689a4fa554cbe8132f4985f26d3eb -#: 672a01904be84b3c9e65f81f7fa24234 d0e265865c274199aaa9def468256a39 -#, fuzzy -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" -msgstr "當您輸入名稱並按下按鈕時,您應該會看到一個類似以下內容的對話框:" +#: docs/en/tutorial/tutorial-7.md:119 +#: docs/en/tutorial/tutorial-7.md:185 +#: docs/en/tutorial/tutorial-7.md:411 +#: docs/en/tutorial/tutorial-7.md:639 +msgid "/// tab | iOS" +msgstr "" -#: ../../tutorial/tutorial-7.rst:130 99d741deb4664ce1b9d16bb094132529 -#, fuzzy -msgid "Hello World Tutorial 7 dialog, on macOS" -msgstr "Hello World 教學 7 對話框,在 macOS 上" +#: docs/en/tutorial/tutorial-7.md:121 +#: docs/en/tutorial/tutorial-7.md:187 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." +msgstr "" -#: ../../tutorial/tutorial-7.rst:144 d9a43e3b64df404f9102cc689571065c +#: docs/en/tutorial/tutorial-7.md:126 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Linux" -msgstr "Linux 上的 Hello World 教學 7 對話框" +msgid "" +"What happened? We've added `faker` to our *code*, but we haven't added it to " +"our development virtual environment. We can fix this by installing `faker` " +"with `pip`, and then re-running `briefcase dev`:" +msgstr "" +"發生了什麼事?我們已將`httpx`新增至我們的*程式碼*中,但我們尚未將其新增至我們" +"的開發虛擬環境。我們可以透過用`pip`安裝`httpx`來解決這個問題,然後重新執行`" +"briefcase dev`:" -#: ../../tutorial/tutorial-7.rst:158 8d4a4c27bc444b3a8d155d66e1631003 +#: docs/en/tutorial/tutorial-7.md:137 +#: docs/en/tutorial/tutorial-7.md:153 +#: docs/en/tutorial/tutorial-7.md:169 #, fuzzy -msgid "Hello World Tutorial 7 dialog, on Windows" -msgstr "Hello World 教學 7 對話框,在 Windows 上" +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" +msgstr "當您輸入名稱並按下按鈕時,您應該會看到一個類似以下內容的對話框:" -#: ../../tutorial/tutorial-7.rst:172 ea5dd0fcae9b49959f23bd28fba5b720 +#: docs/en/tutorial/tutorial-7.md:192 #, fuzzy -msgid "We've now got a working app, using a third party library, running in development mode!" +msgid "" +"We've now got a working app, using a third party library, running in " +"development mode!" msgstr "我們現在有了一個可以使用的應用程序,使用第三方庫,在開發模式下運行!" -#: ../../tutorial/tutorial-7.rst:175 5460877abe6044f4834d6a1110264ffe +#: docs/en/tutorial/tutorial-7.md:195 #, fuzzy msgid "Running the updated app" msgstr "運行更新的應用程式" -#: ../../tutorial/tutorial-7.rst:177 db706f24f3f14acea55776d300538c14 +#: docs/en/tutorial/tutorial-7.md:197 #, fuzzy -msgid "Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in [Tutorial 4][tutorial-4]:" -msgstr "讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼,因此我們需要遵循 [教程 4][tutorial-4] 中的相同步驟:" +msgid "" +"Let's get this updated application code packaged as a standalone app. Since " +"we've made code changes, we need to follow the same steps as in [Tutorial 4]" +"[tutorial-4]:" +msgstr "" +"讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼," +"因此我們需要遵循 [教程 4][tutorial-4] 中的相同步驟:" -#: ../../tutorial/tutorial-7.rst:184 ../../tutorial/tutorial-7.rst:222 -#: ../../tutorial/tutorial-7.rst:275 ../../tutorial/tutorial-7.rst:313 -#: ../../tutorial/tutorial-7.rst:386 7013c509dbf14c398c2e4328a19dabb7 -#: 807365f81b9c4a06892171e4fbda97b5 9837d695dac94dc59919bcb49c5098cf -#: a81f5fa8e1854d94be9ccff4dbfdf8dd efe037ca8b17489fb5c2fba4005f6e5c +#: docs/en/tutorial/tutorial-7.md:203 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:298 +#: docs/en/tutorial/tutorial-7.md:338 +#: docs/en/tutorial/tutorial-7.md:413 #, fuzzy msgid "Update the code in the packaged app:" msgstr "更新打包應用程式中的程式碼:" -#: ../../tutorial/tutorial-7.rst:195 ../../tutorial/tutorial-7.rst:233 -#: ../../tutorial/tutorial-7.rst:286 ../../tutorial/tutorial-7.rst:324 -#: ../../tutorial/tutorial-7.rst:397 3e50d2ad7b9343bfa5fe1b9d30e69566 -#: 6be112856384466b87e9529fc180812e 9fa1aa54ff9147f69d1395aa54a9ddb6 -#: b201647956c04b5ba38095664614fd7f d6b434737e08477eb70d40ae14fc99dd +#: docs/en/tutorial/tutorial-7.md:214 +#: docs/en/tutorial/tutorial-7.md:254 +#: docs/en/tutorial/tutorial-7.md:309 +#: docs/en/tutorial/tutorial-7.md:349 +#: docs/en/tutorial/tutorial-7.md:424 #, fuzzy msgid "Rebuild the app:" msgstr "重建應用程式:" -#: ../../tutorial/tutorial-7.rst:204 ../../tutorial/tutorial-7.rst:247 -#: ../../tutorial/tutorial-7.rst:295 0e61f9866bf74dbabe7821a9a8f1be51 -#: a0dda02885e64aa7b9e5a8212bca2cc6 d85824e1dbee476688cc9ba4dbd149cc +#: docs/en/tutorial/tutorial-7.md:223 +#: docs/en/tutorial/tutorial-7.md:268 +#: docs/en/tutorial/tutorial-7.md:318 #, fuzzy msgid "And finally, run the app:" msgstr "最後,運行應用程式:" -#: ../../tutorial/tutorial-7.rst:213 ../../tutorial/tutorial-7.rst:304 -#: a717aa77f2744aed9ab8a6e97e889275 e0076d766e98444f93acc773c3b0e0c6 +#: docs/en/tutorial/tutorial-7.md:232 +#: docs/en/tutorial/tutorial-7.md:327 #, fuzzy -msgid "However, when the app runs, you'll see an error in the console, plus a crash dialog:" +msgid "" +"However, when the app runs, you'll see an error in the console, plus a crash " +"dialog:" msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤,以及崩潰對話框:" -#: ../../tutorial/tutorial-7.rst:216 778e3a366fa641df81fd69c54afe1038 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on macOS" -msgstr "Hello World 教學 7 應用程式崩潰,在 macOS 上" - -#: ../../tutorial/tutorial-7.rst:256 ../../tutorial/tutorial-7.rst:343 -#: 670da6f45ee14d4ab099eab4ef9d22fa 6fff23e2d8cc40e6a5c4f0c4e4020782 +#: docs/en/tutorial/tutorial-7.md:277 +#: docs/en/tutorial/tutorial-7.md:368 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤:" -#: ../../tutorial/tutorial-7.rst:307 8d46265283d543c4af1979f8bd1d6a43 -#, fuzzy -msgid "Hello World Tutorial 7 app crash, on Windows" -msgstr "Hello World 教學 7 應用程式崩潰,在 Windows 上" - -#: ../../tutorial/tutorial-7.rst:334 ../../tutorial/tutorial-7.rst:407 -#: d9f2add6a28048a1b742d3419e471f4a ec0ab879017b49fd835ba3c58e1525bd +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: ../../tutorial/tutorial-7.rst:417 e37adecf12b147499b84d6d0a81dcc6e +#: docs/en/tutorial/tutorial-7.md:444 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" msgstr "但是,當應用程式運行時,您會在控制台中看到錯誤:" -#: ../../tutorial/tutorial-7.rst:430 2f324c4a01894ed0b721c0c412a9cb4a -#, fuzzy -msgid "Once again, the app has failed to start because `faker` has not been installed - but why? Haven't we already installed `faker`?" -msgstr "再一次,應用程式無法啟動,因為`httpx`已安裝 - 但為什麼呢?我們不是已經安裝了`httpx`了嗎?" +#: docs/en/tutorial/tutorial-7.md:459 +msgid "" +"Once again, the app has failed to start because `faker` has not been " +"installed -but why? Haven't we already installed `faker`?" +msgstr "" -#: ../../tutorial/tutorial-7.rst:433 fb87efada5cd49ef845fd4a5ab1e8db7 +#: docs/en/tutorial/tutorial-7.md:462 #, fuzzy -msgid "We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when you explicitly activate it. Although Briefcase has a development mode, the main reason you'd use Briefcase is to package up your code so you can give it to someone else." -msgstr "我們有 - 但僅限於開發環境。您的開發環境完全位於您的電腦本機 - 並且僅在您明確啟動它時才啟用。儘管Briefcase 有開發模式,但您使用Briefcase 的主要原因是打包您的程式碼,以便提供給其他人。" +msgid "" +"We have - but only in the development environment. Your development " +"environment is entirely local to your machine - and is only enabled when you " +"explicitly activate it. Although Briefcase has a development mode, the main " +"reason you'd use Briefcase is to package up your code so you can give it to " +"someone else." +msgstr "" +"我們有 - 但僅限於開發環境。您的開發環境完全位於您的電腦本機 - " +"並且僅在您明確啟動它時才啟用。儘管Briefcase 有開發模式,但您使用Briefcase " +"的主要原因是打包您的程式碼,以便提供給其他人。" -#: ../../tutorial/tutorial-7.rst:438 5172e39e75df4448a4e86bc10c850ae4 +#: docs/en/tutorial/tutorial-7.md:468 #, fuzzy -msgid "The only way to guarantee that someone else will have a Python environment that contains everything it needs is to build a completely isolated Python environment. This means there's a completely isolated Python install, and a completely isolated set of dependencies. This is what Briefcase is building when you run `briefcase build` - an isolated Python environment. This also explains why `faker` isn't installed - it has been installed in your *development* environment, but not in the packaged app." -msgstr "確保其他人擁有一個包含其所需一切的Python環境的唯一方法是建立一個完全隔離的Python環境。這意味著有一個完全隔離的 Python 安裝和一組完全隔離的依賴項。這就是當您執行`briefcase build`時,Briefcase 正在建置的內容—一個獨立的 Python 環境。這也解釋了為什麼未安裝`httpx` - 它已安裝在您的*開發*環境中,但未安裝在打包的應用程式中。" +msgid "" +"The only way to guarantee that someone else will have a Python environment " +"that contains everything it needs is to build a completely isolated Python " +"environment. This means there's a completely isolated Python install, and a " +"completely isolated set of dependencies. This is what Briefcase is building " +"when you run `briefcase build` - an isolated Python environment. This also " +"explains why `faker` isn't installed - it has been installed in your " +"*development* environment, but not in the packaged app." +msgstr "" +"確保其他人擁有一個包含其所需一切的Python環境的唯一方法是建立一個完全隔離的Pyt" +"hon環境。這意味著有一個完全隔離的 Python " +"安裝和一組完全隔離的依賴項。這就是當您執行`briefcase build`時,Briefcase " +"正在建置的內容—一個獨立的 Python 環境。這也解釋了為什麼未安裝`httpx` - " +"它已安裝在您的*開發*環境中,但未安裝在打包的應用程式中。" -#: ../../tutorial/tutorial-7.rst:446 4b700f94f1714359932076ce06ba3687 +#: docs/en/tutorial/tutorial-7.md:477 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." msgstr "因此 - 我們需要告訴 Briefcase 我們的應用程式具有外部相依性。" -#: ../../tutorial/tutorial-7.rst:449 276e4e62ced044f6b62db178aebcd90f +#: docs/en/tutorial/tutorial-7.md:479 #, fuzzy msgid "Updating dependencies" msgstr "更新依賴項" -#: ../../tutorial/tutorial-7.rst:451 6239de13291746109c96df501f58da60 +#: docs/en/tutorial/tutorial-7.md:481 #, fuzzy -msgid "In the root directory of your app, there is a file named `pyproject.toml`. This file contains all the app configuration details that you provided when you originally ran `briefcase new`." -msgstr "在應用程式的根目錄中,有一個名為`pyproject.toml`的檔案。該檔案包含您最初執行`briefcase new`時提供的所有應用程式設定詳細資訊。" +msgid "" +"In the root directory of your app, there is a file named `pyproject.toml`. " +"This file contains all the app configuration details that you provided when " +"you originally ran `briefcase new`." +msgstr "" +"在應用程式的根目錄中,有一個名為`pyproject.toml`的檔案。該檔案包含您最初執行`" +"briefcase new`時提供的所有應用程式設定詳細資訊。" -#: ../../tutorial/tutorial-7.rst:455 47d6b648eb164a31b547218623300f6d +#: docs/en/tutorial/tutorial-7.md:485 #, fuzzy -msgid "`pyproject.toml` is broken up into sections; one of the sections describes the settings for your app:" +msgid "" +"`pyproject.toml` is broken up into sections; one of the sections describes " +"the settings for your app:" msgstr "`pyproject.toml` 被分成幾個部分;其中一節描述了您的應用程式的設定::" -#: ../../tutorial/tutorial-7.rst:466 a252902c2f9a4d9fb8f3f3374c0170d4 +#: docs/en/tutorial/tutorial-7.md:498 #, fuzzy -msgid "The `requires` option describes the dependencies of our application. It is a list of strings, specifying libraries (and, optionally, versions) of libraries that you want to be included with your app." -msgstr "`requires` 選項描述了我們應用程式的依賴關係。它是一個字串列表,指定您想要包含在應用程式中的庫(以及可選的版本)。" +msgid "" +"The `requires` option describes the dependencies of our application. It is a " +"list of strings, specifying libraries (and, optionally, versions) of " +"libraries that you want to be included with your app." +msgstr "`requires` " +"選項描述了我們應用程式的依賴關係。它是一個字串列表,指定您想要包含在應用程式" +"中的庫(以及可選的版本)。" -#: ../../tutorial/tutorial-7.rst:470 5e27f6177930468a8446e66b7f1b929f +#: docs/en/tutorial/tutorial-7.md:502 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "修改`requires`設置,使其顯示為:" -#: ../../tutorial/tutorial-7.rst:476 df60ab672c2945b68fb40a3a348e1fdb +#: docs/en/tutorial/tutorial-7.md:510 #, fuzzy -msgid "By adding this setting, we're telling Briefcase \"when you build my app, run `pip install faker` into the application bundle\". Anything that would be legal input to `pip install` can be used here - so, you could specify:" -msgstr "透過添加此設置,我們告訴 Briefcase`當您建立我的應用程式時,在應用程式包中執行`pip install httpx``。任何可以作為`pip install`合法輸入的內容都可以在這裡使用 - 因此,您可以指定:" +msgid "" +"By adding this setting, we're telling Briefcase \"when you build my app, run " +"`pip install faker` into the application bundle\". Anything that would be " +"legal input to `pip install` can be used here - so, you could specify:" +msgstr "" +"透過添加此設置,我們告訴 " +"Briefcase`當您建立我的應用程式時,在應用程式包中執行`pip install " +"httpx``。任何可以作為`pip install`合法輸入的內容都可以在這裡使用 - " +"因此,您可以指定:" -#: ../../tutorial/tutorial-7.rst:480 d905b501f787437eacde6644361c0728 +#: docs/en/tutorial/tutorial-7.md:515 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "特定的庫版本(例如`httpx==0.19.0`);" -#: ../../tutorial/tutorial-7.rst:481 22ce0f530606436f9f42e7f9b09380ba +#: docs/en/tutorial/tutorial-7.md:516 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "一系列庫版本(例如`httpx>=0.19`);" -#: ../../tutorial/tutorial-7.rst:482 d6a1f10d8d634ece9f6ea69e91bdc335 +#: docs/en/tutorial/tutorial-7.md:517 #, fuzzy -msgid "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"`); or" +msgid "" +"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" +"`); or" msgstr "git 儲存庫的路徑(例如,`\"git+https://github.com/encode/httpx\"`);或者" -#: ../../tutorial/tutorial-7.rst:484 6cecaaecf99e42308c77b334abca2429 +#: docs/en/tutorial/tutorial-7.md:519 #, fuzzy -msgid "A local file path (However - be warned: if you give your code to someone else, this path probably won't exist on their machine!)" -msgstr "本機檔案路徑(但是 - 請注意:如果您將程式碼提供給其他人,則該路徑可能不會存在於他們的電腦上!)" +msgid "" +"A local file path (However - be warned: if you give your code to someone " +"else, this path probably won't exist on their machine!)" +msgstr "本機檔案路徑(但是 - " +"請注意:如果您將程式碼提供給其他人,則該路徑可能不會存在於他們的電腦上!)" -#: ../../tutorial/tutorial-7.rst:487 16fa028aec224fdeae417206060732c3 +#: docs/en/tutorial/tutorial-7.md:522 #, fuzzy -msgid "Further down in `pyproject.toml`, you'll notice other sections that are operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and `[tool.briefcase.app.helloworld.windows]`. These sections *also* have a `requires` setting. These settings allow you to define additional platform-specific dependencies - so, for example, if you need a platform-specific library to handle some aspect of your app, you can specify that library in the platform-specific `requires` section, and that setting will only be used for that platform. You will notice that the `toga` libraries are all specified in the platform-specific `requires` section - this is because the libraries needed to display a user interface are platform specific." -msgstr "在`pyproject.toml`中,您會注意到與作業系統相關的其他部分,例如`[tool.briefcase.app.helloworld.macOS]`和`[tool.briefcase.app.helloworld`.windows]` 。這些部分*也*有一個`requires`設定。這些設定允許您定義其他特定於平台的依賴項 - 因此,例如,如果您需要特定於平台的庫來處理應用程式的某些方面,您可以在特定於平台的`requires`部分中指定該庫,並且該設定將僅用於該平台。您會注意到`toga`庫都是在特定於平台的`requires`部分中指定的 - 這是因為顯示使用者介面所需的庫是特定於平台的。" - -#: ../../tutorial/tutorial-7.rst:498 72c98c1bd8c94d9282fff5c2f44dc0a8 +msgid "" +"Further down in `pyproject.toml`, you'll notice other sections that are " +"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " +"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " +"`requires` setting. These settings allow you to define additional platform-" +"specific dependencies - so, for example, if you need a platform-specific " +"library to handle some aspect of your app, you can specify that library in " +"the platform-specific `requires` section, and that setting will only be used " +"for that platform. You will notice that the `toga` libraries are all " +"specified in the platform-specific `requires` section - this is because the " +"libraries needed to display a user interface are platform specific." +msgstr "" +"在`pyproject.toml`中,您會注意到與作業系統相關的其他部分,例如`" +"[tool.briefcase.app.helloworld.macOS]`和`" +"[tool.briefcase.app.helloworld`.windows]` " +"。這些部分*也*有一個`requires`設定。這些設定允許您定義其他特定於平台的依賴項 " +"- " +"因此,例如,如果您需要特定於平台的庫來處理應用程式的某些方面,您可以在特定於" +"平台的`requires`部分中指定該庫,並且該設定將僅用於該平台。您會注意到`toga`庫" +"都是在特定於平台的`requires`部分中指定的 - " +"這是因為顯示使用者介面所需的庫是特定於平台的。" + +#: docs/en/tutorial/tutorial-7.md:534 #, fuzzy -msgid "In our case, we want `faker` to be installed on all platforms, so we use the app-level `requires` setting. The app-level dependencies will always be installed; the platform-specific dependencies are installed *in addition* to the app-level ones." -msgstr "在我們的例子中,我們希望在所有平台上安裝`httpx`,因此我們使用應用程式層級`requires`設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會安裝特定於平台的依賴項。" +msgid "" +"In our case, we want `faker` to be installed on all platforms, so we use the " +"app-level `requires` setting. The app-level dependencies will always be " +"installed; the platform-specific dependencies are installed *in addition* to " +"the app-level ones." +msgstr "" +"在我們的例子中,我們希望在所有平台上安裝`httpx`,因此我們使用應用程式層級`req" +"uires`設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會" +"安裝特定於平台的依賴項。" -#: ../../tutorial/tutorial-7.rst:503 a8e67eb88ee04c0aaf84bb4211b60001 +#: docs/en/tutorial/tutorial-7.md:539 #, fuzzy -msgid "Now that we've told Briefcase about our additional requirements, we can try packaging our app again. Ensure that you've saved your changes to `pyproject.toml`, and then update your app again - this time, passing in the `-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "現在我們已經告訴 Briefcase 我們的附加要求,我們可以嘗試再次打包我們的應用程式。確保您已將變更儲存到`pyproject.toml`,然後再次更新您的應用程式 - 這次傳入`-r`標誌。這告訴 Briefcase 更新打包應用程式中的要求:" +msgid "" +"Now that we've told Briefcase about our additional requirements, we can try " +"packaging our app again. Ensure that you've saved your changes to " +"`pyproject.toml`, and then update your app again - this time, passing in the " +"`-r` flag. This tells Briefcase to update requirements in the packaged app:" +msgstr "" +"現在我們已經告訴 Briefcase " +"我們的附加要求,我們可以嘗試再次打包我們的應用程式。確保您已將變更儲存到`pypr" +"oject.toml`,然後再次更新您的應用程式 - 這次傳入`-r`標誌。這告訴 Briefcase " +"更新打包應用程式中的要求:" -#: ../../tutorial/tutorial-7.rst:618 53dd1d14388a4b14aabb32571881b24e +#: docs/en/tutorial/tutorial-7.md:663 #, fuzzy -msgid "Once you've updated, you can run `briefcase build` and `briefcase run` - and you should see your packaged app, with the new dialog behavior." -msgstr "更新後,您可以運行`briefcase build`和`briefcase run` - 您應該會看到打包的應用程序,具有新的對話框行為。" +msgid "" +"Once you've updated, you can run `briefcase build` and `briefcase run` - and " +"you should see your packaged app, with the new dialog behavior." +msgstr "更新後,您可以運行`briefcase build`和`briefcase run` - " +"您應該會看到打包的應用程序,具有新的對話框行為。" + +#: docs/en/tutorial/tutorial-7.md:666 +msgid "/// note | Note" +msgstr "" -#: ../../tutorial/tutorial-7.rst:623 212ecdb25e7f44bfafcccfad3278b595 +#: docs/en/tutorial/tutorial-7.md:668 #, fuzzy -msgid "The `-r` option for updating requirements is also honored by the `build` and `run` command, so if you want to update, build, and run in one step, you could use `briefcase run -u -r`." -msgstr "用於更新需求的`-r`選項也受到`build`和`run`命令的支持,因此如果您想一步更新、構建和運行,您可以使用`briefcase`運行-u -r`。" +msgid "" +"The `-r` option for updating requirements is also honored by the `build` and " +"`run` command, so if you want to update, build, and run in one step, you " +"could use `briefcase run -u -r`." +msgstr "" +"用於更新需求的`-r`選項也受到`build`和`run`命令的支持,因此如果您想一步更新、" +"構建和運行,您可以使用`briefcase`運行-u -r`。" -#: ../../tutorial/tutorial-7.rst:628 82cc25257ce64cdca51f7004bca9ad26 +#: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: ../../tutorial/tutorial-7.rst:630 d5316114365040f186e92d31241ce51d -msgid "Faker is just one example of a third-party Python package - a collection of code that isn't part what Python provides out of the box. These third-party packages are most commonly distributed using the [Python Package Index (PyPI)]{1}, and installed into your local virtual environment. We've been using `pip` in this tutorial, but there are other options." +#: docs/en/tutorial/tutorial-7.md:676 +msgid "" +"Faker is just one example of a third-party Python package - a collection of " +"code that isn't part what Python provides out of the box. These third-party " +"packages are most commonly distributed using the " +"[Python Package Index (PyPI)]{1}, and installed into your local virtual " +"environment. We've been using `pip` in this tutorial, but there are other " +"options." msgstr "" -#: ../../tutorial/tutorial-7.rst:636 c7390312cc7e4283b3c4fdd7c0fd2b1e +#: docs/en/tutorial/tutorial-7.md:683 #, fuzzy -msgid "On desktop platforms (macOS, Windows, Linux), essentially any package on PyPI package can be installed into your virtual environment, or added to your app's requirements. However, when building an app for mobile or web platforms, [your options are slightly limited]{1}." -msgstr "在桌面平台(macOS、Windows、Linux)上,任何可安裝的`pip`都可以加入您的需求。在行動和網路平台上,[您的選擇略有限制]{1}。" +msgid "" +"On desktop platforms (macOS, Windows, Linux), essentially any package on " +"PyPI package can be installed into your virtual environment, or added to " +"your app's requirements. However, when building an app for mobile or web " +"platforms, [your options are slightly limited]{1}." +msgstr "" +"在桌面平台(macOS、Windows、Linux)上,任何可安裝的`pip`都可以加入您的需求。" +"在行動和網路平台上,[您的選擇略有限制]{1}。" -#: ../../tutorial/tutorial-7.rst:642 664dfce986f0485ca7eca4f9faf582a6 -msgid "In short; any *pure Python* package (i.e. any package created from a project written *only* in Python) can be used without difficulty. Some packages, though, are created from projects that contain both Python and other languages (e.g. C, C++, Rust, etc). Code written in those languages needs to be compiled to platform-specific binary modules before it can be used, and those pre-compiled binary modules are only available on specific platforms. Mobile and web platforms have very different requirements than \"standard\" desktop platforms. At this time, most Python packages don't provide pre-compiled binaries for mobile and web platforms." +#: docs/en/tutorial/tutorial-7.md:689 +msgid "" +"In short; any *pure Python* package (i.e. any package created from a project " +"written *only* in Python) can be used without difficulty. Some packages, " +"though, are created from projects that contain both Python and other " +"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " +"be compiled to platform-specific binary modules before it can be used, and " +"those pre-compiled binary modules are only available on specific platforms. " +"Mobile and web platforms have very different requirements than \"standard\" " +"desktop platforms. At this time, most Python packages don't provide pre-" +"compiled binaries for mobile and web platforms." msgstr "" -#: ../../tutorial/tutorial-7.rst:652 354416bc40b2413db2c9a8eaf1631a1a -msgid "On PyPI, packages are often provided in a pre-built distribution format called *wheels*. To check whether a package is pure Python, look at the PyPI downloads page for the project. If the wheels provided have a `-py3-none-any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. However, if the wheels have version and platform-specific extensions (e.g., [Pillow]{2}, which has wheels with suffixes like `-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then the wheel *contains a binary component*. That package cannot be installed on mobile or web platforms unless a wheel compatible with those platforms has been provided." +#: docs/en/tutorial/tutorial-7.md:700 +msgid "" +"On PyPI, packages are often provided in a pre-built distribution format " +"called *wheels*. To check whether a package is pure Python, look at the PyPI " +"downloads page for the project. If the wheels provided have a `-py3-none-" +"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " +"However, if the wheels have version and platform-specific extensions (e.g., " +"[Pillow]{2}, which has wheels with suffixes like " +"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " +"the wheel *contains a binary component*. That package cannot be installed on " +"mobile or web platforms unless a wheel compatible with those platforms has " +"been provided." msgstr "" -#: ../../tutorial/tutorial-7.rst:663 c5f2d43782ff42209897812761170c9d -msgid "At this time, *most* binary packages on PyPI don't provide mobile- or web-compatible wheels. To fill this gap, BeeWare provides binaries for some popular binary modules (including `numpy`, `pandas`, and `cryptography`). These wheels are *not* distributed on PyPI, but Briefcase will install those wheels if they're available." +#: docs/en/tutorial/tutorial-7.md:713 +msgid "" +"At this time, *most* binary packages on PyPI don't provide mobile- or web-" +"compatible wheels. To fill this gap, BeeWare provides binaries for some " +"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " +"These wheels are *not* distributed on PyPI, but Briefcase will install those " +"wheels if they're available." msgstr "" -#: ../../tutorial/tutorial-7.rst:669 e7bb35e7d20f4070b8ab1240b0eb5bb7 +#: docs/en/tutorial/tutorial-7.md:719 #, fuzzy -msgid "It's *usually* possible to compile binary packages for mobile platforms, but it's not easy to set up -- well outside the scope of an introductory tutorial like this one." -msgstr "BeeWare 可以為一些流行的二進位模組(包括`numpy`、`pandas`和`cryptography`)提供二進位檔案。 *通常* 可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹性教程的範圍。" +msgid "" +"It's *usually* possible to compile binary packages for mobile platforms, but " +"it's not easy to set up -- well outside the scope of an introductory " +"tutorial like this one." +msgstr "" +"BeeWare " +"可以為一些流行的二進位模組(包括`numpy`、`pandas`和`cryptography`)提供二進位" +"檔案。 *通常* " +"可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹" +"性教程的範圍。" -#: ../../tutorial/tutorial-7.rst:674 8a7f7a9286f24bd885b5bd817922e866 +#: docs/en/tutorial/tutorial-7.md:723 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-7.rst:676 86a6c33a637747cba0140da79aa603cf -msgid "We've now got an app that uses a third-party library! In [Tutorial 8][tutorial-8] we'll learn how to ensure our app remains responsive as we add more complex application logic." +#: docs/en/tutorial/tutorial-7.md:725 +msgid "" +"We've now got an app that uses a third-party library! In [Tutorial 8]" +"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " +"more complex application logic." msgstr "" -#~ msgid "Accessing an API" -#~ msgstr "存取 API" - -#~ msgid "A common task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data." -#~ msgstr "應用程式需要執行的常見任務是在 Web API 上發出請求以檢索數據,並向使用者顯示該數據。這是一個玩具應用程序,因此我們沒有*真正的* API 可供使用,因此我們將使用 [{JSON} Placeholder API]{1} 作為來源資料。" - -#~ msgid "The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{1} content for a blog post with ID 42." -#~ msgstr "{JSON} Placeholder API 有許多`假`API 端點,您可以將其用作測試資料。這些 API 之一是`/posts/`端點,它會傳回虛假的部落格文章。如果您在瀏覽器中開啟 `https://jsonplaceholder.typicode.com/posts/42`,您將獲得一個描述單一貼文的 JSON 有效負載 - 一些 [Lorum ipsum]{1} ID 為42 的部落格文章的內容。" - -#~ msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages these details for you." -#~ msgstr "Python 標準函式庫包含存取 API 所需的所有工具。然而,內建的 API 等級非常低。它們是 HTTP 協定的良好實作 - 但它們要求使用者管理大量低階細節,例如 URL 重新導向、會話、驗證和有效負載編碼。作為`普通瀏覽器用戶`,您可能習慣於將這些詳細資訊視為理所當然,因為瀏覽器會為您管理這些詳細資訊。" - -#~ msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}." -#~ msgstr "因此,人們開發了第三方函式庫來包裝內建 API,並提供更簡單的 API,更適合日常瀏覽器體驗。我們將使用其中一個函式庫來存取 {JSON} Placeholder API - 一個名為 [httpx]{1} 的函式庫。" - -#~ msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" -#~ msgstr "這將更改`say_hello()`回調,以便在調用它時,它將:" - -#~ msgid "make a GET request on the JSON placeholder API to obtain post 42;" -#~ msgstr "對 JSON 佔位符 API 發出 GET 請求以取得 post 42;" - -#~ msgid "decode the response as JSON;" -#~ msgstr "將回應解碼為 JSON;" - -#~ msgid "extract the body of the post; and" -#~ msgstr "擷取貼文內文;和" - -#~ msgid "include the body of that post as the text of the dialog." -#~ msgstr "包括該帖子的正文作為對話框的文字。" - -#~ msgid "Some binary packages may not be available" -#~ msgstr "某些二進位套件可能不可用" - -#~ msgid "In short; any *pure Python* package (i.e., packages that do *not* contain a binary module) can be used without difficulty. However, if your dependency contains a binary component, it must be compiled; at this time, most Python packages don't provide compilation support for non-desktop platforms." -#~ msgstr "簡而言之;任何 *純Python* 套件(即,*不* 包含二進位模組的套件)都可以毫無困難地使用。但是,如果您的依賴項包含二進位元件,則必須對其進行編譯;目前,大多數Python套件不提供非桌面平台的編譯支援。" - -#~ msgid "We've now got an app that uses a third-party library! However, you may have noticed that when you press the button, the app becomes a little unresponsive. Can we do anything to fix this? Turn to [Tutorial 8][tutorial-8] to find out..." -#~ msgstr "我們現在有了一個使用第三方函式庫的應用程式!但是,您可能已經注意到,當您按下按鈕時,應用程式變得有點無響應。我們能做些什麼來解決這個問題嗎?前往 [教學 8][tutorial-8] 找出..." - +#~ msgid "Tutorial 7 - Get this (third-)party started" +#~ msgstr "教學 7 - 啟動此(第三方)" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po index 19a33e8b..22881af9 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po @@ -1,355 +1,530 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2024, Russell Keith-Magee -# This file is distributed under the same license as the BeeWare package. -# FIRST AUTHOR , 2024. -# msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-06-20 03:05+0000\n" +"POT-Creation-Date: 2025-08-14 23:09-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" -"Language: zh_TW\n" -"Language-Team: Chinese (Traditional) \n" -"Plural-Forms: nplurals=1; plural=0;\n" +"Language-Team: Chinese (Traditional) \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=utf-8\n" +"Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Generated-By: Babel 2.17.0\n" +"X-Generator: Translate Toolkit 3.15.6\n" -#: ../../tutorial/tutorial-8.rst:3 b1689e63416f4e61aba215b32db4991e -msgid "Tutorial 8 - Making it Smooooth" -msgstr "教學 8 - 使其順~暢" +#: docs/en/tutorial/tutorial-8.md:1 +msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgstr "" -#: ../../tutorial/tutorial-8.rst:5 60ce8689055e4505b9dfff38a93aedb0 -msgid "So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in a dialog. All these operations happen very quickly, and our application remains responsive." +#: docs/en/tutorial/tutorial-8.md:3 +msgid "" +"So far, our application has been relatively simple - displaying GUI widgets, " +"calling a simple third-party library, and displaying output in a dialog. All " +"these operations happen very quickly, and our application remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:9 def48992065e45a9a6c9c713af3bdeb9 -msgid "However, in a real world application, we'll need to perform complex tasks or calculations that may take a while to complete - and as those tasks are performed, we want our application to remain responsive. Let's make a change to our application that might take a little time to complete, and see the changes that need to be made to accommodate that behavior." +#: docs/en/tutorial/tutorial-8.md:8 +msgid "" +"However, in a real world application, we'll need to perform complex tasks or " +"calculations that may take a while to complete - and as those tasks are " +"performed, we want our application to remain responsive. Let's make a change " +"to our application that might take a little time to complete, and see the " +"changes that need to be made to accommodate that behavior." msgstr "" -#: ../../tutorial/tutorial-8.rst:16 59ff29e32c51447cb20994c95cfa3358 +#: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" msgstr "" -#: ../../tutorial/tutorial-8.rst:18 6be29a72db2a479eb50033faedb95d58 -msgid "A common time-consuming task an app will need to perform is to make a request on a web API to retrieve data, and display that data to the user. Web APIs sometimes take a second or two to respond, so if we're calling an API like that, we need to ensure our application doesn't become unresponsive while we wait for the web API to return an answer." +#: docs/en/tutorial/tutorial-8.md:17 +msgid "" +"A common time-consuming task an app will need to perform is to make a " +"request on a web API to retrieve data, and display that data to the user. " +"Web APIs sometimes take a second or two to respond, so if we're calling an " +"API like that, we need to ensure our application doesn't become unresponsive " +"while we wait for the web API to return an answer." msgstr "" -#: ../../tutorial/tutorial-8.rst:24 acb20408415546809557dfd20d2d8170 -#, python-brace-format -msgid "This is a toy app, so we don't have a *real* API to work with, so we'll use the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder API has a number of \"fake\" API endpoints you can use as test data. One of those APIs is the `/posts/` endpoint, which returns fake blog posts. If you open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll get a JSON payload describing a single post - some [Lorum ipsum]{2} content for a blog post with ID 42." +#: docs/en/tutorial/tutorial-8.md:23 +msgid "" +"This is a toy app, so we don't have a *real* API to work with, so we'll use " +"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " +"API has a number of \"fake\" API endpoints you can use as test data. One of " +"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " +"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " +"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " +"for a blog post with ID 42." msgstr "" -#: ../../tutorial/tutorial-8.rst:33 07fb48b1c1634b7fb3632c18296abdd0 -msgid "The Python standard library contains all the tools you'd need to access an API. However, the built-in APIs are very low level. They are good implementations of the HTTP protocol - but they require the user to manage lots of low-level details, like URL redirection, sessions, authentication, and payload encoding. As a \"normal browser user\" you're probably used to taking these details for granted, as a browser manages them for you." +#: docs/en/tutorial/tutorial-8.md:33 +msgid "" +"The Python standard library contains all the tools you'd need to access an " +"API. However, the built-in APIs are very low level. They are good " +"implementations of the HTTP protocol - but they require the user to manage " +"lots of low-level details, like URL redirection, sessions, authentication, " +"and payload encoding. As a \"normal browser user\" you're probably used to " +"taking these details for granted, as a browser manages them for you." msgstr "" -#: ../../tutorial/tutorial-8.rst:40 dbfddab06194490daaaa0ad1436de616 -#, python-brace-format -msgid "As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` internally, so it's already in your local environment - you don't need to install it separately to use it here." +#: docs/en/tutorial/tutorial-8.md:41 +msgid "" +"As a result, people have developed third-party libraries that wrap the built-" +"in APIs and provide a simpler API that is a closer match for the everyday " +"browser experience. We're going to use one of those libraries to access the " +"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " +"internally, so it's already in your local environment -you don't need to " +"install it separately to use it here." msgstr "" -#: ../../tutorial/tutorial-8.rst:47 25c51cbce676490cb25c4bda2089e742 -msgid "Let's add a `httpx` API call to our app. Modify the `requires` setting in our `pyproject.toml` to include the new requirement:" +#: docs/en/tutorial/tutorial-8.md:49 +msgid "" +"Let's add a `httpx` API call to our app. Modify the `requires` setting in " +"our `pyproject.toml` to include the new requirement:" msgstr "" -#: ../../tutorial/tutorial-8.rst:55 306ea0473ef7497383041187fff0746f +#: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" -#: ../../tutorial/tutorial-8.rst:59 bd9eb23b362140ad980523b5320086b4 +#: docs/en/tutorial/tutorial-8.md:65 #, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" -#: ../../tutorial/tutorial-8.rst:75 675e0aac0a6745559e106be7c4622700 -msgid "This will change the `say_hello()` callback so that when it is invoked, it will:" +#: docs/en/tutorial/tutorial-8.md:83 +msgid "" +"This will change the `say_hello()` callback so that when it is invoked, it " +"will:" msgstr "" -#: ../../tutorial/tutorial-8.rst:78 2107978ba74849eb9389462a501f068c +#: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" -#: ../../tutorial/tutorial-8.rst:80 b930d3d8878b41399d43954b5e7ed903 +#: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" msgstr "" -#: ../../tutorial/tutorial-8.rst:82 afd6c0ecb21746eeb945317ae5e8b133 +#: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:84 4dd031c454e2476aa14332117709ebc8 -msgid "include the body of that post as the text of the \"message\" dialog, in place of the text generated by Faker." -msgstr "" - -#: ../../tutorial/tutorial-8.rst:87 9255123df77543aa90f0abd0425b7f49 -msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked. As we've added a new requirement, we need to tell developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: ../../tutorial/tutorial-8.rst:93 ../../tutorial/tutorial-8.rst:310 -#: 92d8d712264c45dcacf2bcac9896ab2e e3d4f6fd73bf407aac498d868ce3a436 -msgid "macOS" +#: docs/en/tutorial/tutorial-8.md:89 +msgid "" +"include the body of that post as the text of the \"message\" dialog, in " +"place of the text generated by Faker." msgstr "" -#: ../../tutorial/tutorial-8.rst:104 ../../tutorial/tutorial-8.rst:122 -#: ../../tutorial/tutorial-8.rst:140 5eef7785507445d9980e574ccab4c603 -#: c410861bd98a4dd7b4593ac595d2daa9 ccc2e56770cc4e8f874df9f6ac9d0a77 -msgid "When you enter a name and press the button, you should see a dialog that looks something like:" +#: docs/en/tutorial/tutorial-8.md:92 +msgid "" +"Lets run our updated app in Briefcase developer mode to check that our " +"change has worked. As we've added a new requirement, we need to tell " +"developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" -#: ../../tutorial/tutorial-8.rst:107 dcb064381dc4437a8443100c0deb897f -msgid "Hello World Tutorial 8 dialog, on macOS" +#: docs/en/tutorial/tutorial-8.md:96 +#: docs/en/tutorial/tutorial-8.md:326 +msgid "/// tab | macOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:111 ../../tutorial/tutorial-8.rst:316 -#: 1b5916775bd242d5a02cbb9b7e7261b2 fc842257ea5d45ab8e3869bfd9b87546 -msgid "Linux" +#: docs/en/tutorial/tutorial-8.md:107 +#: docs/en/tutorial/tutorial-8.md:127 +#: docs/en/tutorial/tutorial-8.md:147 +msgid "" +"When you enter a name and press the button, you should see a dialog that " +"looks something like:" msgstr "" -#: ../../tutorial/tutorial-8.rst:125 69c3b2f011b644c3a1c1c0ef94579a39 -msgid "Hello World Tutorial 8 dialog, on Linux" +#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:134 +#: docs/en/tutorial/tutorial-8.md:154 +#: docs/en/tutorial/tutorial-8.md:161 +#: docs/en/tutorial/tutorial-8.md:168 +#: docs/en/tutorial/tutorial-8.md:332 +#: docs/en/tutorial/tutorial-8.md:340 +#: docs/en/tutorial/tutorial-8.md:348 +#: docs/en/tutorial/tutorial-8.md:356 +#: docs/en/tutorial/tutorial-8.md:364 +msgid "///" msgstr "" -#: ../../tutorial/tutorial-8.rst:129 ../../tutorial/tutorial-8.rst:322 -#: 017bc657a82b4e86b64b843b51bbe300 237f577be73d4d5bb8448fb2ef0fe215 -msgid "Windows" +#: docs/en/tutorial/tutorial-8.md:116 +#: docs/en/tutorial/tutorial-8.md:334 +msgid "/// tab | Linux" msgstr "" -#: ../../tutorial/tutorial-8.rst:143 fa70419b9c4046f591c2f5e8b5c00247 -msgid "Hello World Tutorial 8 dialog, on Windows" +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:342 +msgid "/// tab | Windows" msgstr "" -#: ../../tutorial/tutorial-8.rst:147 ../../tutorial/tutorial-8.rst:328 -#: 1074fc6286a24443924459f92b8b071a dddf0236eda34f348f49cc98b22c410e -msgid "Android" +#: docs/en/tutorial/tutorial-8.md:156 +#: docs/en/tutorial/tutorial-8.md:350 +msgid "/// tab | Android" msgstr "" -#: ../../tutorial/tutorial-8.rst:149 b8a27fbd65d943759756fe4c99527e9e -msgid "You can't run an Android app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:158 +msgid "" +"You can't run an Android app in developer mode - use the instructions for " +"your chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:152 ../../tutorial/tutorial-8.rst:334 -#: ac0d0263849c4df0ad0f8049723abaa5 ce4f41f74cd34d25a591bed5384c3f41 -msgid "iOS" +#: docs/en/tutorial/tutorial-8.md:163 +#: docs/en/tutorial/tutorial-8.md:358 +msgid "/// tab | iOS" msgstr "" -#: ../../tutorial/tutorial-8.rst:154 f28ead41cadd4430986981fd5fecf1b5 -msgid "You can't run an iOS app in developer mode - use the instructions for your chosen desktop platform." +#: docs/en/tutorial/tutorial-8.md:165 +msgid "" +"You can't run an iOS app in developer mode - use the instructions for your " +"chosen desktop platform." msgstr "" -#: ../../tutorial/tutorial-8.rst:157 992bc85c93da4d71af5b6c9bc726dcc0 -msgid "Unless you've got a *really* fast internet connection, you may notice that when you press the button, the GUI for your app locks up for a little bit. The operating system may even manifest this with a \"beachball\" or \"spinner\" cursor to indicate that the app is being unresponsive." +#: docs/en/tutorial/tutorial-8.md:170 +msgid "" +"Unless you've got a *really* fast internet connection, you may notice that " +"when you press the button, the GUI for your app locks up for a little bit. " +"The operating system may even manifest this with a \"beachball\" or " +"\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:162 ae2274cecc81449685c43df15b609d1d +#: docs/en/tutorial/tutorial-8.md:176 #, fuzzy -msgid "This is because the web request we have made is *synchronous*. When our application makes the web request, it waits for the API to return a response before continuing. While it's waiting, it *isn't* allowing the application to redraw - and as a result, the application locks up." -msgstr "除非您擁有 **真正** 快速的網路連接,否則您可能會注意到,當您按下按鈕時,應用程式的 GUI 會鎖定一點。這是因為我們發出的 Web 請求是 **同步** 的。當我們的應用程式發出 Web 請求時,它會等待 API 回傳回應,然後再繼續。在等待時,它 **不允許** 應用程式重繪 - 結果,應用程式停止回應。" - -#: ../../tutorial/tutorial-8.rst:168 32a6046e79f146da8c56afb8c4d7edfe +msgid "" +"This is because the web request we have made is *synchronous*. When our " +"application makes the web request, it waits for the API to return a response " +"before continuing. While it's waiting, it *isn't* allowing the application " +"to redraw - and as a result, the application locks up." +msgstr "" +"除非您擁有 **真正** 快速的網路連接,否則您可能會注意到,當您按下按鈕時," +"應用程式的 GUI 會鎖定一點。這是因為我們發出的 Web 請求是 **同步** 的。" +"當我們的應用程式發出 Web 請求時,它會等待 API " +"回傳回應,然後再繼續。在等待時,它 **不允許** 應用程式重繪 - " +"結果,應用程式停止回應。" + +#: docs/en/tutorial/tutorial-8.md:181 msgid "GUI Event Loops" msgstr "GUI 事件循環(Event loop)" -#: ../../tutorial/tutorial-8.rst:170 da5e5c447d7549a49c4e0dc98877d0c0 -msgid "To understand why this happens, we need to dig into the details of how a GUI application works. The specifics vary depending on the platform; but the high level concepts are the same, no matter the platform or GUI environment you're using." -msgstr "為了理解為什麼會發生這種情況,我們需要深入研究 GUI 應用程式如何運作的細節。具體情況因平台而異;但無論您使用什麼平台或 GUI 環境,概念都是相同的。" +#: docs/en/tutorial/tutorial-8.md:183 +msgid "" +"To understand why this happens, we need to dig into the details of how a GUI " +"application works. The specifics vary depending on the platform; but the " +"high level concepts are the same, no matter the platform or GUI environment " +"you're using." +msgstr "" +"為了理解為什麼會發生這種情況,我們需要深入研究 GUI " +"應用程式如何運作的細節。具體情況因平台而異;但無論您使用什麼平台或 GUI " +"環境,概念都是相同的。" -#: ../../tutorial/tutorial-8.rst:175 649d74f3ab094b148c545acc45ce2ad0 +#: docs/en/tutorial/tutorial-8.md:188 msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "從根本上來說,GUI 應用程式是一個看起來像這樣的循環:" -#: ../../tutorial/tutorial-8.rst:181 a26526f3f9084ed1a78ccf47800fd9a6 +#: docs/en/tutorial/tutorial-8.md:196 #, fuzzy -msgid "This loop is called the *Event Loop*. (These aren't actual method names - it's an illustration of what is going on using \"pseudo-code\")." -msgstr "此循環稱為 *事件循環* 。 (這些不是實際的方法名稱 - 它是 `偽代碼` 中發生的情況的說明)。" - -#: ../../tutorial/tutorial-8.rst:184 5eb87c1e833e47d0922daf24845fbcc0 -msgid "When you click on a button, or drag a scroll bar, or type a key, you are generating an \"event\". That \"event\" is put onto a queue, and the app will process the queue of events when it next has the opportunity to do so. The user code that is triggered in response to the event is called an *event handler*. These event handlers are invoked as part of the `process_events()` call." -msgstr "當您按一下按鈕、拖曳捲軸或按下按鍵時,代表你產生一個 `事件` 。該 `事件` 被放入佇列中,應用程式將在下次有機會處理事件佇列時處理該事件。響應事件而觸發的程式碼稱為 `event handler` 。這些事件處理程序作為 `process_events()` 呼叫的一部分被呼叫。" - -#: ../../tutorial/tutorial-8.rst:190 0598acbc43aa430baa2be0bca1f07478 -msgid "Once an app has processed all the available events, it will `redraw()` the GUI. This takes into account any changes that the events have caused to the display of the app, as well as anything else that is going on in the operating system - for example, the windows of another app may obscure or reveal part of our app's window, and our app's redraw will need to reflect the portion of the window that is currently visible." -msgstr "一旦應用程式處理完所有可用事件,它將 `redraw()` GUI。這考慮了事件對應用程式顯示造成的任何變化,以及作業系統中發生的任何其他變化 - 例如,另一個應用程式的視窗可能會遮蓋或顯示我們應用程式視窗的一部分,我們的應用程式的重繪需要反映目前可見的視窗部分。" - -#: ../../tutorial/tutorial-8.rst:197 d5e43398c67e47ca95973dcf31635b89 -msgid "The important detail to notice: while an application is processing an event, *it can't redraw*, and *it can't process other events*." -msgstr "需要注意的重要細節:當應用程式正在處理事件時, *它無法重繪* ,並且 *它無法處理其他事件* 。" - -#: ../../tutorial/tutorial-8.rst:200 215351528a334ac09cb30653fb52cf51 -msgid "This means any user logic contained in an event handler needs to complete quickly. Any delay in completing the event handler will be observed by the user as a slowdown (or stop) in GUI updates. If this delay is long enough, your operating system may report this as a problem - the macOS \"beachball\" and Windows \"spinner\" icons are the operating system telling you that your app is taking too long in an event handler." -msgstr "這意味著事件處理程序中包含的任何使用者邏輯都需要快速完成。使用者將觀察到完成事件處理程序的任何延遲,因為 GUI 更新速度會減慢(或停止)。如果延遲足夠長,您的作業系統可能會將此報告為問題 - macOS `beachball` 和 Windows `spinner` 圖示是作業系統告訴您您的應用程式在事件處理程序中花費的時間太長。" +msgid "" +"This loop is called the *Event Loop*. (These aren't actual method names - " +"it's an illustration of what is going on using \"pseudo-code\")." +msgstr "此循環稱為 *事件循環* 。 (這些不是實際的方法名稱 - 它是 `偽代碼` " +"中發生的情況的說明)。" -#: ../../tutorial/tutorial-8.rst:207 55768f2f769b4be7a98c2614da04383d -msgid "Simple operations like \"update a label\", or \"recompute the total of the inputs\" are easy to complete quickly. However, there are a lot of operations that can't be completed quickly. If you're performing a complex mathematical calculation, or indexing all the files on a file system, or performing a large network request, you can't \"just do it quickly\" - the operations are inherently slow." -msgstr "`更新標籤` 或 `重新計算輸入總數` 等簡單操作很容易快速完成。然而,有許多操作無法快速完成。如果您正在執行複雜的數學計算,或對檔案系統上的所有檔案進行索引,或執行網路請求,則您無法 `快速完成` - 那些操作本質上很慢。" +#: docs/en/tutorial/tutorial-8.md:199 +msgid "" +"When you click on a button, or drag a scroll bar, or type a key, you are " +"generating an \"event\". That \"event\" is put onto a queue, and the app " +"will process the queue of events when it next has the opportunity to do so. " +"The user code that is triggered in response to the event is called an *event " +"handler*. These event handlers are invoked as part of the `process_events()` " +"call." +msgstr "" +"當您按一下按鈕、拖曳捲軸或按下按鍵時,代表你產生一個 `事件` 。該 `事件` " +"被放入佇列中,應用程式將在下次有機會處理事件佇列時處理該事件。" +"響應事件而觸發的程式碼稱為 `event handler` 。這些事件處理程序作為 " +"`process_events()` 呼叫的一部分被呼叫。" + +#: docs/en/tutorial/tutorial-8.md:206 +msgid "" +"Once an app has processed all the available events, it will `redraw()` the " +"GUI. This takes into account any changes that the events have caused to the " +"display of the app, as well as anything else that is going on in the " +"operating system - for example, the windows of another app may obscure or " +"reveal part of our app's window, and our app's redraw will need to reflect " +"the portion of the window that is currently visible." +msgstr "" +"一旦應用程式處理完所有可用事件,它將 `redraw()` " +"GUI。這考慮了事件對應用程式顯示造成的任何變化," +"以及作業系統中發生的任何其他變化 - " +"例如,另一個應用程式的視窗可能會遮蓋或顯示我們應用程式視窗的一部分,我們的應" +"用程式的重繪需要反映目前可見的視窗部分。" + +#: docs/en/tutorial/tutorial-8.md:213 +msgid "" +"The important detail to notice: while an application is processing an event, " +"*it can't redraw*, and *it can't process other events*." +msgstr "需要注意的重要細節:當應用程式正在處理事件時, *它無法重繪* ,並且 " +"*它無法處理其他事件* 。" -#: ../../tutorial/tutorial-8.rst:213 48ce23e413434446bdb68a1c25e898d7 +#: docs/en/tutorial/tutorial-8.md:216 +msgid "" +"This means any user logic contained in an event handler needs to complete " +"quickly. Any delay in completing the event handler will be observed by the " +"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " +"your operating system may report this as a problem - the macOS \"beachball\" " +"and Windows \"spinner\" icons are the operating system telling you that your " +"app is taking too long in an event handler." +msgstr "" +"這意味著事件處理程序中包含的任何使用者邏輯都需要快速完成。使用者將觀察到完成" +"事件處理程序的任何延遲,因為 GUI 更新速度會減慢(或停止)。如果延遲足夠長," +"您的作業系統可能會將此報告為問題 - macOS `beachball` 和 Windows `spinner` " +"圖示是作業系統告訴您您的應用程式在事件處理程序中花費的時間太長。" + +#: docs/en/tutorial/tutorial-8.md:224 +msgid "" +"Simple operations like \"update a label\", or " +"\"recompute the total of the inputs\" are easy to complete quickly. However, " +"there are a lot of operations that can't be completed quickly. If you're " +"performing a complex mathematical calculation, or indexing all the files on " +"a file system, or performing a large network request, you can't " +"\"just do it quickly\" - the operations are inherently slow." +msgstr "" +"`更新標籤` 或 `重新計算輸入總數` " +"等簡單操作很容易快速完成。然而,有許多操作無法快速完成。如果您正在執行複雜的" +"數學計算,或對檔案系統上的所有檔案進行索引,或執行網路請求,則您無法 " +"`快速完成` - 那些操作本質上很慢。" + +#: docs/en/tutorial/tutorial-8.md:231 msgid "So - how do we perform long-lived operations in a GUI application?" msgstr "那麼,我們如何在 GUI 應用程式中執行耗時的操作呢?" -#: ../../tutorial/tutorial-8.rst:216 54b6c42eb4344624961744f197e9a69d +#: docs/en/tutorial/tutorial-8.md:233 msgid "Asynchronous programming" msgstr "非同步程式設計" -#: ../../tutorial/tutorial-8.rst:218 ca6642c60bf444eea2ad6c3354ef2f9a -msgid "What we need is a way to tell an app in the middle of a long-lived event handler that it is OK to temporarily release control back to the event loop, as long as we can resume where we left off. It's up to the app to determine when this release can occur; but if the app releases control to the event loop regularly, we can have a long-running event handler *and* maintain a responsive UI." -msgstr "我們需要的是一種方法讓耗時的event handler執行時告訴應用程序,只要可以從中斷的地方恢復,就可以暫時將控制權釋放回事件循環。由應用程式決定何時釋放它;但如果應用程式定期釋放對事件循環的控制,我們就可以擁有一個長時間運行的事件處理程序 *並* 維護一個響應式 UI。" - -#: ../../tutorial/tutorial-8.rst:224 879ec0f793ee44f2a5fbac2f0f640ae7 -msgid "We can do this by using *asynchronous programming*. Asynchronous programming is a way to describe a program that allows the interpreter to run multiple functions at the same time, sharing resources between all the concurrently running functions." -msgstr "我們可以透過使用 `非同步程式設計` 來做到這一點。非同步程式設計是一種描述程式的方式,允許解釋器同時運行多個函數,在所有並發運行的函數之間共用資源。" +#: docs/en/tutorial/tutorial-8.md:235 +msgid "" +"What we need is a way to tell an app in the middle of a long-lived event " +"handler that it is OK to temporarily release control back to the event loop, " +"as long as we can resume where we left off. It's up to the app to determine " +"when this release can occur; but if the app releases control to the event " +"loop regularly, we can have a long-running event handler *and* maintain a " +"responsive UI." +msgstr "" +"我們需要的是一種方法讓耗時的event " +"handler執行時告訴應用程序,只要可以從中斷的地方恢復,就可以暫時將控制權釋放回" +"事件循環。由應用程式決定何時釋放它;但如果應用程式定期釋放對事件循環的控制," +"我們就可以擁有一個長時間運行的事件處理程序 *並* 維護一個響應式 UI。" + +#: docs/en/tutorial/tutorial-8.md:242 +msgid "" +"We can do this by using *asynchronous programming*. Asynchronous programming " +"is a way to describe a program that allows the interpreter to run multiple " +"functions at the same time, sharing resources between all the concurrently " +"running functions." +msgstr "" +"我們可以透過使用 `非同步程式設計` " +"來做到這一點。非同步程式設計是一種描述程式的方式,允許解釋器同時運行多個函數" +",在所有並發運行的函數之間共用資源。" -#: ../../tutorial/tutorial-8.rst:229 dd2b6b9c34c54363a7cef2061b18c25d +#: docs/en/tutorial/tutorial-8.md:247 #, fuzzy -msgid "Asynchronous functions (known as *coroutines*) need to be explicitly declared as being asynchronous. They also need to internally declare when an opportunity exists to change context to another coroutine." -msgstr "非同步函數(稱為 *協程* )需要明確宣告為非同步。他們還需要在內部聲明何時存在將上下文更改為另一個協程的機會。" - -#: ../../tutorial/tutorial-8.rst:233 9192c46ab94f4b09835fe97882b28b39 +msgid "" +"Asynchronous functions (known as *coroutines*) need to be explicitly " +"declared as being asynchronous. They also need to internally declare when an " +"opportunity exists to change context to another coroutine." +msgstr "非同步函數(稱為 *協程* " +")需要明確宣告為非同步。他們還需要在內部聲明何時存在將上下文更改為另一個協程" +"的機會。" + +#: docs/en/tutorial/tutorial-8.md:251 #, fuzzy -msgid "In Python, asynchronous programming is implemented using the `async` and `await` keywords, and the [asyncio]{1} module in the standard library. The `async` keyword allows us to declare that a function is an asynchronous coroutine. The `await` keyword provides a way to declare when an opportunity exists to change context to another coroutine. The [asyncio]{2} module provides some other useful tools and primitives for asynchronous coding." -msgstr "在Python中,非同步程式設計是使用 `async` 和 `await` 關鍵字以及 [asyncio]{1} 中的模組來實現的。標準庫。 `async` 關鍵字允許我們宣告函數是非同步協同例程。 `await` 關鍵字提供了一種聲明何時存在將上下文更改為另一個協同例程的機會的方法。 [asyncio]{2} 模組為非同步程式設計提供了一些其他有用的工具和語法。" - -#: ../../tutorial/tutorial-8.rst:243 09cc348938124a0495127c9540e0d92d +msgid "" +"In Python, asynchronous programming is implemented using the `async` and " +"`await` keywords, and the [asyncio]{1} module in the standard library. The " +"`async` keyword allows us to declare that a function is an asynchronous " +"coroutine. The `await` keyword provides a way to declare when an opportunity " +"exists to change context to another coroutine. The [asyncio]{2} module " +"provides some other useful tools and primitives for asynchronous coding." +msgstr "" +"在Python中,非同步程式設計是使用 `async` 和 `await` 關鍵字以及 [asyncio]{1} " +"中的模組來實現的。標準庫。 `async` 關鍵字允許我們宣告函數是非同步協同例程。 " +"`await` " +"關鍵字提供了一種聲明何時存在將上下文更改為另一個協同例程的機會的方法。 " +"[asyncio]{2} 模組為非同步程式設計提供了一些其他有用的工具和語法。" + +#: docs/en/tutorial/tutorial-8.md:261 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "使教學異步" -#: ../../tutorial/tutorial-8.rst:245 820912ce71fc4acab1ee42d147106be2 -msgid "To make our tutorial asynchronous, modify the `say_hello()` event handler so it looks like this:" +#: docs/en/tutorial/tutorial-8.md:263 +msgid "" +"To make our tutorial asynchronous, modify the `say_hello()` event handler so " +"it looks like this:" msgstr "要使我們的教程異步,請修改 `say_hello()` 事件處理程序,使其如下所示:" -#: ../../tutorial/tutorial-8.rst:261 561314bc6ca04a7ba8f86033a11d8245 +#: docs/en/tutorial/tutorial-8.md:282 #, fuzzy -msgid "There are only three changes to this callback from the previous version:" +msgid "" +"There are only three changes to this callback from the previous version:" msgstr "與先前的版本相比,此程式碼僅發生了 4 處變更:" -#: ../../tutorial/tutorial-8.rst:263 2048ec089260457290faa7c806994e9d -msgid "The client that is created is an asynchronous `AsyncClient()`, rather than a synchronous `Client()`. This tells `httpx` that it should operate in asynchronous mode, rather than synchronous mode." -msgstr "建立的客戶端是異步 `AsyncClient()` ,而不是同步 `Client()` 。這告訴 `httpx` 它應該以非同步模式運行,而不是同步模式。" +#: docs/en/tutorial/tutorial-8.md:284 +msgid "" +"The client that is created is an asynchronous `AsyncClient()`, rather than a " +"synchronous `Client()`. This tells `httpx` that it should operate in " +"asynchronous mode, rather than synchronous mode." +msgstr "" +"建立的客戶端是異步 `AsyncClient()` ,而不是同步 `Client()` 。這告訴 `httpx` " +"它應該以非同步模式運行,而不是同步模式。" -#: ../../tutorial/tutorial-8.rst:267 da621a721afb4a989c530282c33fe74d -msgid "The context manager used to create the client is marked as `async`. This tells Python that there is an opportunity to release control as the context manager is entered and exited." -msgstr "用於建立客戶端的上下文管理器被標記為 `async` 。這告訴Python,當進入和退出上下文管理器時,有機會釋放控制權。" +#: docs/en/tutorial/tutorial-8.md:287 +msgid "" +"The context manager used to create the client is marked as `async`. This " +"tells Python that there is an opportunity to release control as the context " +"manager is entered and exited." +msgstr "用於建立客戶端的上下文管理器被標記為 `async` " +"。這告訴Python,當進入和退出上下文管理器時,有機會釋放控制權。" -#: ../../tutorial/tutorial-8.rst:271 f0ba3407525041a58f14c1fc6a97d338 -msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop. We've seen this keyword before - we also use `await` when displaying the dialog box. The reason for that usage is the same as it is for the HTTP request - we need to tell the app that while the dialog is displayed, and we're waiting for the user to push a button, it's OK to release control back to the event loop." +#: docs/en/tutorial/tutorial-8.md:290 +msgid "" +"The `get` call is made with an `await` keyword. This instructs the app that " +"while we are waiting for the response from the network, the app can release " +"control to the event loop. We've seen this keyword before - we also use " +"`await` when displaying the dialog box. The reason for that usage is the " +"same as it is for the HTTP request - we need to tell the app that while the " +"dialog is displayed, and we're waiting for the user to push a button, it's " +"OK to release control back to the event loop." msgstr "" -#: ../../tutorial/tutorial-8.rst:279 d930d079b1ff4bdb82f3adc20ccab7c7 -msgid "It's also important to note that the handler itself is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine. We made this change back in Tutorial 3 when we added the dialog box. You can only use `await` statements inside a method that is declared as `async def`." +#: docs/en/tutorial/tutorial-8.md:299 +msgid "" +"It's also important to note that the handler itself is defined as `async def`" +", rather than just `def`. This tells Python that the method is an " +"asynchronous coroutine. We made this change back in Tutorial 3 when we added " +"the dialog box. You can only use `await` statements inside a method that is " +"declared as `async def`." msgstr "" -#: ../../tutorial/tutorial-8.rst:285 24853d0b034649bdbaa43fd92f431b32 +#: docs/en/tutorial/tutorial-8.md:305 #, fuzzy -msgid "Toga allows you to use regular methods or asynchronous coroutines as handlers; Toga manages everything behind the scenes to make sure the handler is invoked or awaited as required." -msgstr "Toga 允許您使用常規方法或非同步協同例程作為處理程序; Toga 管理幕後的一切,以確保根據需要呼叫或等待處理程序。" +msgid "" +"Toga allows you to use regular methods or asynchronous coroutines as " +"handlers; Toga manages everything behind the scenes to make sure the handler " +"is invoked or awaited as required." +msgstr "Toga 允許您使用常規方法或非同步協同例程作為處理程序; Toga " +"管理幕後的一切,以確保根據需要呼叫或等待處理程序。" -#: ../../tutorial/tutorial-8.rst:289 16e2a6d52bb8463c900fd48bf7f19c28 +#: docs/en/tutorial/tutorial-8.md:309 #, fuzzy -msgid "If you save these changes and re-run the app in development mode, there won't be any obvious changes to the app. However, when you click on the button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "如果您儲存這些變更並重新執行應用程式(在開發模式下使用 `briefcase dev` ,或透過更新並重新執行打包的應用程式),應用程式不會有任何明顯的變更。但是,當您單擊按鈕觸發對話框時,您可能會注意到一些細微的改進:" +msgid "" +"If you save these changes and re-run the app in development mode, there " +"won't be any obvious changes to the app. However, when you click on the " +"button to trigger the dialog, you may notice a number of subtle improvements:" +msgstr "" +"如果您儲存這些變更並重新執行應用程式(在開發模式下使用 `briefcase dev` " +",或透過更新並重新執行打包的應用程式),應用程式不會有任何明顯的變更。但是," +"當您單擊按鈕觸發對話框時,您可能會注意到一些細微的改進:" -#: ../../tutorial/tutorial-8.rst:293 ad1412e1f2cd4451a03a25d6c4a71118 -msgid "The button returns to an \"unclicked\" state, rather than being stuck in a \"clicked\" state." +#: docs/en/tutorial/tutorial-8.md:314 +msgid "" +"The button returns to an \"unclicked\" state, rather than being stuck in a " +"\"clicked\" state." msgstr "該按鈕返回到 `未單擊` 狀態,而不是停留在 `單擊` 狀態。" -#: ../../tutorial/tutorial-8.rst:296 b8cee435abe04d72a2065a0c1e110514 -msgid "The \"beachball\"/\"spinner\" icon won't appear" -msgstr "\"沙灘球\"/\"漏斗\" 圖示不會再出現" +#: docs/en/tutorial/tutorial-8.md:316 +msgid "The \"beachball\"/\"spinner\" icon won't appear." +msgstr "" -#: ../../tutorial/tutorial-8.rst:298 67b2e8d563954bb7b7f616a2a7493abe -msgid "If you move/resize the app window while waiting for the dialog to appear, the window will redraw." +#: docs/en/tutorial/tutorial-8.md:317 +msgid "" +"If you move/resize the app window while waiting for the dialog to appear, " +"the window will redraw." msgstr "如果您在等待對話方塊出現時移動/調整應用程式視窗的大小,則該視窗將會重新繪製。" -#: ../../tutorial/tutorial-8.rst:301 aa0d3bd64f7a43929fdbe22b49089e78 +#: docs/en/tutorial/tutorial-8.md:319 msgid "If you try to open an app menu, the menu will appear immediately." msgstr "如果您嘗試開啟應用程式選單,該選單將立即出現。" -#: ../../tutorial/tutorial-8.rst:303 abe7fda6d34e4d3eb60766ba9f909f45 -msgid "We can now run the full app. However, as we've added an extra requirement (`httpx`) we also need to update our app's requirements; we can do this by passing `-r` to `briefcase run`. This will update our app's requirements, then re-build the app, then launch the app:" +#: docs/en/tutorial/tutorial-8.md:321 +msgid "" +"We can now run the full app. However, as we've added an extra requirement " +"(`httpx`) we also need to update our app's requirements; we can do this by " +"passing `-r` to `briefcase run`. This will update our app's requirements, " +"then re-build the app, then launch the app:" msgstr "" -#: ../../tutorial/tutorial-8.rst:340 489bc950ebb14e93bec85657f85e4f0a -msgid "You should see you app running, and remaining responsive when you press the button and network content is retrieved." +#: docs/en/tutorial/tutorial-8.md:366 +msgid "" +"You should see you app running, and remaining responsive when you press the " +"button and network content is retrieved." msgstr "" -#: ../../tutorial/tutorial-8.rst:344 01cebcf2255f4ad2bc5994c730a38362 +#: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" msgstr "下一步" -#: ../../tutorial/tutorial-8.rst:346 3bd395f4ee9a43f2abc2274c38a33c28 -msgid "This has been a taste for what you can do with the tools provided by the BeeWare project. Over the course of this tutorial, you have:" +#: docs/en/tutorial/tutorial-8.md:371 +msgid "" +"This has been a taste for what you can do with the tools provided by the " +"BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: ../../tutorial/tutorial-8.rst:349 327ecab331204e3c8f25f9f9cae041d5 +#: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" msgstr "" -#: ../../tutorial/tutorial-8.rst:350 a73f815756a148ec8b1dc16b08eb1aa5 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" msgstr "" -#: ../../tutorial/tutorial-8.rst:351 d3f857b0b3ae4a93b58bae2bdc231eb6 +#: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: ../../tutorial/tutorial-8.rst:352 65dd82521e064a9abe5adcab9bfc09ee +#: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" msgstr "" -#: ../../tutorial/tutorial-8.rst:353 1f66c70ce66f4167a69605369abf6d62 +#: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: ../../tutorial/tutorial-8.rst:354 cc9434e33c66450d8e15a06d490d8607 +#: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" msgstr "" -#: ../../tutorial/tutorial-8.rst:355 1a8bae83d8714925b6225f77baa4b499 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" msgstr "" -#: ../../tutorial/tutorial-8.rst:356 e26c63d4d2f1411aba97aa990a94a630 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." msgstr "" -#: ../../tutorial/tutorial-8.rst:358 6c5a07763a8e474190de1652f073dcb3 +#: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" msgstr "" -#: ../../tutorial/tutorial-8.rst:360 5793fdd42f594711beafffb07db23baa -msgid "If you'd like to go further, there are some additional [topic tutorials][/tutorial/topics/index] that go into detail on specific aspects of application development." +#: docs/en/tutorial/tutorial-8.md:385 +msgid "" +"If you'd like to go further, there are some additional [topic tutorials]" +"[topics] that go into detail on specific aspects of application development." msgstr "" -#: ../../tutorial/tutorial-8.rst:363 0700509e2747465dadaba91feb39538a -msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's documentation]{1}. Toga also has it's own tutorial [demonstrating how to use various features of the widget toolkit]{2}." +#: docs/en/tutorial/tutorial-8.md:388 +msgid "" +"If you'd like to know more about how to build complex user interfaces with " +"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " +"tutorial [demonstrating how to use various features of the widget toolkit]" +"{2}." msgstr "" -#: ../../tutorial/tutorial-8.rst:368 ac90a0317f4745ca8d501a5e80ebf04d -msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." +#: docs/en/tutorial/tutorial-8.md:393 +msgid "" +"If you'd like to know more about the capabilities of Briefcase, you can dive " +"into [Briefcase's documentation]{1}." msgstr "" -#~ msgid "We've now got an application that is slick and responsive, even when it's waiting on a slow API. But how can we make sure that the app keeps working as we continue to develop it further? How do we test our app? Turn to [Tutorial 9][tutorial-9] to find out..." -#~ msgstr "我們現在擁有一個流暢且響應迅速的應用程序,即使它正在等待緩慢的 API。但是,當我們繼續進一步開發應用程式時,如何確保該應用程式繼續運行?我們如何測試我們的應用程式?前往 [教學 9[ 找找看..." - -#~ msgid "The method is defined as `async def`, rather than just `def`. This tells Python that the method is an asynchronous coroutine." -#~ msgstr "該方法被定義為 `async def` ,而不僅僅是 `def` 。這告訴 Python 該方法是一個非同步協同例程。" - -#~ msgid "The `get` call is made with an `await` keyword. This instructs the app that while we are waiting for the response from the network, the app can release control to the event loop." -#~ msgstr "`get` 呼叫是使用 `await` 關鍵字進行的。這指示應用程式在等待網路回應時,應用程式可以釋放對事件循環的控制。" - -#~ msgid "Let's add a `httpx` API call to our app. Add an import to the top of the `app.py` to import `httpx`:" -#~ msgstr "" - -#~ msgid "Lets run our updated app in Briefcase developer mode to check that our change has worked." -#~ msgstr "" - -#~ msgid "If you'd like to know more about how to build complex user interfaces with Toga, you can dive into `Toga's documentation][https://toga.readthedocs.io]__. Toga also has it's own tutorial `demonstrating how to use various features of the widget toolkit]{1}." -#~ msgstr "" - -#~ msgid "If you'd like to know more about the capabilities of Briefcase, you can dive into [Briefcase's documentation]{1}." -#~ msgstr "" - +#~ msgid "Tutorial 8 - Making it Smooooth" +#~ msgstr "教學 8 - 使其順~暢" diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index ad28c080..00000000 --- a/pyproject.toml +++ /dev/null @@ -1,97 +0,0 @@ -[build-system] -requires = [ - "setuptools==80.9.0", - "setuptools_scm==8.3.1", -] -build-backend = "setuptools.build_meta" - -[project] -dynamic = ["version"] -name = "beeware" -description = "A metapackage to install the full BeeWare suite of tools." -readme = "README.rst" -requires-python = ">= 3.8" -license.text = "New BSD" -authors = [ - {name="Russell Keith-Magee", email="russell@keith-magee.com"}, -] -maintainers = [ - {name="BeeWare Team", email="team@beeware.org"}, -] -classifiers = [ - "Development Status :: 4 - Beta", - "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", - "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: 3 :: Only", - "Topic :: Software Development", -] -dependencies = [ - "briefcase", -] - -[project.urls] -Homepage = "https://beeware.org" -Funding = "https://beeware.org/contributing/membership/" -Documentation = "https://docs.beeware.org/" -Source = "https://github.com/beeware" - -[project.optional-dependencies] -dev = [ - # Pre-commit 3.6.0 deprecated support for Python 3.8 - "pre-commit == 3.5.0 ; python_version < '3.9'", - "pre-commit == 4.2.0 ; python_version >= '3.9'", - "pytest == 8.4.1", - "pytest-tldr == 0.2.5", - "setuptools_scm == 8.3.1", - "tox == 4.27.0", -] -# Docs are always built on a specific Python version; see RTD and tox config files. -docs = [ - # "beeware-docs-tools @ /Users/kattni/BeeWare/beeware-docs-tools", - "black", - "codespell", - "markdown-checker", - "mkdocs", - "mkdocs-autorefs", - "mkdocs-include-markdown-plugin", - "mkdocs-literate-nav", - "mkdocs-macros-plugin", - "mkdocs-material", - "mkdocs-spellcheck", - "mkdocs-table-reader-plugin", - "mkdocstrings-python", - "mistletoe", - "pymdown-extensions", - "python-Levenshtein", - "symspellpy", # Not used, but spellcheck fails without it. Bug report filed. - "translate-toolkit @ git+https://github.com/translate/translate@master", # Update to latest on next release; release notifications enabled. -] - -[tool.codespell] -skip = ".git,*.pdf,*.svg" -# The way to make case-sensitive skips of words, etc. -ignore-regex = "\bNd\b" -ignore-words-list = "re-use" -ignore-words = "docs/spelling_wordlist" - -[tool.isort] -profile = "black" -split_on_trailing_comma = true -combine_as_imports = true - -[tool.setuptools] -py-modules = [] - -[tool.setuptools_scm] -# To enable SCM versioning, we need an empty tool configuration for setuptools_scm - -[tool.check-wheel-contents] -# WOO7: wheel library is empty -# W008: wheel is empty -ignore = "W007,W008" diff --git a/requirements.dev.txt b/requirements.dev.txt index c3326c25..79a9b7a4 100644 --- a/requirements.dev.txt +++ b/requirements.dev.txt @@ -1,2 +1,3 @@ # Docs are always built on a specific Python version; see RTD and tox config files. tox == 4.28.4 +pre-commit == 4.2.0 diff --git a/requirements.docs.txt b/requirements.docs.txt index 6a1d4af7..257b4e2f 100644 --- a/requirements.docs.txt +++ b/requirements.docs.txt @@ -1,10 +1,2 @@ # Docs are always built on a specific Python version; see RTD and tox config files. -furo == 2025.7.19 -pyenchant == 3.2.2 -sphinx == 8.2.3 -sphinx_design == 0.6.1 -sphinx_tabs == 3.4.7 -sphinx-autobuild == 2024.10.3 -sphinx-copybutton == 0.5.2 -sphinx-intl == 2.3.2 -sphinxcontrib-spelling == 8.0.1 +beeware-docs-tools @ git+https://github.com/kattni/beeware-docs-tools@tooling/mkdocs diff --git a/tox.ini b/tox.ini index 2bd8f96a..ed9fe2bd 100644 --- a/tox.ini +++ b/tox.ini @@ -19,26 +19,30 @@ extend-ignore = envlist = docs-lint,docs-all [docs] -docs_dir = {tox_root}{/}docs +docs_dir = {tox_root}{/}docs{/}en build_dir = {tox_root}{/}_build{/}html config_dir = {tox_root}{/}docs{/}config templates_dir = {tox_root}{/}locales{/}templates -exclude_translate = *.txt -[testenv:docs{,-lint,-translate,-all,-live,-en,-fr}] +[testenv:docs{,-lint,-translate,-all,-live,-en,-de,-es,-fr,-it,-pt,-zh_CN,-zh_TW}] # Docs are always built on Python 3.12. See also the RTD config. base_python = py312 -package = wheel -wheel_build_env = .pkg +skip_install = true deps = -r {tox_root}/requirements.docs.txt commands: - !lint-!all-!translate-!live-!en-!fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat en - translate : md2po --input docs --output {[docs]templates_dir} --pot --duplicates=merge --exclude={[docs]exclude_translate} -# translate : python {tox_root}{/}translation_tools{/}build_po_translations.py fr + !lint-!all-!translate-!live-!en-!de-!es-!fr-!it-!pt-!zh_CN-!zh_TW : build_md_translations --flat en + translate : md2po --input docs{/}en --output {[docs]templates_dir} --pot --duplicates=merge + translate : build_po_translations de es fr it pt zh_CN zh_TW lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_paths lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls - live : python -m mkdocs serve --clean --config-file {[docs]docs_dir}{/}mkdocs.en.yml --watch {[docs]docs_dir} - all : python {tox_root}{/}translation_tools{/}build_md_translations.py en fr - en : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat {posargs} en - fr : python {tox_root}{/}translation_tools{/}build_md_translations.py --flat {posargs} fr + live : live_serve_en + all : build_md_translations en de es fr it pt zh_CN zh_TW + en : build_md_translations --flat {posargs} en + de : build_md_translations --flat {posargs} de + es : build_md_translations --flat {posargs} es + fr : build_md_translations --flat {posargs} fr + it : build_md_translations --flat {posargs} it + pt : build_md_translations --flat {posargs} pt + zh_CN : build_md_translations --flat {posargs} zh_CN + zh_TW : build_md_translations --flat {posargs} zh_TW From 4069523118cb5ab362ea9b868c6600513e98a566 Mon Sep 17 00:00:00 2001 From: Kattni Date: Fri, 15 Aug 2025 22:33:40 -0400 Subject: [PATCH 08/24] Update figure code to Markdown format. --- docs/en/tutorial/topics/custom-icons.md | 6 +-- docs/en/tutorial/topics/testing.md | 51 ++++++++++++++----------- docs/en/tutorial/tutorial-1.md | 18 ++++----- docs/en/tutorial/tutorial-2.md | 18 ++++----- docs/en/tutorial/tutorial-4.md | 16 +++----- docs/en/tutorial/tutorial-5/android.md | 45 ++++++++++++---------- docs/en/tutorial/tutorial-7.md | 30 +++++++-------- docs/en/tutorial/tutorial-8.md | 18 ++++----- 8 files changed, 103 insertions(+), 99 deletions(-) diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index 6a10e7a8..a7bb2359 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -195,9 +195,9 @@ beeware-tutorial/ There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background: -
- Icon of green snake with a light blue background -
+![Icon of green snake with a light blue background](/tutorial/resources/icon.png) +/// caption +/// The only exception will be the icons with `-adaptive-` in their name; these will have a transparent background. This represents all the diff --git a/docs/en/tutorial/topics/testing.md b/docs/en/tutorial/topics/testing.md index 0e79199f..50dc4cec 100644 --- a/docs/en/tutorial/topics/testing.md +++ b/docs/en/tutorial/topics/testing.md @@ -14,9 +14,11 @@ the code for our app; the `tests` folder contains our test suite. Inside the `tests` folder is a file named `test_app.py` with the following content: - def test_first(): - "An initial test for the app" - assert 1 + 1 == 2 +```python +def test_first(): + "An initial test for the app" + assert 1 + 1 == 2 +``` This is a [Pytest](https://pytest.org) *test case* - a block of code that can be executed to verify some behavior of your app. In this case, @@ -116,19 +118,21 @@ Let's replace this placeholder test with a test to verify that our `greeting()` method behaves the way we'd expect. Replace the contents of `test_app.py` with the following: - from helloworld.app import greeting +```python +from helloworld.app import greeting - def test_name(): - """If a name is provided, the greeting includes the name""" +def test_name(): + """If a name is provided, the greeting includes the name""" - assert greeting("Alice") == "Hello, Alice" + assert greeting("Alice") == "Hello, Alice" - def test_empty(): - """If a name is not provided, a generic greeting is provided""" +def test_empty(): + """If a name is not provided, a generic greeting is provided""" - assert greeting("") == "Hello, stranger" + assert greeting("") == "Hello, stranger" +``` This defines two new tests, verifying the two behaviors we expect to see: the output when a name is provided, and the output when the name is @@ -195,7 +199,6 @@ tests/test_app.py::test_empty PASSED [100%] /// - Excellent! Our `greeting()` utility method is working as expected. ## Test driven development @@ -205,10 +208,12 @@ new features. Let's modify our app to have a special greeting for one particular user. We can start by adding a test case for the new behavior that we'd like to see to the bottom of `test_app.py`: - def test_brutus(): - """If the name is Brutus, a special greeting is provided""" +```python +def test_brutus(): + """If the name is Brutus, a special greeting is provided""" - assert greeting("Brutus") == "BeeWare the IDEs of Python!" + assert greeting("Brutus") == "BeeWare the IDEs of Python!" +``` Then, run the test suite with this new test: @@ -316,21 +321,22 @@ FAILED tests/test_app.py::test_brutus - AssertionError: assert 'Hello, Brutus... /// - This time, we see a test failure - and the output explains the source of the failure: the test is expecting the output "BeeWare the IDEs of Python!", but our implementation of `greeting()` is returning "Hello, Brutus". Let's modify the implementation of `greeting()` in `src/helloworld/app.py` to have the new behavior: - def greeting(name): - if name: - if name == "Brutus": - return "BeeWare the IDEs of Python!" - else: - return f"Hello, {name}" +```python +def greeting(name): + if name: + if name == "Brutus": + return "BeeWare the IDEs of Python!" else: - return "Hello, stranger" + return f"Hello, {name}" + else: + return "Hello, stranger" +``` If we run the tests again, we'll now see our tests pass: @@ -394,7 +400,6 @@ tests/test_app.py::test_brutus PASSED [100%] /// - ## Runtime tests So far, we've been running the tests in development mode. This is diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index 5fea3b8c..4ae5a635 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -204,25 +204,25 @@ This should open a GUI window: /// tab | macOS -
- Hello World Tutorial 1 window, on macOS -
+![Hello World Tutorial 1 window, on macOS](/tutorial/images/macOS/tutorial-1.png) +/// caption +/// /// /// tab | Linux -
- Hello World Tutorial 1 window, on Linux -
+![Hello World Tutorial 1 window, on Linux](/tutorial/images/linux/tutorial-1.png) +/// caption +/// /// /// tab | Windows -
- Hello World Tutorial 1 window, on Windows -
+![Hello World Tutorial 1 window, on Windows](/tutorial/images/windows/tutorial-1.png) +/// caption +/// /// admonition | Invalid requirements or pip unable to connect diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index b5efa3f6..bf696e4b 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -333,25 +333,25 @@ This should open a GUI window: /// tab | macOS -
- Hello World Tutorial 2 window, on macOS -
+![Hello World Tutorial 2 window, on macOS](/tutorial/images/macOS/tutorial-2.png) +/// caption +/// /// /// tab | Linux -
- Hello World Tutorial 2 window, on Linux -
+![Hello World Tutorial 2 window, on Linux](/tutorial/images/linux/tutorial-2.png) +/// caption +/// /// /// tab | Windows -
- Hello World Tutorial 2 window, on Windows -
+![Hello World Tutorial 2 window, on Windows](/tutorial/images/windows/tutorial-2.png) +/// caption +/// /// diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index ff025313..74dca2fd 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -40,10 +40,6 @@ see the new dialog box: /// tab | macOS -
- Hello World Tutorial 4 dialog, on macOS -
- ![Hello World Tutorial 4 dialog, on macOS](/tutorial/images/macOS/tutorial-4.png) /// caption /// @@ -52,17 +48,17 @@ see the new dialog box: /// tab | Linux -
- Hello World Tutorial 4 dialog, on Linux -
+![Hello World Tutorial 4 dialog, on Linux](/tutorial/images/linux/tutorial-4.png) +/// caption +/// /// /// tab | Windows -
- Hello World Tutorial 4 dialog, on Windows -
+![Hello World Tutorial 4 dialog, on Windows](/tutorial/images/windows/tutorial-4.png) +/// caption +/// /// diff --git a/docs/en/tutorial/tutorial-5/android.md b/docs/en/tutorial/tutorial-5/android.md index 7b2b83a7..3a124aac 100644 --- a/docs/en/tutorial/tutorial-5/android.md +++ b/docs/en/tutorial/tutorial-5/android.md @@ -250,30 +250,32 @@ emulator" option, and accept the default choice for the device name Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo: -
- -
Android virtual device booting
-
+![Android virtual device booting](/tutorial/images/android/tutorial-5-booting.png) +/// caption + +Android virtual device booting + +/// Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen: -
- -
Android virtual device fully started, on the launcher -screen
-
+![Android virtual device fully started, on the launcher screen](/tutorial/images/android/tutorial-5-running.png) +/// caption + +Android virtual device fully started, on the launcher screen + +/// The app will then start. You'll see a splash screen while the app starts up: -
- -
App splash screen
-
+![App splash screen](/tutorial/images/android/tutorial-5-splash.png) +/// caption + +App splash screen + +/// /// admonition | The emulator didn't start! @@ -291,11 +293,12 @@ The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app: -
- -
Demo app fully launched
-
+![Demo app fully launched](/tutorial/images/android/tutorial-5-launched.png) +/// caption + +Demo app fully launched + +/// If you fail to see your app launching, you may need to check your terminal where you ran `briefcase run` and look for any error messages. diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index ab717aea..bfd57e81 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -137,9 +137,9 @@ it to our development virtual environment. We can fix this by installing When you enter a name and press the button, you should see a dialog that looks something like: -
- Hello World Tutorial 7 dialog, on macOS -
+![Hello World Tutorial 7 dialog, on macOS](/tutorial/images/macOS/tutorial-7.png) +/// caption +/// /// @@ -153,9 +153,9 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -
- Hello World Tutorial 7 dialog, on Linux -
+![Hello World Tutorial 7 dialog, on Linux](/tutorial/images/linux/tutorial-7.png) +/// caption +/// /// @@ -169,9 +169,9 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -
- Hello World Tutorial 7 dialog, on Windows -
+![Hello World Tutorial 7 dialog, on Windows](/tutorial/images/windows/tutorial-7.png) +/// caption +/// /// @@ -232,9 +232,9 @@ And finally, run the app: However, when the app runs, you'll see an error in the console, plus a crash dialog: -
- Hello World Tutorial 7 app crash, on macOS -
+![Hello World Tutorial 7 app crash, on macOS](/tutorial/images/macOS/tutorial-7-crash.png) +/// caption +/// /// @@ -327,9 +327,9 @@ And finally, run the app: However, when the app runs, you'll see an error in the console, plus a crash dialog: -
- Hello World Tutorial 7 app crash, on Windows -
+![Hello World Tutorial 7 app crash, on Windows](/tutorial/images/windows/tutorial-7-crash.png) +/// caption +/// /// diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index 4292b9cb..71a6368f 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -107,9 +107,9 @@ developer mode to reinstall requirements, by using the `-r` argument: When you enter a name and press the button, you should see a dialog that looks something like: -
- Hello World Tutorial 8 dialog, on macOS -
+![Hello World Tutorial 8 dialog, on macOS](/tutorial/images/macOS/tutorial-8.png) +/// caption +/// /// @@ -127,9 +127,9 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -
- Hello World Tutorial 8 dialog, on Linux -
+![Hello World Tutorial 8 dialog, on Linux](/tutorial/images/linux/tutorial-8.png) +/// caption +/// /// @@ -147,9 +147,9 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -
- Hello World Tutorial 8 dialog, on Windows -
+![Hello World Tutorial 8 dialog, on Windows](/tutorial/images/windows/tutorial-8.png) +/// caption +/// /// From b5b5887246ea77f047cfbad96ba28d5c8d809926 Mon Sep 17 00:00:00 2001 From: Kattni Date: Thu, 21 Aug 2025 03:31:14 -0400 Subject: [PATCH 09/24] Bring tutorial up to MkDocs. --- .pyspelling.yml | 34 +++ .readthedocs.yaml | 2 +- docs/config.yml | 8 +- docs/en/how-to/index.md | 229 +++++++++--------- .../images/android/tutorial-5-booting.png | Bin .../images/android/tutorial-5-launched.png | Bin .../images/android/tutorial-5-running.png | Bin .../images/android/tutorial-5-splash.png | Bin .../{tutorial => }/images/iOS/tutorial-5.png | Bin .../{tutorial/resources => images}/icon.png | Bin .../images/linux/tutorial-1.png | Bin .../images/linux/tutorial-2.png | Bin .../images/linux/tutorial-4.png | Bin .../images/linux/tutorial-7.png | Bin .../images/linux/tutorial-8.png | Bin .../images/macOS/tutorial-1.png | Bin .../images/macOS/tutorial-2.png | Bin .../images/macOS/tutorial-4.png | Bin .../images/macOS/tutorial-7-crash.png | Bin .../images/macOS/tutorial-7.png | Bin .../images/macOS/tutorial-8.png | Bin docs/en/{tutorial => }/images/tutorial-6.png | Bin .../images/windows/tutorial-1.png | Bin .../images/windows/tutorial-2.png | Bin .../images/windows/tutorial-4.png | Bin .../images/windows/tutorial-7-crash.png | Bin .../images/windows/tutorial-7.png | Bin .../images/windows/tutorial-8.png | Bin docs/en/index.md | 6 +- docs/en/{tutorial => }/resources/icons.zip | Bin docs/en/tutorial/topics/custom-icons.md | 7 +- docs/en/tutorial/topics/index.md | 2 +- docs/en/tutorial/topics/testing.md | 2 +- docs/en/tutorial/tutorial-0.md | 10 +- docs/en/tutorial/tutorial-1.md | 18 +- docs/en/tutorial/tutorial-2.md | 12 +- docs/en/tutorial/tutorial-3.md | 2 +- docs/en/tutorial/tutorial-4.md | 12 +- docs/en/tutorial/tutorial-5/android.md | 12 +- docs/en/tutorial/tutorial-5/iOS.md | 2 +- docs/en/tutorial/tutorial-5/index.md | 2 +- docs/en/tutorial/tutorial-6.md | 4 +- docs/en/tutorial/tutorial-7.md | 20 +- docs/en/tutorial/tutorial-8.md | 14 +- docs/mkdocs.de.yml | 2 +- docs/mkdocs.en.yml | 9 - docs/mkdocs.es.yml | 2 +- docs/mkdocs.fr.yml | 2 +- docs/mkdocs.it.yml | 2 +- docs/mkdocs.pt.yml | 2 +- docs/mkdocs.zh_CN.yml | 2 +- docs/mkdocs.zh_TW.yml | 2 +- docs/spelling_wordlist | 46 +++- locales/de/LC_MESSAGES/SUMMARY.po | 2 +- locales/de/LC_MESSAGES/how-to/index.po | 19 +- locales/de/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 20 +- .../tutorial/topics/custom-icons.po | 151 ++++++++---- .../de/LC_MESSAGES/tutorial/topics/index.po | 9 +- .../de/LC_MESSAGES/tutorial/topics/testing.po | 144 +++++------ locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 53 ++-- locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 28 ++- locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 47 ++-- locales/de/LC_MESSAGES/tutorial/tutorial-3.po | 49 ++-- locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 124 +++++----- .../tutorial/tutorial-5/android.po | 114 ++++++--- .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 30 ++- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 7 +- locales/de/LC_MESSAGES/tutorial/tutorial-6.po | 55 ++--- locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 103 ++++++-- locales/de/LC_MESSAGES/tutorial/tutorial-8.po | 135 +++++++++-- locales/es/LC_MESSAGES/SUMMARY.po | 2 +- locales/es/LC_MESSAGES/how-to/index.po | 19 +- locales/es/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 2 +- .../tutorial/topics/custom-icons.po | 79 +++--- .../es/LC_MESSAGES/tutorial/topics/index.po | 2 +- .../es/LC_MESSAGES/tutorial/topics/testing.po | 96 ++++---- locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 14 +- locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 14 +- locales/es/LC_MESSAGES/tutorial/tutorial-3.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 78 +++--- .../tutorial/tutorial-5/android.po | 98 +++++--- .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 2 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 22 +- locales/es/LC_MESSAGES/tutorial/tutorial-8.po | 14 +- locales/fr/LC_MESSAGES/SUMMARY.po | 2 +- locales/fr/LC_MESSAGES/how-to/index.po | 19 +- locales/fr/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 2 +- .../tutorial/topics/custom-icons.po | 79 +++--- .../fr/LC_MESSAGES/tutorial/topics/index.po | 2 +- .../fr/LC_MESSAGES/tutorial/topics/testing.po | 96 ++++---- locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 14 +- locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 14 +- locales/fr/LC_MESSAGES/tutorial/tutorial-3.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 78 +++--- .../tutorial/tutorial-5/android.po | 98 +++++--- .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 2 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-7.po | 22 +- locales/fr/LC_MESSAGES/tutorial/tutorial-8.po | 14 +- locales/it/LC_MESSAGES/SUMMARY.po | 2 +- locales/it/LC_MESSAGES/how-to/index.po | 19 +- locales/it/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 2 +- .../tutorial/topics/custom-icons.po | 79 +++--- .../it/LC_MESSAGES/tutorial/topics/index.po | 2 +- .../it/LC_MESSAGES/tutorial/topics/testing.po | 96 ++++---- locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 14 +- locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 14 +- locales/it/LC_MESSAGES/tutorial/tutorial-3.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 78 +++--- .../tutorial/tutorial-5/android.po | 98 +++++--- .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 2 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 22 +- locales/it/LC_MESSAGES/tutorial/tutorial-8.po | 14 +- locales/pt/LC_MESSAGES/SUMMARY.po | 2 +- locales/pt/LC_MESSAGES/how-to/index.po | 19 +- locales/pt/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 2 +- .../tutorial/topics/custom-icons.po | 79 +++--- .../pt/LC_MESSAGES/tutorial/topics/index.po | 2 +- .../pt/LC_MESSAGES/tutorial/topics/testing.po | 96 ++++---- locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 14 +- locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 14 +- locales/pt/LC_MESSAGES/tutorial/tutorial-3.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 78 +++--- .../tutorial/tutorial-5/android.po | 98 +++++--- .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 2 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 22 +- locales/pt/LC_MESSAGES/tutorial/tutorial-8.po | 14 +- locales/templates/SUMMARY.pot | 2 +- locales/templates/how-to/index.pot | 19 +- locales/templates/index.pot | 50 ++-- .../tutorial/topics/camera-access.pot | 2 +- .../tutorial/topics/custom-icons.pot | 79 +++--- locales/templates/tutorial/topics/index.pot | 2 +- locales/templates/tutorial/topics/testing.pot | 96 ++++---- locales/templates/tutorial/tutorial-0.pot | 2 +- locales/templates/tutorial/tutorial-1.pot | 14 +- locales/templates/tutorial/tutorial-2.pot | 14 +- locales/templates/tutorial/tutorial-3.pot | 2 +- locales/templates/tutorial/tutorial-4.pot | 78 +++--- .../templates/tutorial/tutorial-5/android.pot | 98 +++++--- locales/templates/tutorial/tutorial-5/iOS.pot | 2 +- .../templates/tutorial/tutorial-5/index.pot | 2 +- locales/templates/tutorial/tutorial-6.pot | 2 +- locales/templates/tutorial/tutorial-7.pot | 22 +- locales/templates/tutorial/tutorial-8.pot | 14 +- locales/zh_CN/LC_MESSAGES/SUMMARY.po | 2 +- locales/zh_CN/LC_MESSAGES/how-to/index.po | 19 +- locales/zh_CN/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 2 +- .../tutorial/topics/custom-icons.po | 79 +++--- .../LC_MESSAGES/tutorial/topics/index.po | 2 +- .../LC_MESSAGES/tutorial/topics/testing.po | 96 ++++---- .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 14 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 14 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 2 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 78 +++--- .../tutorial/tutorial-5/android.po | 98 +++++--- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 2 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 2 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 22 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 14 +- locales/zh_TW/LC_MESSAGES/SUMMARY.po | 2 +- locales/zh_TW/LC_MESSAGES/how-to/index.po | 19 +- locales/zh_TW/LC_MESSAGES/index.po | 50 ++-- .../tutorial/topics/camera-access.po | 2 +- .../tutorial/topics/custom-icons.po | 79 +++--- .../LC_MESSAGES/tutorial/topics/index.po | 2 +- .../LC_MESSAGES/tutorial/topics/testing.po | 96 ++++---- .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 14 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 14 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 2 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 78 +++--- .../tutorial/tutorial-5/android.po | 98 +++++--- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 2 +- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 2 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 22 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 14 +- requirements.dev.txt | 2 +- requirements.docs.txt | 2 +- tox.ini | 37 +-- 200 files changed, 3121 insertions(+), 2027 deletions(-) create mode 100644 .pyspelling.yml rename docs/en/{tutorial => }/images/android/tutorial-5-booting.png (100%) rename docs/en/{tutorial => }/images/android/tutorial-5-launched.png (100%) rename docs/en/{tutorial => }/images/android/tutorial-5-running.png (100%) rename docs/en/{tutorial => }/images/android/tutorial-5-splash.png (100%) rename docs/en/{tutorial => }/images/iOS/tutorial-5.png (100%) rename docs/en/{tutorial/resources => images}/icon.png (100%) rename docs/en/{tutorial => }/images/linux/tutorial-1.png (100%) rename docs/en/{tutorial => }/images/linux/tutorial-2.png (100%) rename docs/en/{tutorial => }/images/linux/tutorial-4.png (100%) rename docs/en/{tutorial => }/images/linux/tutorial-7.png (100%) rename docs/en/{tutorial => }/images/linux/tutorial-8.png (100%) rename docs/en/{tutorial => }/images/macOS/tutorial-1.png (100%) rename docs/en/{tutorial => }/images/macOS/tutorial-2.png (100%) rename docs/en/{tutorial => }/images/macOS/tutorial-4.png (100%) rename docs/en/{tutorial => }/images/macOS/tutorial-7-crash.png (100%) rename docs/en/{tutorial => }/images/macOS/tutorial-7.png (100%) rename docs/en/{tutorial => }/images/macOS/tutorial-8.png (100%) rename docs/en/{tutorial => }/images/tutorial-6.png (100%) rename docs/en/{tutorial => }/images/windows/tutorial-1.png (100%) rename docs/en/{tutorial => }/images/windows/tutorial-2.png (100%) rename docs/en/{tutorial => }/images/windows/tutorial-4.png (100%) rename docs/en/{tutorial => }/images/windows/tutorial-7-crash.png (100%) rename docs/en/{tutorial => }/images/windows/tutorial-7.png (100%) rename docs/en/{tutorial => }/images/windows/tutorial-8.png (100%) rename docs/en/{tutorial => }/resources/icons.zip (100%) diff --git a/.pyspelling.yml b/.pyspelling.yml new file mode 100644 index 00000000..e7ca3b80 --- /dev/null +++ b/.pyspelling.yml @@ -0,0 +1,34 @@ +matrix: +- name: markdown + dictionary: + wordlists: + - docs/spelling_wordlist + output: _build/dictionary/python.dic + sources: + - '**/*.md' + pipeline: + - pyspelling.filters.markdown: + markdown_extensions: + - markdown.extensions.toc + - markdown.extensions.admonition + - markdown.extensions.attr_list + - pymdownx.superfences + - pymdownx.blocks.admonition + - pymdownx.blocks.caption + - pymdownx.blocks.tab + - pyspelling.filters.html: + comments: true + attributes: + - title + - alt + ignores: + - 'code' + - 'pre' + - 'nospell' + - pyspelling.filters.context: + context_visible_first: true + escapes: '\\[\\`~]' + delimiters: + - open: '{%' + content: '[\d\D]*' + close: '%}' diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 1eff018b..62585ddb 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -15,7 +15,7 @@ build: pre_install: - python -m pip install -r requirements.dev.txt pre_build: - - tox -e docs-lint + - python -m tox -e docs-lint build: html: - python -m tox -e docs-$READTHEDOCS_LANGUAGE -- --output=$READTHEDOCS_OUTPUT/html/ diff --git a/docs/config.yml b/docs/config.yml index aa53e537..ed8ca2d9 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -1,5 +1,5 @@ # yaml-language-server: $schema=https://squidfunk.github.io/mkdocs-material/schema.json -copyright: © Russell Keith-Magee 2025 +copyright: © Russell Keith-Magee not_in_nav: | /index.md @@ -12,6 +12,7 @@ validation: extra: project_name: beeware-tutorial + hide_version: true social: - icon: fontawesome/brands/github link: https://github.com/beeware @@ -27,6 +28,7 @@ theme: name: material language: en logo: assets/images/brutus-256.png + favicon: assets/images/brutus-256.png features: - content.tabs.link - toc.follow @@ -58,11 +60,9 @@ theme: name: Switch to system preference markdown_extensions: - pymdownx.highlight: - anchor_linenums: true + pymdownx.highlight: {} pymdownx.superfences: {} pymdownx.blocks.admonition: {} - pymdownx.caret: {} pymdownx.blocks.caption: {} pymdownx.blocks.tab: alternate_style: true diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md index a46de001..a268bbf9 100644 --- a/docs/en/how-to/index.md +++ b/docs/en/how-to/index.md @@ -51,7 +51,7 @@ dependencies and start coding. To set up a virtual environment, run: /// tab | macOS ```console -$ python3 -m venv venv +$ python3 -m venv .venv $ source venv/bin/activate ``` @@ -60,7 +60,7 @@ $ source venv/bin/activate /// tab | Linux ```console -$ python3 -m venv venv +$ python3 -m venv .venv $ source venv/bin/activate ``` @@ -69,13 +69,13 @@ $ source venv/bin/activate /// tab | Windows ```doscon -C:\...>python3 -m venv venv +C:\...>python3 -m venv .venv C:\...>venv\Scripts\activate ``` /// -Your prompt should now have a `(venv)` prefix in front of it. +Your prompt should now have a `(.venv)` prefix in front of it. ### Clone the BeeWare Tutorial repository @@ -94,7 +94,7 @@ the command line: Fork the BeeWare Tutorial repository, and then: ```console -(venv) $ git clone https://github.com//beeware-tutorial.git +(.venv) $ git clone https://github.com//beeware-tutorial.git ``` (substituting your GitHub username) @@ -106,7 +106,7 @@ Fork the BeeWare Tutorial repository, and then: Fork the BeeWare Tutorial repository, and then: ```console -(venv) $ git clone https://github.com//beeware-tutorial.git +(.venv) $ git clone https://github.com//beeware-tutorial.git ``` (substituting your GitHub username) @@ -118,7 +118,7 @@ Fork the BeeWare Tutorial repository, and then: Fork the BeeWare Tutorial repository, and then: ```doscon -(venv) C:\...>git clone https://github.com//beeware-tutorial.git +(.venv) C:\...>git clone https://github.com//beeware-tutorial.git ``` (substituting your GitHub username) @@ -135,8 +135,8 @@ packages, so we have to manually install each package: /// tab | macOS ```console -(venv) $ cd beeware -(venv) $ python -m pip install -e ".[dev]" +(.venv) $ cd beeware +(.venv) $ python -m pip install -e ".[dev]" ``` /// @@ -144,8 +144,8 @@ packages, so we have to manually install each package: /// tab | Linux ```console -(venv) $ cd beeware -(venv) $ python -m pip install -e .[dev] +(.venv) $ cd beeware +(.venv) $ python -m pip install -e .[dev] ``` /// @@ -153,8 +153,8 @@ packages, so we have to manually install each package: /// tab | Windows ```doscon -(venv) C:\...>cd beeware -(venv) C:\...>python -m pip install -e .[dev] +(.venv) C:\...>cd beeware +(.venv) C:\...>python -m pip install -e .[dev] ``` /// @@ -169,7 +169,7 @@ prior to finalizing any git commit. To enable pre-commit, run: /// tab | macOS ```console -(venv) $ pre-commit install +(.venv) $ pre-commit install pre-commit installed at .git/hooks/pre-commit ``` @@ -178,7 +178,7 @@ pre-commit installed at .git/hooks/pre-commit /// tab | Linux ```console -(venv) $ pre-commit install +(.venv) $ pre-commit install pre-commit installed at .git/hooks/pre-commit ``` @@ -187,7 +187,7 @@ pre-commit installed at .git/hooks/pre-commit /// tab | Windows ```doscon -(venv) C:\...>pre-commit install +(.venv) C:\...>pre-commit install pre-commit installed at .git/hooks/pre-commit ``` @@ -201,27 +201,19 @@ the problems it has found: /// tab | macOS ```console -(venv) $ git add some/interesting_file.py -(venv) $ git commit -m "Minor change" -black....................................................................Failed -- hook id: black +(.venv) $ git add some/interesting_file.py +(.venv) $ git commit -m "Minor change" +check toml...........................................(no files to check)Skipped +check yaml...............................................................Passed +check for case conflicts.................................................Passed +fix end of files.........................................................Failed +- hook id: end-of-file-fixer +- exit code: 1 - files were modified by this hook -reformatted some/interesting_file.py - -All done! ✨ 🍰 ✨ -1 file reformatted. +Fixing some/interesting_file.py -flake8...................................................................Passed -check toml...........................................(no files to check)Skipped -check yaml...........................................(no files to check)Skipped -check for case conflicts.................................................Passed -check docstring is first.................................................Passed -fix end of files.........................................................Passed trim trailing whitespace.................................................Passed -isort....................................................................Passed -pyupgrade................................................................Passed -docformatter.............................................................Passed ``` /// @@ -229,27 +221,19 @@ docformatter.............................................................Passed /// tab | Linux ```console -(venv) $ git add some/interesting_file.py -(venv) $ git commit -m "Minor change" -black....................................................................Failed -- hook id: black +(.venv) $ git add some/interesting_file.py +(.venv) $ git commit -m "Minor change" +check toml...........................................(no files to check)Skipped +check yaml...............................................................Passed +check for case conflicts.................................................Passed +fix end of files.........................................................Failed +- hook id: end-of-file-fixer +- exit code: 1 - files were modified by this hook -reformatted some/interesting_file.py - -All done! ✨ 🍰 ✨ -1 file reformatted. +Fixing some/interesting_file.py -flake8...................................................................Passed -check toml...........................................(no files to check)Skipped -check yaml...........................................(no files to check)Skipped -check for case conflicts.................................................Passed -check docstring is first.................................................Passed -fix end of files.........................................................Passed trim trailing whitespace.................................................Passed -isort....................................................................Passed -pyupgrade................................................................Passed -docformatter.............................................................Passed ``` /// @@ -257,27 +241,19 @@ docformatter.............................................................Passed /// tab | Windows ```doscon -(venv) C:\...>git add some/interesting_file.py -(venv) C:\...>git commit -m "Minor change" -black....................................................................Failed -- hook id: black +(.venv) C:\...>git add some/interesting_file.py +(.venv) C:\...>git commit -m "Minor change" +check toml...........................................(no files to check)Skipped +check yaml...............................................................Passed +check for case conflicts.................................................Passed +fix end of files.........................................................Failed +- hook id: end-of-file-fixer +- exit code: 1 - files were modified by this hook -reformatted some\interesting_file.py +Fixing some/interesting_file.py -All done! ✨ 🍰 ✨ -1 file reformatted. - -flake8...................................................................Passed -check toml...........................................(no files to check)Skipped -check yaml...........................................(no files to check)Skipped -check for case conflicts.................................................Passed -check docstring is first.................................................Passed -fix end of files.........................................................Passed trim trailing whitespace.................................................Passed -isort....................................................................Passed -pyupgrade................................................................Passed -docformatter.............................................................Passed ``` /// @@ -288,19 +264,13 @@ pre-commit checks, and re-commit the change. /// tab | macOS ```console -(venv) $ git add some/interesting_file.py -(venv) $ git commit -m "Minor change" -black....................................................................Passed -flake8...................................................................Passed +(.venv) $ git add some/interesting_file.py +(.venv) $ git commit -m "Minor change" check toml...........................................(no files to check)Skipped -check yaml...........................................(no files to check)Skipped +check yaml...............................................................Passed check for case conflicts.................................................Passed -check docstring is first.................................................Passed fix end of files.........................................................Passed trim trailing whitespace.................................................Passed -isort....................................................................Passed -pyupgrade................................................................Passed -docformatter.............................................................Passed [bugfix e3e0f73] Minor change 1 file changed, 4 insertions(+), 2 deletions(-) ``` @@ -310,19 +280,13 @@ docformatter.............................................................Passed /// tab | Linux ```console -(venv) $ git add some/interesting_file.py -(venv) $ git commit -m "Minor change" -black....................................................................Passed -flake8...................................................................Passed +(.venv) $ git add some/interesting_file.py +(.venv) $ git commit -m "Minor change" check toml...........................................(no files to check)Skipped -check yaml...........................................(no files to check)Skipped +check yaml...............................................................Passed check for case conflicts.................................................Passed -check docstring is first.................................................Passed fix end of files.........................................................Passed trim trailing whitespace.................................................Passed -isort....................................................................Passed -pyupgrade................................................................Passed -docformatter.............................................................Passed [bugfix e3e0f73] Minor change 1 file changed, 4 insertions(+), 2 deletions(-) ``` @@ -332,35 +296,29 @@ docformatter.............................................................Passed /// tab | Windows ```doscon -(venv) C:\...>git add some\interesting_file.py -(venv) C:\...>git commit -m "Minor change" -black....................................................................Passed -flake8...................................................................Passed +(.venv) C:\...>git add some\interesting_file.py +(.venv) C:\...>git commit -m "Minor change" check toml...........................................(no files to check)Skipped -check yaml...........................................(no files to check)Skipped +check yaml...............................................................Passed check for case conflicts.................................................Passed -check docstring is first.................................................Passed fix end of files.........................................................Passed trim trailing whitespace.................................................Passed -isort....................................................................Passed -pyupgrade................................................................Passed -docformatter.............................................................Passed ``` /// Now you are ready to start hacking on BeeWare docs! -## Building BeeWare's documentation +## Building the BeeWare Tutorial -### Build documentation locally +### Build the Tutorial locally Once your development environment is set up, run: /// tab | macOS ```console -(venv) $ tox -e docs +(.venv) $ tox -e docs ``` /// @@ -368,7 +326,7 @@ Once your development environment is set up, run: /// tab | Linux ```console -(venv) $ tox -e docs +(.venv) $ tox -e docs ``` /// @@ -376,7 +334,7 @@ Once your development environment is set up, run: /// tab | Windows ```doscon -(venv) C:\...>tox -e docs +(.venv) C:\...>tox -e docs ``` /// @@ -384,7 +342,7 @@ Once your development environment is set up, run: The output of the file should be in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error. -### Live documentation preview +### Live Tutorial preview To support rapid editing of documentation, BeeWare also has a "live preview" mode: @@ -392,7 +350,7 @@ preview" mode: /// tab | macOS ```console -(venv) $ tox -e docs-live +(.venv) $ tox -e docs-live ``` /// @@ -400,7 +358,7 @@ preview" mode: /// tab | Linux ```console -(venv) $ tox -e docs-live +(.venv) $ tox -e docs-live ``` /// @@ -408,7 +366,7 @@ preview" mode: /// tab | Windows ```doscon -(venv) C:\...>tox -e docs-live +(.venv) C:\...>tox -e docs-live ``` /// @@ -419,7 +377,7 @@ documentation source. If a change is detected, the documentation will be rebuilt, and any browser viewing the modified page will be automatically refreshed. -### Documentation linting +### Tutorial linting The build process will identify reStructuredText problems, but BeeWare performs some additional "lint" checks. To run the lint checks: @@ -427,7 +385,7 @@ performs some additional "lint" checks. To run the lint checks: /// tab | macOS ```console -(venv) $ tox -e docs-lint +(.venv) $ tox -e docs-lint ``` /// @@ -435,7 +393,7 @@ performs some additional "lint" checks. To run the lint checks: /// tab | Linux ```console -(venv) $ tox -e docs-lint +(.venv) $ tox -e docs-lint ``` /// @@ -443,7 +401,7 @@ performs some additional "lint" checks. To run the lint checks: /// tab | Windows ```doscon -(venv) C:\...>tox -e docs-lint +(.venv) C:\...>tox -e docs-lint ``` /// @@ -465,14 +423,19 @@ the spellchecker's dictionary. When adding to this list, remember: - If a term is being used "as code", then it should be quoted as inline code rather than being added to the dictionary. -### Rebuilding all documentation +### Building translations + +The BeeWare tutorial is available in multiple languages, which you can +build individually or all at the same time. -To force a rebuild for all the documentation: +To build a single translation, you run the `docs` command with the +language code for the translation you wish to build. For example, +to build French: /// tab | macOS ```console -(venv) $ tox -e docs-all +(.venv) $ tox -e docs-fr ``` /// @@ -480,7 +443,7 @@ To force a rebuild for all the documentation: /// tab | Linux ```console -(venv) $ tox -e docs-all +(.venv) $ tox -e docs-fr ``` /// @@ -488,14 +451,48 @@ To force a rebuild for all the documentation: /// tab | Windows ```doscon -(venv) C:\...>tox -e docs-all +(.venv) C:\...>tox -e docs-fr ``` /// -The documentation should be fully rebuilt in the `docs/_build/html` +The French translation should be built in the `docs/_build/html` folder. If there are any markup problems, they'll raise an error. +An error is also raised if you enter a language code for an +unavailable language. If this happens, verify that you are using +the proper language code. + +To build all the translations at the same time: + +/// tab | macOS + +```console +(.venv) $ tox -e docs-all +``` + +/// + +/// tab | Linux + +```console +(.venv) $ tox -e docs-all +``` + +/// + +/// tab | Windows + +```doscon +(.venv) C:\...>tox -e docs-all +``` + +/// + +This will build all available translations in the `docs/_build/html` +directory, inside a language-specific subdirectory. For example, the +French translation would be available in `docs/_build/html/fr`. + ## What to work on? If you're looking for specific areas to improve, there are [tickets tagged @@ -535,7 +532,7 @@ To create a feature branch, run: /// tab | macOS ```console -(venv) $ git checkout -b fix-layout-bug +(.venv) $ git checkout -b fix-layout-bug ``` /// @@ -543,7 +540,7 @@ To create a feature branch, run: /// tab | Linux ```console -(venv) $ git checkout -b fix-layout-bug +(.venv) $ git checkout -b fix-layout-bug ``` /// @@ -551,7 +548,7 @@ To create a feature branch, run: /// tab | Windows ```doscon -(venv) C:\...>git checkout -b fix-layout-bug +(.venv) C:\...>git checkout -b fix-layout-bug ``` /// diff --git a/docs/en/tutorial/images/android/tutorial-5-booting.png b/docs/en/images/android/tutorial-5-booting.png similarity index 100% rename from docs/en/tutorial/images/android/tutorial-5-booting.png rename to docs/en/images/android/tutorial-5-booting.png diff --git a/docs/en/tutorial/images/android/tutorial-5-launched.png b/docs/en/images/android/tutorial-5-launched.png similarity index 100% rename from docs/en/tutorial/images/android/tutorial-5-launched.png rename to docs/en/images/android/tutorial-5-launched.png diff --git a/docs/en/tutorial/images/android/tutorial-5-running.png b/docs/en/images/android/tutorial-5-running.png similarity index 100% rename from docs/en/tutorial/images/android/tutorial-5-running.png rename to docs/en/images/android/tutorial-5-running.png diff --git a/docs/en/tutorial/images/android/tutorial-5-splash.png b/docs/en/images/android/tutorial-5-splash.png similarity index 100% rename from docs/en/tutorial/images/android/tutorial-5-splash.png rename to docs/en/images/android/tutorial-5-splash.png diff --git a/docs/en/tutorial/images/iOS/tutorial-5.png b/docs/en/images/iOS/tutorial-5.png similarity index 100% rename from docs/en/tutorial/images/iOS/tutorial-5.png rename to docs/en/images/iOS/tutorial-5.png diff --git a/docs/en/tutorial/resources/icon.png b/docs/en/images/icon.png similarity index 100% rename from docs/en/tutorial/resources/icon.png rename to docs/en/images/icon.png diff --git a/docs/en/tutorial/images/linux/tutorial-1.png b/docs/en/images/linux/tutorial-1.png similarity index 100% rename from docs/en/tutorial/images/linux/tutorial-1.png rename to docs/en/images/linux/tutorial-1.png diff --git a/docs/en/tutorial/images/linux/tutorial-2.png b/docs/en/images/linux/tutorial-2.png similarity index 100% rename from docs/en/tutorial/images/linux/tutorial-2.png rename to docs/en/images/linux/tutorial-2.png diff --git a/docs/en/tutorial/images/linux/tutorial-4.png b/docs/en/images/linux/tutorial-4.png similarity index 100% rename from docs/en/tutorial/images/linux/tutorial-4.png rename to docs/en/images/linux/tutorial-4.png diff --git a/docs/en/tutorial/images/linux/tutorial-7.png b/docs/en/images/linux/tutorial-7.png similarity index 100% rename from docs/en/tutorial/images/linux/tutorial-7.png rename to docs/en/images/linux/tutorial-7.png diff --git a/docs/en/tutorial/images/linux/tutorial-8.png b/docs/en/images/linux/tutorial-8.png similarity index 100% rename from docs/en/tutorial/images/linux/tutorial-8.png rename to docs/en/images/linux/tutorial-8.png diff --git a/docs/en/tutorial/images/macOS/tutorial-1.png b/docs/en/images/macOS/tutorial-1.png similarity index 100% rename from docs/en/tutorial/images/macOS/tutorial-1.png rename to docs/en/images/macOS/tutorial-1.png diff --git a/docs/en/tutorial/images/macOS/tutorial-2.png b/docs/en/images/macOS/tutorial-2.png similarity index 100% rename from docs/en/tutorial/images/macOS/tutorial-2.png rename to docs/en/images/macOS/tutorial-2.png diff --git a/docs/en/tutorial/images/macOS/tutorial-4.png b/docs/en/images/macOS/tutorial-4.png similarity index 100% rename from docs/en/tutorial/images/macOS/tutorial-4.png rename to docs/en/images/macOS/tutorial-4.png diff --git a/docs/en/tutorial/images/macOS/tutorial-7-crash.png b/docs/en/images/macOS/tutorial-7-crash.png similarity index 100% rename from docs/en/tutorial/images/macOS/tutorial-7-crash.png rename to docs/en/images/macOS/tutorial-7-crash.png diff --git a/docs/en/tutorial/images/macOS/tutorial-7.png b/docs/en/images/macOS/tutorial-7.png similarity index 100% rename from docs/en/tutorial/images/macOS/tutorial-7.png rename to docs/en/images/macOS/tutorial-7.png diff --git a/docs/en/tutorial/images/macOS/tutorial-8.png b/docs/en/images/macOS/tutorial-8.png similarity index 100% rename from docs/en/tutorial/images/macOS/tutorial-8.png rename to docs/en/images/macOS/tutorial-8.png diff --git a/docs/en/tutorial/images/tutorial-6.png b/docs/en/images/tutorial-6.png similarity index 100% rename from docs/en/tutorial/images/tutorial-6.png rename to docs/en/images/tutorial-6.png diff --git a/docs/en/tutorial/images/windows/tutorial-1.png b/docs/en/images/windows/tutorial-1.png similarity index 100% rename from docs/en/tutorial/images/windows/tutorial-1.png rename to docs/en/images/windows/tutorial-1.png diff --git a/docs/en/tutorial/images/windows/tutorial-2.png b/docs/en/images/windows/tutorial-2.png similarity index 100% rename from docs/en/tutorial/images/windows/tutorial-2.png rename to docs/en/images/windows/tutorial-2.png diff --git a/docs/en/tutorial/images/windows/tutorial-4.png b/docs/en/images/windows/tutorial-4.png similarity index 100% rename from docs/en/tutorial/images/windows/tutorial-4.png rename to docs/en/images/windows/tutorial-4.png diff --git a/docs/en/tutorial/images/windows/tutorial-7-crash.png b/docs/en/images/windows/tutorial-7-crash.png similarity index 100% rename from docs/en/tutorial/images/windows/tutorial-7-crash.png rename to docs/en/images/windows/tutorial-7-crash.png diff --git a/docs/en/tutorial/images/windows/tutorial-7.png b/docs/en/images/windows/tutorial-7.png similarity index 100% rename from docs/en/tutorial/images/windows/tutorial-7.png rename to docs/en/images/windows/tutorial-7.png diff --git a/docs/en/tutorial/images/windows/tutorial-8.png b/docs/en/images/windows/tutorial-8.png similarity index 100% rename from docs/en/tutorial/images/windows/tutorial-8.png rename to docs/en/images/windows/tutorial-8.png diff --git a/docs/en/index.md b/docs/en/index.md index 1afe235b..dd758ab3 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -8,7 +8,7 @@ a mobile application, and as a single page web app. We'll also look at how you can use BeeWare tools to perform some of the common tasks that you'll need to do as an app developer, such as testing your app. -{% if config.extra.translation_type == original %} +{% if config.extra.translation_type == "original" %} /// admonition | Translations are available @@ -25,7 +25,7 @@ are available in [Deutsch](https://docs.beeware.org/de), {% endif %} -{% if config.extra.translation_type == machine %} +{% if config.extra.translation_type == "machine" %} /// admonition | This is a machine translation! @@ -41,7 +41,7 @@ Introduce yourself there and we will add you to the translation team. {% endif %} -{% if config.extra.translation_type == human %} +{% if config.extra.translation_type == "human" %} /// admonition | This is a translation! diff --git a/docs/en/tutorial/resources/icons.zip b/docs/en/resources/icons.zip similarity index 100% rename from docs/en/tutorial/resources/icons.zip rename to docs/en/resources/icons.zip diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index a7bb2359..8cf5bc59 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -170,8 +170,7 @@ expecting. However, as we haven't provided the actual icon files, the install fails, and Briefcase falls back to a default value (the same "gray bee" icon). -Let's provide some actual icons. Download `this icons.zip bundle -<../resources/icons.zip>`{.interpreted-text role="download"}, and unzip +Let's provide some actual icons. Download [this icons.zip bundle](../../resources/icons.zip), and unzip it into the root of your project directory. After unzipping, your project directory should look something like: @@ -195,8 +194,10 @@ beeware-tutorial/ There's a *lot* of icons in this folder, but most of them should look the same: a green snake on a light blue background: -![Icon of green snake with a light blue background](/tutorial/resources/icon.png) +![Icon of green snake with a light blue background](../../images/icon.png) + /// caption + /// The only exception will be the icons with `-adaptive-` in their name; diff --git a/docs/en/tutorial/topics/index.md b/docs/en/tutorial/topics/index.md index 27ff9992..c7672990 100644 --- a/docs/en/tutorial/topics/index.md +++ b/docs/en/tutorial/topics/index.md @@ -1,4 +1,4 @@ -# Going further { #topics } +# Going further { id="topics" } Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is diff --git a/docs/en/tutorial/topics/testing.md b/docs/en/tutorial/topics/testing.md index 50dc4cec..daae9d4a 100644 --- a/docs/en/tutorial/topics/testing.md +++ b/docs/en/tutorial/topics/testing.md @@ -16,7 +16,7 @@ content: ```python def test_first(): - "An initial test for the app" + """An initial test for the app""" assert 1 + 1 == 2 ``` diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md index ee4a15a5..de4fa52a 100644 --- a/docs/en/tutorial/tutorial-0.md +++ b/docs/en/tutorial/tutorial-0.md @@ -3,7 +3,7 @@ Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare. -## Install Python +## Install Python { id="install-python" } The first thing we'll need is a working Python interpreter. @@ -16,7 +16,7 @@ betas and release candidates). We strongly recommend using Python 3.13 or newer. You can also install Python through -[homebrew](https://docs.brew.sh/Homebrew-and-Python), use +[Homebrew](https://docs.brew.sh/Homebrew-and-Python), use [pyenv](https://github.com/pyenv/pyenv#simple-python-version-management-pyenv) to manage multiple Python installs, or use [Anaconda](https://docs.anaconda.com/anaconda/install/) or @@ -79,8 +79,7 @@ interpreter. /// - -## Install dependencies +## Install dependencies { id="install-dependencies" } Next, install the additional dependencies needed for your operating system: @@ -135,7 +134,7 @@ $ sudo zypper install git patterns-devel-base-devel_basis pkgconf-pkg-config pyt Building BeeWare apps on Windows requires: - **Git**, a version control system. You can download Git from from - [git-scm.com](https://git-scm.com/downloads/). + [git-scm.com](https://git-scm.com/downloads/). After installing these tools, you should ensure you restart any terminal sessions. Windows will only expose newly installed tools terminals @@ -143,7 +142,6 @@ started *after* the install has completed. /// - ## Set up a virtual environment We're now going to create a virtual environment - a "sandbox" that we diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index 4ae5a635..90caf135 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -29,8 +29,7 @@ you're in the `beeware-tutorial` directory you created in If you see errors during installation, it's almost certainly because some of the system requirements haven't been installed. Make sure you -have `installed all the platform pre-requisites -`{.interpreted-text role="ref"}. +have [installed all the platform pre-requisites][install-dependencies]. /// @@ -204,24 +203,30 @@ This should open a GUI window: /// tab | macOS -![Hello World Tutorial 1 window, on macOS](/tutorial/images/macOS/tutorial-1.png) +![Hello World Tutorial 1 window, on macOS](../images/macOS/tutorial-1.png) + /// caption + /// /// /// tab | Linux -![Hello World Tutorial 1 window, on Linux](/tutorial/images/linux/tutorial-1.png) +![Hello World Tutorial 1 window, on Linux](../images/linux/tutorial-1.png) + /// caption + /// /// /// tab | Windows -![Hello World Tutorial 1 window, on Windows](/tutorial/images/windows/tutorial-1.png) +![Hello World Tutorial 1 window, on Windows](../images/windows/tutorial-1.png) + /// caption + /// /// admonition | Invalid requirements or pip unable to connect @@ -235,8 +240,7 @@ to the PyPI server. ``` Confirm that you are running a -`version of python that this tutorial supports -`{.interpreted-text role="ref"}. +[version of python that this tutorial supports][install-python]. If your version of python is *not* a supported version, you will have to restart the tutorial. diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index bf696e4b..f3343b08 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -333,24 +333,30 @@ This should open a GUI window: /// tab | macOS -![Hello World Tutorial 2 window, on macOS](/tutorial/images/macOS/tutorial-2.png) +![Hello World Tutorial 2 window, on macOS](../images/macOS/tutorial-2.png) + /// caption + /// /// /// tab | Linux -![Hello World Tutorial 2 window, on Linux](/tutorial/images/linux/tutorial-2.png) +![Hello World Tutorial 2 window, on Linux](../images/linux/tutorial-2.png) + /// caption + /// /// /// tab | Windows -![Hello World Tutorial 2 window, on Windows](/tutorial/images/windows/tutorial-2.png) +![Hello World Tutorial 2 window, on Windows](../images/windows/tutorial-2.png) + /// caption + /// /// diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index 8a1eae44..b55251a8 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -408,7 +408,7 @@ Building dist/Hello World-0.0.1.dmg ``` The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If -you locate this file in the Finder, and double click on its icon, you'll +you locate this file in the Finder, and double-click on its icon, you'll mount the DMG, giving you a copy of the Hello World app, and a link to your Applications folder for easy installation. Drag the app file into Applications, and you've installed your application. Send the DMG file diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index 74dca2fd..8ea9bd8c 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -40,24 +40,30 @@ see the new dialog box: /// tab | macOS -![Hello World Tutorial 4 dialog, on macOS](/tutorial/images/macOS/tutorial-4.png) +![Hello World Tutorial 4 dialog, on macOS](../images/macOS/tutorial-4.png) + /// caption + /// /// /// tab | Linux -![Hello World Tutorial 4 dialog, on Linux](/tutorial/images/linux/tutorial-4.png) +![Hello World Tutorial 4 dialog, on Linux](../images/linux/tutorial-4.png) + /// caption + /// /// /// tab | Windows -![Hello World Tutorial 4 dialog, on Windows](/tutorial/images/windows/tutorial-4.png) +![Hello World Tutorial 4 dialog, on Windows](../images/windows/tutorial-4.png) + /// caption + /// /// diff --git a/docs/en/tutorial/tutorial-5/android.md b/docs/en/tutorial/tutorial-5/android.md index 3a124aac..a1c61d5a 100644 --- a/docs/en/tutorial/tutorial-5/android.md +++ b/docs/en/tutorial/tutorial-5/android.md @@ -250,7 +250,8 @@ emulator" option, and accept the default choice for the device name Briefcase `run` will automatically boot the virtual device. When the device is booting, you will see the Android logo: -![Android virtual device booting](/tutorial/images/android/tutorial-5-booting.png) +![Android virtual device booting](../../images/android/tutorial-5-booting.png) + /// caption Android virtual device booting @@ -260,7 +261,8 @@ Android virtual device booting Once the device has finished booting, Briefcase will install your app on the device. You will briefly see a launcher screen: -![Android virtual device fully started, on the launcher screen](/tutorial/images/android/tutorial-5-running.png) +![Android virtual device fully started, on the launcher screen](../../images/android/tutorial-5-running.png) + /// caption Android virtual device fully started, on the launcher screen @@ -270,7 +272,8 @@ Android virtual device fully started, on the launcher screen The app will then start. You'll see a splash screen while the app starts up: -![App splash screen](/tutorial/images/android/tutorial-5-splash.png) +![App splash screen](../../images/android/tutorial-5-splash.png) + /// caption App splash screen @@ -293,7 +296,8 @@ The first time the app starts, it needs to unpack itself onto the device. This may take a few seconds. Once it's unpacked, you'll see the Android version of our desktop app: -![Demo app fully launched](/tutorial/images/android/tutorial-5-launched.png) +![Demo app fully launched](../../images/android/tutorial-5-launched.png) + /// caption Demo app fully launched diff --git a/docs/en/tutorial/tutorial-5/iOS.md b/docs/en/tutorial/tutorial-5/iOS.md index 47277995..db66c3a9 100644 --- a/docs/en/tutorial/tutorial-5/iOS.md +++ b/docs/en/tutorial/tutorial-5/iOS.md @@ -117,7 +117,7 @@ This will start the iOS simulator, install your app, and start it. You should see the simulator start, and eventually open your iOS application: -![Hello World Tutorial 5 window, on iOS](../../tutorial/images/iOS/tutorial-5.png) +![Hello World Tutorial 5 window, on iOS](../../images/iOS/tutorial-5.png) While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the diff --git a/docs/en/tutorial/tutorial-5/index.md b/docs/en/tutorial/tutorial-5/index.md index 7512f97f..a431d930 100644 --- a/docs/en/tutorial/tutorial-5/index.md +++ b/docs/en/tutorial/tutorial-5/index.md @@ -8,6 +8,6 @@ we've written can be deployed to your mobile device, too! Android applications can be compiled on macOS, Windows or Linux. -### [iOS][mobile-ios] +### [iOS][mobile-ios] iOS applications can only be compiled on macOS. diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md index 4c437a81..524591dc 100644 --- a/docs/en/tutorial/tutorial-6.md +++ b/docs/en/tutorial/tutorial-6.md @@ -149,9 +149,9 @@ Web server open on http://127.0.0.1:8080 /// -This will open a web browser, pointing at : +This will open a web browser, pointing at : -![Hello World Tutorial 6 dialog, in a browser](../tutorial/images/tutorial-6.png) +![Hello World Tutorial 6 dialog, in a browser](../images/tutorial-6.png) If you enter your name and click the button, a dialog will appear. diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index bfd57e81..957c36e3 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -137,8 +137,10 @@ it to our development virtual environment. We can fix this by installing When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 7 dialog, on macOS](/tutorial/images/macOS/tutorial-7.png) +![Hello World Tutorial 7 dialog, on macOS](../images/macOS/tutorial-7.png) + /// caption + /// /// @@ -153,8 +155,10 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 7 dialog, on Linux](/tutorial/images/linux/tutorial-7.png) +![Hello World Tutorial 7 dialog, on Linux](../images/linux/tutorial-7.png) + /// caption + /// /// @@ -169,8 +173,10 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 7 dialog, on Windows](/tutorial/images/windows/tutorial-7.png) +![Hello World Tutorial 7 dialog, on Windows](../images/windows/tutorial-7.png) + /// caption + /// /// @@ -232,8 +238,10 @@ And finally, run the app: However, when the app runs, you'll see an error in the console, plus a crash dialog: -![Hello World Tutorial 7 app crash, on macOS](/tutorial/images/macOS/tutorial-7-crash.png) +![Hello World Tutorial 7 app crash, on macOS](../images/macOS/tutorial-7-crash.png) + /// caption + /// /// @@ -327,8 +335,10 @@ And finally, run the app: However, when the app runs, you'll see an error in the console, plus a crash dialog: -![Hello World Tutorial 7 app crash, on Windows](/tutorial/images/windows/tutorial-7-crash.png) +![Hello World Tutorial 7 app crash, on Windows](../images/windows/tutorial-7-crash.png) + /// caption + /// /// diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index 71a6368f..db14eb37 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -42,7 +42,7 @@ As a result, people have developed third-party libraries that wrap the built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called -[httpx](https://www.python-httpx.org). Briefcase uses `httpx` +[`httpx`](https://www.python-httpx.org). Briefcase uses `httpx` internally, so it's already in your local environment -you don't need to install it separately to use it here. @@ -107,8 +107,10 @@ developer mode to reinstall requirements, by using the `-r` argument: When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 8 dialog, on macOS](/tutorial/images/macOS/tutorial-8.png) +![Hello World Tutorial 8 dialog, on macOS](../images/macOS/tutorial-8.png) + /// caption + /// /// @@ -127,8 +129,10 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 8 dialog, on Linux](/tutorial/images/linux/tutorial-8.png) +![Hello World Tutorial 8 dialog, on Linux](../images/linux/tutorial-8.png) + /// caption + /// /// @@ -147,8 +151,10 @@ looks something like: When you enter a name and press the button, you should see a dialog that looks something like: -![Hello World Tutorial 8 dialog, on Windows](/tutorial/images/windows/tutorial-8.png) +![Hello World Tutorial 8 dialog, on Windows](../images/windows/tutorial-8.png) + /// caption + /// /// diff --git a/docs/mkdocs.de.yml b/docs/mkdocs.de.yml index f3a027ce..9afad977 100644 --- a/docs/mkdocs.de.yml +++ b/docs/mkdocs.de.yml @@ -7,4 +7,4 @@ theme: language: de extra: - translation_type: human + translation_type: machine diff --git a/docs/mkdocs.en.yml b/docs/mkdocs.en.yml index bd168462..a35a54ed 100644 --- a/docs/mkdocs.en.yml +++ b/docs/mkdocs.en.yml @@ -5,12 +5,3 @@ docs_dir: en extra: translation_type: original - -plugins: - spellcheck: - backends: - - codespell: - dictionaries: [clear] - # Location of spelling_wordlist is relative to docs_dir above. - known_words: ../spelling_wordlist - ignore_code: yes diff --git a/docs/mkdocs.es.yml b/docs/mkdocs.es.yml index d9db6e22..7cf99ce4 100644 --- a/docs/mkdocs.es.yml +++ b/docs/mkdocs.es.yml @@ -7,4 +7,4 @@ theme: language: es extra: - translation_type: human + translation_type: machine diff --git a/docs/mkdocs.fr.yml b/docs/mkdocs.fr.yml index 4945ef68..a30a6786 100644 --- a/docs/mkdocs.fr.yml +++ b/docs/mkdocs.fr.yml @@ -7,4 +7,4 @@ theme: language: fr extra: - translation_type: human + translation_type: machine diff --git a/docs/mkdocs.it.yml b/docs/mkdocs.it.yml index 4e7db76a..30f937b5 100644 --- a/docs/mkdocs.it.yml +++ b/docs/mkdocs.it.yml @@ -7,4 +7,4 @@ theme: language: it extra: - translation_type: human + translation_type: machine diff --git a/docs/mkdocs.pt.yml b/docs/mkdocs.pt.yml index 580f8074..2767aced 100644 --- a/docs/mkdocs.pt.yml +++ b/docs/mkdocs.pt.yml @@ -7,4 +7,4 @@ theme: language: pt extra: - translation_type: human + translation_type: machine diff --git a/docs/mkdocs.zh_CN.yml b/docs/mkdocs.zh_CN.yml index 72dd7116..6fbebd91 100644 --- a/docs/mkdocs.zh_CN.yml +++ b/docs/mkdocs.zh_CN.yml @@ -7,4 +7,4 @@ theme: language: zh-Hant extra: - translation_type: human + translation_type: machine diff --git a/docs/mkdocs.zh_TW.yml b/docs/mkdocs.zh_TW.yml index 0e6734e2..a1391418 100644 --- a/docs/mkdocs.zh_TW.yml +++ b/docs/mkdocs.zh_TW.yml @@ -7,4 +7,4 @@ theme: language: zh-TW extra: - translation_type: human + translation_type: machine diff --git a/docs/spelling_wordlist b/docs/spelling_wordlist index 888cae10..9e7cefc3 100644 --- a/docs/spelling_wordlist +++ b/docs/spelling_wordlist @@ -1,42 +1,82 @@ adhoc +API +APIs +APK artefacts +asyncio backend backends beachball +BeeWare +BeeWare's +beeware conda +Copied! coroutine coroutines Ctrl +Cutive +Deutsch dialogs distributable +DMG +DOM +Español +fosstodon +Français Gradle +GTK hoc +Homebrew +IDE +IDEs installable iPhones +ipsum +Italiano +JDK +JSON linters linter +Lorum macOS +Manjaro +MkDocs miniconda -portugues +ObjC +OpenSUSE +Português +PowerShell pre Pre px +pyenv Pygame +PyPI +PyScript pytest -runtime -runtimes +README repo repos reStructuredText +RHEL +runtime +runtimes Runtime scaffolded scrollable +SDK Smooooth smooooth +subdirectory Subtutorial Subtutorials subtutorial subtutorials +TextInput unclicked +UDID +UI verbing +Weblate Xcode diff --git a/locales/de/LC_MESSAGES/SUMMARY.po b/locales/de/LC_MESSAGES/SUMMARY.po index 5249ccc6..974786d4 100644 --- a/locales/de/LC_MESSAGES/SUMMARY.po +++ b/locales/de/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po index d3942298..924d2d9e 100644 --- a/locales/de/LC_MESSAGES/how-to/index.po +++ b/locales/de/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: de \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po index cf0af81b..c9376e0f 100644 --- a/locales/de/LC_MESSAGES/index.po +++ b/locales/de/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-08-17 05:09+0000\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: German \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:02+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,10 +14,9 @@ msgstr "" #: docs/en/tutorial/topics/camera-access.md:1 msgid "Using the camera { id=\"camera-access\" }" -msgstr "" +msgstr "Kameranutzung { id=\"camera-access\" }" #: docs/en/tutorial/topics/camera-access.md:3 -#, fuzzy msgid "" "Almost every modern computing device has a camera of some sort. In this " "tutorial, we'll write new application that is able to request access to this " @@ -26,8 +25,8 @@ msgid "" msgstr "" "Fast jedes moderne Computergerät verfügt über eine Kamera. In diesem " "Tutorial schreiben wir eine neue Anwendung, die Zugriff auf diese Kamera " -"anfordern, ein Foto aufnehmen und dieses Foto dann in der App anzeigen kann. " -"Neue Anwendung, die die Kamera Ihres Geräts verwendet." +"anfordern, ein Foto aufnehmen und dieses Foto dann in der neuen Anwendung " +"anzeigen kann, um die Kamera Ihres Geräts zu verwendet." #: docs/en/tutorial/topics/camera-access.md:8 msgid "/// admonition | This tutorial won't work on all platforms!" @@ -86,7 +85,7 @@ msgstr "" "Für dieses Tutorial werden wir nicht auf der Anwendung aus dem Kerntutorial " "aufbauen, sondern ein neues Projekt beginnen. Sie können dieselbe virtuelle " "Umgebung verwenden, die Sie im ersten Projekt verwendet haben. Wir müssen " -"jedoch den Assistenten „Aktenkoffer neu“ erneut ausführen." +"jedoch den Assistenten `briefcase new` erneut ausführen." #: docs/en/tutorial/topics/camera-access.md:33 msgid "" @@ -160,7 +159,7 @@ msgid "" "to use the camera, or the camera isn't implemented on the current platform, " "an error will be raised, and a dialog will be shown to the user." msgstr "" -"Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein „Image“-Objekt " +"Wenn die Kamera erfolgreich ein Foto aufnimmt, gibt sie ein `Image`-Objekt " "zurück, das als Inhalt der `ImageView` zugewiesen werden kann. Wenn die " "Fotoanforderung vom Benutzer abgebrochen wurde, gibt der Aufruf " "`self.camera.take_photo()` `None` zurück und das Ergebnis kann ignoriert " @@ -270,6 +269,3 @@ msgstr "" "Sie können dies tun, indem Sie `briefcase create` erneut ausführen. Dadurch " "werden Sie gewarnt, dass die vorhandene App überschrieben wird, und die " "Anwendung wird dann mit den neuen Berechtigungen neu generiert." - -#~ msgid "Using the camera" -#~ msgstr "Kameranutzung" diff --git a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po index f5a67f29..cc7eacc8 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-08-19 17:09+0000\n" -"Last-Translator: tct123 \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:02+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:1 msgid "Customizing icons { id=\"custom-icons\" }" -msgstr "" +msgstr "Symbole anpassen { id=\"custom-icons\" }" #: docs/en/tutorial/topics/custom-icons.md:3 msgid "" @@ -64,6 +64,12 @@ msgid "" "icon files; this prefix will be combined with file size and variant " "modifiers to generate the list of icon files that are used." msgstr "" +"Diese Icon-Definition gibt keine Dateierweiterung an. Der Wert wird als " +"Präfix verwendet; jede Plattform fügt diesem Präfix zusätzliche Elemente " +"hinzu, um die für die jeweilige Plattform erforderlichen Dateien zu " +"erstellen. Einige Plattformen erfordern *mehrere* Icon-Dateien; dieses " +"Präfix wird mit Dateigröße und Variantenmodifikatoren kombiniert, um die " +"Liste der verwendeten Icon-Dateien zu generieren." #: docs/en/tutorial/topics/custom-icons.md:30 msgid "" @@ -71,10 +77,13 @@ msgid "" "`--update-resources` flag, telling Briefcase that we want to install new " "application resources (i.e., the icons):" msgstr "" +"Wir können nun erneut `briefcase update` ausführen – diesmal jedoch mit dem " +"Flag `--update-resources`, um Briefcase mitzuteilen, dass wir neue " +"Anwendungsressourcen (d. h. die Symbole) installieren möchten:" #: docs/en/tutorial/topics/custom-icons.md:34 -#: docs/en/tutorial/topics/custom-icons.md:214 -#: docs/en/tutorial/topics/custom-icons.md:411 +#: docs/en/tutorial/topics/custom-icons.md:213 +#: docs/en/tutorial/topics/custom-icons.md:410 msgid "/// tab | macOS" msgstr "" @@ -83,42 +92,42 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:94 #: docs/en/tutorial/topics/custom-icons.md:132 #: docs/en/tutorial/topics/custom-icons.md:166 -#: docs/en/tutorial/topics/custom-icons.md:238 -#: docs/en/tutorial/topics/custom-icons.md:270 -#: docs/en/tutorial/topics/custom-icons.md:297 -#: docs/en/tutorial/topics/custom-icons.md:343 -#: docs/en/tutorial/topics/custom-icons.md:345 -#: docs/en/tutorial/topics/custom-icons.md:381 -#: docs/en/tutorial/topics/custom-icons.md:390 -#: docs/en/tutorial/topics/custom-icons.md:426 -#: docs/en/tutorial/topics/custom-icons.md:443 -#: docs/en/tutorial/topics/custom-icons.md:460 -#: docs/en/tutorial/topics/custom-icons.md:476 -#: docs/en/tutorial/topics/custom-icons.md:492 +#: docs/en/tutorial/topics/custom-icons.md:237 +#: docs/en/tutorial/topics/custom-icons.md:269 +#: docs/en/tutorial/topics/custom-icons.md:296 +#: docs/en/tutorial/topics/custom-icons.md:342 +#: docs/en/tutorial/topics/custom-icons.md:344 +#: docs/en/tutorial/topics/custom-icons.md:380 +#: docs/en/tutorial/topics/custom-icons.md:389 +#: docs/en/tutorial/topics/custom-icons.md:425 +#: docs/en/tutorial/topics/custom-icons.md:442 +#: docs/en/tutorial/topics/custom-icons.md:459 +#: docs/en/tutorial/topics/custom-icons.md:475 +#: docs/en/tutorial/topics/custom-icons.md:491 msgid "///" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:53 -#: docs/en/tutorial/topics/custom-icons.md:240 -#: docs/en/tutorial/topics/custom-icons.md:428 +#: docs/en/tutorial/topics/custom-icons.md:239 +#: docs/en/tutorial/topics/custom-icons.md:427 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:77 -#: docs/en/tutorial/topics/custom-icons.md:272 -#: docs/en/tutorial/topics/custom-icons.md:445 +#: docs/en/tutorial/topics/custom-icons.md:271 +#: docs/en/tutorial/topics/custom-icons.md:444 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:96 -#: docs/en/tutorial/topics/custom-icons.md:299 -#: docs/en/tutorial/topics/custom-icons.md:462 +#: docs/en/tutorial/topics/custom-icons.md:298 +#: docs/en/tutorial/topics/custom-icons.md:461 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:134 -#: docs/en/tutorial/topics/custom-icons.md:347 -#: docs/en/tutorial/topics/custom-icons.md:478 +#: docs/en/tutorial/topics/custom-icons.md:346 +#: docs/en/tutorial/topics/custom-icons.md:477 msgid "/// tab | iOS" msgstr "" @@ -128,30 +137,43 @@ msgid "" "However, as we haven't provided the actual icon files, the install fails, " "and Briefcase falls back to a default value (the same \"gray bee\" icon)." msgstr "" +"Dies gibt die spezifische(n) Icon-Datei(en) an, die Briefcase erwartet. Da " +"wir jedoch keine tatsächlichen Icon-Dateien bereitgestellt haben, schlägt " +"die Installation fehl und Briefcase greift auf einen Standardwert zurück (" +"das gleiche „graue Bienen”-Icon)." #: docs/en/tutorial/topics/custom-icons.md:173 msgid "" -"Let's provide some actual icons. Download `this icons.zip bundle <../" -"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" +"In diesem Ordner befinden sich *sehr viele* Symbole, aber die meisten davon " +"sollten gleich aussehen: eine grüne Schlange auf hellblauem Hintergrund:" + +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " "sizes and shapes you need to support an app on every platform that Briefcase " "supports." msgstr "" +"Die einzige Ausnahme bilden die Symbole mit '-adaptive-' im Namen; diese " +"haben einen transparenten Hintergrund. Dies umfasst alle verschiedenen " +"Symbolgrößen und -formen, die Sie benötigen, um eine App auf jeder von " +"Briefcase unterstützten Plattform zu unterstützen." -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -160,28 +182,44 @@ msgid "" "`--update-resources` to our call to `run` - this will update the app, update " "the app's resources, and then start the app:" msgstr "" +"Jetzt, da wir über Symbole verfügen, können wir die Anwendung erneut " +"aktualisieren. Allerdings kopiert `briefcase update` nur die aktualisierten " +"Ressourcen in das Build-Verzeichnis. Wir möchten jedoch auch die Anwendung " +"neu erstellen, um sicherzustellen, dass das neue Symbol enthalten ist, und " +"dann die Anwendung starten. Wir können diesen Vorgang abkürzen, indem wir " +"`--update-resources` an unseren Aufruf von `run` übergeben. Dadurch wird die " +"Anwendung aktualisiert, die Ressourcen der Anwendung aktualisiert und " +"anschließend die Anwendung gestartet:" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" +"Wenn Sie eine aktuelle Version von Android verwenden, werden Sie " +"möglicherweise feststellen, dass das App-Symbol zu einer grünen Schlange " +"geändert wurde, der Hintergrund des Symbols jedoch *weiß* statt hellblau " +"ist. Wir werden dies im nächsten Schritt beheben." -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " "tutorial. Re-run the app, adding the `-r` argument to update the app " "requirements." msgstr "" +"Wenn Sie beim Ausführen der App einen Stacktrace erhalten, der auf `faker` " +"oder `httpx` verweist, haben Sie möglicherweise Schritt 7 oder 8 des " +"Tutorials übersprungen. Führen Sie die App erneut aus und fügen Sie das " +"Argument `-r` hinzu, um die App-Anforderungen zu aktualisieren." -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -190,8 +228,15 @@ msgid "" "customizing the background color of the splash screen. Add the following " "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" +"Wenn Sie die App auf iOS oder Android ausführen, sollten Sie neben der " +"Änderung des Symbols auch feststellen, dass das neue Symbol in den " +"Begrüßungsbildschirm integriert ist. Allerdings wirkt der hellblaue " +"Hintergrund des Symbols vor dem weißen Hintergrund des Begrüßungsbildschirms " +"etwas deplatziert. Wir können dies beheben, indem wir die Hintergrundfarbe " +"des Begrüßungsbildschirms anpassen. Fügen Sie die folgende Definition zu " +"Ihrer `pyproject.toml` hinzu, direkt nach der Definition `icon`:" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -200,15 +245,26 @@ msgid "" "When we do this, we'll be prompted to confirm that we want to overwrite the " "existing project:" msgstr "" +"Leider kann Briefcase diese Änderung nicht auf ein bereits generiertes " +"Projekt anwenden, da dafür Änderungen an einer der Dateien vorgenommen " +"werden müssen, die beim ursprünglichen Aufruf von `briefcase create` " +"generiert wurden. Um diese Änderung anzuwenden, müssen wir die App neu " +"erstellen, indem wir `briefcase create` erneut ausführen. Dabei werden wir " +"aufgefordert, zu bestätigen, dass wir das vorhandene Projekt überschreiben " +"möchten:" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" +"Sie können die App dann mit `briefcase run` neu erstellen und erneut " +"ausführen. An der Desktop-App werden Sie keine Änderungen bemerken, aber die " +"Android- oder iOS-Apps sollten nun einen hellblauen Hintergrund für den " +"Begrüßungsbildschirm haben." -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " @@ -220,6 +276,13 @@ msgid "" "output of the build system that can be recreated as needed to reflect the " "current configuration of your project." msgstr "" - -#~ msgid "Customizing icons" -#~ msgstr "Symbole anpassen" +"Sie müssen die App jedes Mal neu erstellen, wenn Sie Änderungen an Ihrer " +"`pyproject.toml` vornehmen, die nicht den Quellcode oder die Abhängigkeiten " +"betreffen. Jede Änderung an Beschreibungen, Versionsnummern, Farben oder " +"Berechtigungen erfordert einen Neuanlegungsvorgang. Aus diesem Grund sollten " +"Sie während der Entwicklung Ihres Projekts keine manuellen Änderungen am " +"Inhalt des Ordners `build` vornehmen und den Ordner `build` nicht zu Ihrem " +"Versionskontrollsystem hinzufügen. Der Ordner `build` sollte als vollständig " +"vergänglich betrachtet werden – als Ausgabe des Build-Systems, die bei " +"Bedarf neu erstellt werden kann, um die aktuelle Konfiguration Ihres " +"Projekts widerzuspiegeln." diff --git a/locales/de/LC_MESSAGES/tutorial/topics/index.po b/locales/de/LC_MESSAGES/tutorial/topics/index.po index c4c4087c..90460eea 100644 --- a/locales/de/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/de/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-08-14 00:09+0000\n" "Last-Translator: tct123 \n" "Language-Team: German \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:02+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,29 +14,26 @@ msgstr "" #: docs/en/tutorial/topics/testing.md:1 msgid "Testing times { id=\"testing\" }" -msgstr "" +msgstr "Prüfzeiten { id=\"testing\" }" #: docs/en/tutorial/topics/testing.md:3 -#, fuzzy msgid "" "Most software development doesn't involve writing new code - it's modifying " "existing code. Ensuring that existing code continues to work in the way we " "expect is a key part of the software development process. One way to do " "ensure the behavior of our app is with a *test suite*." msgstr "" -"Bei der Softwareentwicklung wird meist kein neuer Code geschrieben, sondern " -"bestehender Code geändert. Die Sicherstellung, dass vorhandener Code " -"weiterhin so funktioniert, wie wir es erwarten, ist ein wichtiger Teil des " -"Softwareentwicklungsprozesses. Eine Möglichkeit, das Verhalten unserer " -"Anwendung sicherzustellen, ist eine *Testsuite*." +"Bei der Softwareentwicklung geht es meistens nicht darum, neuen Code zu " +"schreiben, sondern bestehenden Code zu ändern. Es ist ein wichtiger Teil des " +"Softwareentwicklungsprozesses, sicherzustellen, dass der bestehende Code " +"weiterhin so funktioniert, wie wir es erwarten. Eine Möglichkeit, das " +"Verhalten unserer App sicherzustellen, ist eine *Testsuite*." #: docs/en/tutorial/topics/testing.md:8 -#, fuzzy msgid "Running the test suite" -msgstr "Ausführen der Testsuite" +msgstr "Testlauf durchführen" #: docs/en/tutorial/topics/testing.md:10 -#, fuzzy msgid "" "It turns out the project from the core tutorial already has a test suite! " "When we originally generated our project, two top-level directories were " @@ -44,28 +41,26 @@ msgid "" " the `tests` folder contains our test suite. Inside the `tests` folder is a " "file named `test_app.py` with the following content:" msgstr "" -"Es stellt sich heraus, dass unser Projekt bereits eine Testsuite hat! Als " -"wir unser Projekt ursprünglich erzeugten, wurden zwei Verzeichnisse der " -"obersten Ebene erzeugt: `src` und `tests`. Der Ordner `src` enthält den Code " -"für unsere Anwendung; der Ordner `tests` enthält unsere Testsuite. Innerhalb " -"des Ordners `tests` befindet sich eine Datei namens `test_app.py` mit " -"folgendem Inhalt:" +"Es stellt sich heraus, dass das Projekt aus dem Kern-Tutorial bereits über " +"eine Testsuite verfügt! Als wir unser Projekt ursprünglich erstellt haben, " +"wurden zwei Verzeichnisse auf oberster Ebene generiert: `src` und `tests`. " +"Der Ordner `src` enthält den Code für unsere App, der Ordner `tests` enthält " +"unsere Testsuite. Im Ordner `tests` befindet sich eine Datei namens " +"`test_app.py` mit folgendem Inhalt:" -#: docs/en/tutorial/topics/testing.md:21 -#, fuzzy +#: docs/en/tutorial/topics/testing.md:23 msgid "" "This is a [Pytest]{1} *test case* - a block of code that can be executed to " "verify some behavior of your app. In this case, the test is a placeholder, " "and doesn't test anything about our app - but it is a test that we can " "perform." msgstr "" -"Dies ist ein [Pytest]{1} *Testfall* - ein Codeblock, der ausgeführt werden " -"kann, um ein bestimmtes Verhalten Ihrer Anwendung zu überprüfen. In diesem " -"Fall ist der Test ein Platzhalter und testet nichts über unsere Anwendung - " -"aber es ist ein Test, den wir durchführen können." +"Dies ist ein [Pytest]{1} *Testfall* – ein Code-Block, der ausgeführt werden " +"kann, um bestimmte Verhaltensweisen Ihrer App zu überprüfen. In diesem Fall " +"ist der Test ein Platzhalter und testet nichts an unserer App – aber es ist " +"ein Test, den wir durchführen können." -#: docs/en/tutorial/topics/testing.md:26 -#, fuzzy +#: docs/en/tutorial/topics/testing.md:28 msgid "" "We can run this test suite using the `--test` option to `briefcase dev`. As " "this is the first time we are running tests, we also need to pass in the `-r`" @@ -76,50 +71,49 @@ msgstr "" "auch die Option `-r` übergeben, um sicherzustellen, dass die " "Testanforderungen auch installiert werden:" -#: docs/en/tutorial/topics/testing.md:30 -#: docs/en/tutorial/topics/testing.md:141 -#: docs/en/tutorial/topics/testing.md:215 -#: docs/en/tutorial/topics/testing.md:337 -#: docs/en/tutorial/topics/testing.md:411 +#: docs/en/tutorial/topics/testing.md:32 +#: docs/en/tutorial/topics/testing.md:145 +#: docs/en/tutorial/topics/testing.md:220 +#: docs/en/tutorial/topics/testing.md:343 +#: docs/en/tutorial/topics/testing.md:416 msgid "/// tab | macOS" msgstr "" -#: docs/en/tutorial/topics/testing.md:53 -#: docs/en/tutorial/topics/testing.md:81 -#: docs/en/tutorial/topics/testing.md:109 -#: docs/en/tutorial/topics/testing.md:158 -#: docs/en/tutorial/topics/testing.md:177 -#: docs/en/tutorial/topics/testing.md:196 -#: docs/en/tutorial/topics/testing.md:247 -#: docs/en/tutorial/topics/testing.md:283 -#: docs/en/tutorial/topics/testing.md:317 -#: docs/en/tutorial/topics/testing.md:355 -#: docs/en/tutorial/topics/testing.md:375 -#: docs/en/tutorial/topics/testing.md:395 -#: docs/en/tutorial/topics/testing.md:453 -#: docs/en/tutorial/topics/testing.md:487 -#: docs/en/tutorial/topics/testing.md:526 +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:111 +#: docs/en/tutorial/topics/testing.md:162 +#: docs/en/tutorial/topics/testing.md:181 +#: docs/en/tutorial/topics/testing.md:200 +#: docs/en/tutorial/topics/testing.md:252 +#: docs/en/tutorial/topics/testing.md:288 +#: docs/en/tutorial/topics/testing.md:322 +#: docs/en/tutorial/topics/testing.md:361 +#: docs/en/tutorial/topics/testing.md:381 +#: docs/en/tutorial/topics/testing.md:401 +#: docs/en/tutorial/topics/testing.md:458 +#: docs/en/tutorial/topics/testing.md:492 +#: docs/en/tutorial/topics/testing.md:531 msgid "///" msgstr "" -#: docs/en/tutorial/topics/testing.md:55 -#: docs/en/tutorial/topics/testing.md:160 -#: docs/en/tutorial/topics/testing.md:249 -#: docs/en/tutorial/topics/testing.md:357 -#: docs/en/tutorial/topics/testing.md:455 +#: docs/en/tutorial/topics/testing.md:57 +#: docs/en/tutorial/topics/testing.md:164 +#: docs/en/tutorial/topics/testing.md:254 +#: docs/en/tutorial/topics/testing.md:363 +#: docs/en/tutorial/topics/testing.md:460 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/topics/testing.md:83 -#: docs/en/tutorial/topics/testing.md:179 -#: docs/en/tutorial/topics/testing.md:285 -#: docs/en/tutorial/topics/testing.md:377 -#: docs/en/tutorial/topics/testing.md:489 +#: docs/en/tutorial/topics/testing.md:85 +#: docs/en/tutorial/topics/testing.md:183 +#: docs/en/tutorial/topics/testing.md:290 +#: docs/en/tutorial/topics/testing.md:383 +#: docs/en/tutorial/topics/testing.md:494 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/topics/testing.md:112 -#, fuzzy +#: docs/en/tutorial/topics/testing.md:114 msgid "" "Success! We've just executed a single test that verifies Python math works " "in the way we'd expect (What a relief!)." @@ -128,7 +122,7 @@ msgstr "" "bestätigt, dass die Python-Mathematik so funktioniert, wie wir es erwartet " "haben (was für eine Erleichterung!)." -#: docs/en/tutorial/topics/testing.md:115 +#: docs/en/tutorial/topics/testing.md:117 #, fuzzy msgid "" "Let's replace this placeholder test with a test to verify that our " @@ -139,7 +133,7 @@ msgstr "" "überprüft, ob sich unsere Methode `Gruß()` so verhält, wie wir es erwarten. " "Ersetzen Sie den Inhalt von `test_app.py` durch den folgenden:" -#: docs/en/tutorial/topics/testing.md:133 +#: docs/en/tutorial/topics/testing.md:137 #, fuzzy msgid "" "This defines two new tests, verifying the two behaviors we expect to see: " @@ -149,7 +143,7 @@ msgstr "" "überprüfen: die Ausgabe, wenn ein Name angegeben wird, und die Ausgabe, wenn " "der Name leer ist." -#: docs/en/tutorial/topics/testing.md:137 +#: docs/en/tutorial/topics/testing.md:141 #, fuzzy msgid "" "We can now re-run the test suite. This time, we don't need to provided the " @@ -160,18 +154,18 @@ msgstr "" "Option `-r` nicht, da die Testanforderungen bereits installiert wurden; wir " "müssen nur die Option `--test` verwenden:" -#: docs/en/tutorial/topics/testing.md:199 +#: docs/en/tutorial/topics/testing.md:202 #, fuzzy msgid "Excellent! Our `greeting()` utility method is working as expected." msgstr "" "Ausgezeichnet! Unsere Utility-Methode `Gruß()` funktioniert wie erwartet." -#: docs/en/tutorial/topics/testing.md:201 +#: docs/en/tutorial/topics/testing.md:204 #, fuzzy msgid "Test driven development" msgstr "Testgetriebene Entwicklung" -#: docs/en/tutorial/topics/testing.md:203 +#: docs/en/tutorial/topics/testing.md:206 #, fuzzy msgid "" "Now that we have a test suite, we can use it to drive the development of new " @@ -185,12 +179,12 @@ msgstr "" "können damit beginnen, indem wir einen Testfall für das neue Verhalten, das " "wir gerne sehen möchten, am Ende von `test_app.py` hinzufügen:" -#: docs/en/tutorial/topics/testing.md:213 +#: docs/en/tutorial/topics/testing.md:218 #, fuzzy msgid "Then, run the test suite with this new test:" msgstr "Führen Sie dann die Testsuite mit diesem neuen Test aus:" -#: docs/en/tutorial/topics/testing.md:320 +#: docs/en/tutorial/topics/testing.md:324 #, fuzzy msgid "" "This time, we see a test failure - and the output explains the source of the " @@ -205,19 +199,19 @@ msgstr "" "Ändern wir die Implementierung von `Gruß()` in `src/helloworld/app.py`, um " "das neue Verhalten zu erhalten:" -#: docs/en/tutorial/topics/testing.md:335 +#: docs/en/tutorial/topics/testing.md:341 #, fuzzy msgid "If we run the tests again, we'll now see our tests pass:" msgstr "" "Wenn wir die Tests noch einmal durchführen, sehen wir, dass die Tests " "bestanden wurden:" -#: docs/en/tutorial/topics/testing.md:398 +#: docs/en/tutorial/topics/testing.md:403 #, fuzzy msgid "Runtime tests" msgstr "Laufzeittests" -#: docs/en/tutorial/topics/testing.md:400 +#: docs/en/tutorial/topics/testing.md:405 msgid "" "So far, we've been running the tests in development mode. This is especially " "useful when you're developing new features, as you can rapidly iterate on " @@ -231,7 +225,7 @@ msgstr "" "Irgendwann werden Sie jedoch sicherstellen wollen, dass Ihr Code auch als " "Anwendungspaket korrekt ausgeführt wird." -#: docs/en/tutorial/topics/testing.md:406 +#: docs/en/tutorial/topics/testing.md:411 #, fuzzy msgid "" "The `--test` and `-r` options can also be passed to the `run` command. If " @@ -244,7 +238,7 @@ msgstr "" "Testsuite ausgeführt, allerdings innerhalb des Anwendungspakets und nicht in " "Ihrer Entwicklungsumgebung:" -#: docs/en/tutorial/topics/testing.md:529 +#: docs/en/tutorial/topics/testing.md:534 #, fuzzy msgid "" "As with `briefcase dev --test`, the `-r` option is only needed the first " @@ -256,7 +250,7 @@ msgstr "" "Testabhängigkeiten vorhanden sind. Bei späteren Durchläufen können Sie diese " "Option weglassen." -#: docs/en/tutorial/topics/testing.md:533 +#: docs/en/tutorial/topics/testing.md:538 #, fuzzy msgid "" "You can also use the `--test` option on mobile backends: - so `briefcase run " @@ -266,7 +260,3 @@ msgstr "" "Sie können auch die Option `--test` auf mobilen Backends verwenden: - so " "funktionieren `briefcase run iOS --test` und `briefcase run android --test`, " "die Testsuite auf dem von Ihnen ausgewählten mobilen Gerät ausführen." - -#, fuzzy -#~ msgid "Testing times" -#~ msgstr "Prüfzeiten" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po index 210b5b0d..545fda36 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-08-19 17:09+0000\n" -"Last-Translator: tct123 \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:02+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" #: docs/en/tutorial/tutorial-0.md:1 msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" -msgstr "" +msgstr "Tutorial 0 - Erstinstallation { id=\"tutorial-0\" }" #: docs/en/tutorial/tutorial-0.md:3 msgid "" @@ -39,33 +39,31 @@ msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-0.md:12 -#, fuzzy msgid "" "If you're on macOS, you can get an official Python installer from " "[the Python website]{1}. You can use any version of Python from 3.10 or " "newer (although you should avoid alphas, betas and release candidates). We " "strongly recommend using Python 3.13 or newer." msgstr "" -"Wenn Sie unter Windows arbeiten, können Sie das offizielle " -"Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können " -"jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, " -"Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, " -"was Sie tun." +"Wenn Sie macOS verwenden, können Sie einen offiziellen Python-Installer von " +"[der Python-Website]{1} herunterladen. Sie können jede Version von Python ab " +"3.10 verwenden (allerdings sollten Sie Alpha-, Beta- und Release-Candidate-" +"Versionen vermeiden). Wir empfehlen dringend die Verwendung von Python 3.13 " +"oder neuer." #: docs/en/tutorial/tutorial-0.md:18 -#, fuzzy msgid "" "You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " "multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " "matter *how* you've installed Python - it only matters that you can run " "`python3` from your terminal and get a working, supported Python interpreter." msgstr "" -"Es gibt viele verschiedene Möglichkeiten, Python zu installieren. Sie können " -"Python über [homebrew]{1} installieren. Sie können [pyenv]{2} verwenden, um " -"mehrere Python-Installationen auf demselben Rechner zu verwalten. Windows-" -"Benutzer können Python aus dem Windows App Store installieren. Für Benutzer " -"mit einem datenwissenschaftlichen Hintergrund könnten auch [Anaconda]{3} " -"oder [Miniconda]{4} interessant sein." +"Sie können Python auch über [homebrew]{1} installieren, [pyenv]{2} zur " +"Verwaltung mehrerer Python-Installationen verwenden oder [Anaconda]{3} oder " +"[Miniconda]{4} verwenden. Es spielt keine Rolle, *wie* Sie Python " +"installiert haben – wichtig ist nur, dass Sie `python3` von Ihrem Terminal " +"aus ausführen können und einen funktionierenden, unterstützten Python-" +"Interpreter erhalten." #: docs/en/tutorial/tutorial-0.md:28 msgid "" @@ -74,16 +72,23 @@ msgid "" "is no longer supported by Python or BeeWare. You will *not* be able to the " "Xcode-provided version of Python to run this tutorial." msgstr "" +"Xcode und die Befehlszeilen-Entwicklertools bieten eine Version von Python " +"an; allerdings handelt es sich dabei um Python 3.9. Python 3.9 hat das Ende " +"seiner Lebensdauer erreicht und wird von Python oder BeeWare nicht mehr " +"unterstützt. Sie können die von Xcode bereitgestellte Version von Python " +"*nicht* verwenden, um dieses Tutorial auszuführen." #: docs/en/tutorial/tutorial-0.md:33 msgid "" "To check the version of Python that you have installed, run the following " "command:" msgstr "" +"Um die Version von Python zu überprüfen, die Sie installiert haben, führen " +"Sie den folgenden Befehl aus:" #: docs/en/tutorial/tutorial-0.md:40 msgid "If Python is installed, you'll see its version number." -msgstr "" +msgstr "Wenn Python installiert ist, wird die Versionsnummer angezeigt." #: docs/en/tutorial/tutorial-0.md:42 #: docs/en/tutorial/tutorial-0.md:62 @@ -136,6 +141,11 @@ msgid "" "Python, etc.) will prevent you from successfully packaging your application " "for distribution in later steps of this tutorial." msgstr "" +"**Wichtig:** Sie *müssen* das von Ihrem Betriebssystem bereitgestellte " +"Python-System verwenden. Alternative Python-Installationen (pyenv, Anaconda, " +"manuell kompiliertes Python usw.) verhindern, dass Sie Ihre Anwendung in " +"späteren Schritten dieses Tutorials erfolgreich für die Verteilung verpacken " +"können." #: docs/en/tutorial/tutorial-0.md:64 #: docs/en/tutorial/tutorial-0.md:133 @@ -152,7 +162,7 @@ msgid "" "strongly recommend using Python 3.13." msgstr "" "Wenn Sie unter Windows arbeiten, können Sie das offizielle " -"Installationsprogramm von der [Python-Website]{1} herunterladen. Sie können " +"Installationsprogramm von [der Python-Website]{1} herunterladen. Sie können " "jede stabile Version von Python ab 3.8 verwenden. Wir raten dazu, Alphas, " "Betas und Release Candidates zu meiden, es sei denn, Sie wissen *wirklich*, " "was Sie tun." @@ -280,6 +290,8 @@ msgid "" "If you're not using Python 3.12, replace the `-3.12` in these instructions " "with the version number that you are using." msgstr "" +"Wenn Sie nicht Python 3.12 verwenden, ersetzen Sie das `-3.12` in dieser " +"Anleitung durch die Versionsnummer, die Sie verwenden." #: docs/en/tutorial/tutorial-0.md:192 msgid "/// admonition | Errors running PowerShell Scripts" @@ -358,6 +370,3 @@ msgid "" msgstr "" "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, " "[unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." - -#~ msgid "Tutorial 0 - Let's get set up!" -#~ msgstr "Tutorial 0 - Erstinstallation" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po index 4146c41b..af08e9fd 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:01+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,10 +14,9 @@ msgstr "" #: docs/en/tutorial/tutorial-1.md:1 msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" -msgstr "" +msgstr "Tutorial 1 - Ihre erste App { id=\"tutorial-1\" }" #: docs/en/tutorial/tutorial-1.md:3 -#, fuzzy msgid "We're ready to create our first application." msgstr "Wir sind bereit, unsere erste Anwendung zu erstellen." @@ -263,13 +262,25 @@ msgstr "" msgid "This should open a GUI window:" msgstr "Dies sollte ein GUI-Fenster öffnen:" +#: docs/en/tutorial/tutorial-1.md:207 +msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:215 +msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:223 +msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-1.md:227 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" #: docs/en/tutorial/tutorial-1.md:229 msgid "If you encounter the error:" -msgstr "" +msgstr "Wenn Sie die folgende Fehlermeldung erhalten:" #: docs/en/tutorial/tutorial-1.md:237 msgid "" @@ -282,6 +293,8 @@ msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" +"Wenn Ihre Python-Version *nicht* unterstützt wird, müssen Sie das Tutorial " +"neu starten." #: docs/en/tutorial/tutorial-1.md:248 #, fuzzy @@ -311,6 +324,3 @@ msgstr "" "läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere " "Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir " "unserer Anwendung eine nützlichere Benutzeroberfläche geben." - -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "Tutorial 1 - Ihre erste App" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index ef6a5096..e585a57c 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-02-03 01:43+0000\n" -"Last-Translator: Marco Esters \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:01+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" #: docs/en/tutorial/tutorial-2.md:1 msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" -msgstr "" +msgstr "Tutorial 2 - Es wird interessant { id=\"tutorial-2\" }" #: docs/en/tutorial/tutorial-2.md:3 msgid "" @@ -59,26 +59,22 @@ msgstr "" #: docs/en/tutorial/tutorial-2.md:28 msgid "This file does two things:" -msgstr "" +msgstr "Diese Datei hat zwei Funktionen:" #: docs/en/tutorial/tutorial-2.md:30 msgid "It imports the `main` method from the `helloworld` app." msgstr "" #: docs/en/tutorial/tutorial-2.md:31 -#, fuzzy msgid "" "Then, it starts the application’s main loop. The main loop is the way a GUI " "application listens for user input (like mouse clicks and keyboard presses)." msgstr "" -"Das heißt, es importiert die Methode `main` aus der Anwendung `helloworld`; " -"und wenn es als Einstiegspunkt ausgeführt wird, ruft es die Methode main() " -"auf und startet die Hauptschleife der Anwendung. Die Hauptschleife ist die " -"Art und Weise, wie eine GUI-Anwendung auf Benutzereingaben (wie Mausklicks " -"und Tastatureingaben) wartet." +"Anschließend startet es die Hauptschleife der Anwendung. Die Hauptschleife " +"ist die Methode, mit der eine GUI-Anwendung auf Benutzereingaben (wie " +"Mausklicks und Tastatureingaben) reagiert." #: docs/en/tutorial/tutorial-2.md:35 -#, fuzzy msgid "" "The more interesting file is `app.py` - this contains the logic that creates " "our application window:" @@ -183,6 +179,11 @@ msgid "" "started the app. This will stop the app. You can then fix the error and " "restart the app." msgstr "" +"Wenn Sie einen Fehler in Ihrem Code gemacht haben, wird das Hauptfenster der " +"App möglicherweise nicht angezeigt. In diesem Fall können Sie **Strg+C** in " +"dem Terminal eingeben, in dem Sie die App gestartet haben. Dadurch wird die " +"App beendet. Anschließend können Sie den Fehler beheben und die App neu " +"starten." #: docs/en/tutorial/tutorial-2.md:113 #: docs/en/tutorial/tutorial-2.md:148 @@ -242,6 +243,7 @@ msgstr "Hinzufügen von eigenen Inhalten" #: docs/en/tutorial/tutorial-2.md:140 msgid "Let's do something more interesting with our `HelloWorld` app." msgstr "" +"Lassen Sie uns etwas Interessanteres mit unserer `HelloWorld` App machen." #: docs/en/tutorial/tutorial-2.md:142 #: docs/en/tutorial/tutorial-2.md:201 @@ -303,6 +305,8 @@ msgid "" "For more advanced uses, Toga also supports a separate style object, which is " "used like this:" msgstr "" +"Für fortgeschrittenere Anwendungen unterstützt Toga auch ein separates Style-" +"Objekt, das wie folgt verwendet wird:" #: docs/en/tutorial/tutorial-2.md:213 #, fuzzy @@ -446,6 +450,18 @@ msgstr "" msgid "This should open a GUI window:" msgstr "Dies sollte ein GUI-Fenster öffnen:" +#: docs/en/tutorial/tutorial-2.md:336 +msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:344 +msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:352 +msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-2.md:358 #, fuzzy msgid "" @@ -463,6 +479,10 @@ msgid "" "from the application's menu, or by typing **Ctrl+C** in the terminal where " "you ran `briefcase dev`." msgstr "" +"Bevor Sie fortfahren, schließen Sie die App. Wie in Tutorial 1 können Sie " +"dies tun, indem Sie auf die Schaltfläche „Schließen” im Anwendungsfenster " +"klicken, im Menü der Anwendung „Beenden/Exit” auswählen oder **Strg+C** in " +"dem Terminal eingeben, in dem Sie `briefcase dev` ausgeführt haben." #: docs/en/tutorial/tutorial-2.md:367 msgid "Next steps" @@ -482,6 +502,3 @@ msgstr "" "die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere " "Anwendung als eigenständiges Installationsprogramm verpacken, das wir an " "einen Freund oder Kunden schicken oder in einen App Store hochladen können." - -#~ msgid "Tutorial 2 - Making it interesting" -#~ msgstr "Tutorial 2 - Es wird interessant" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po index 17244861..5a89b998 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-3.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:01+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,34 +14,32 @@ msgstr "" #: docs/en/tutorial/tutorial-3.md:1 msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" -msgstr "" +msgstr "Tutorial 3 - Verpackung für den Vertrieb { id=\"tutorial-3\" }" #: docs/en/tutorial/tutorial-3.md:3 -#, fuzzy msgid "" "So far, we've been running our application in \"Developer mode\". This makes " "it easy for us to run our application locally - but what we really want is " "to be able to give our application to others." msgstr "" -"Bislang haben wir unsere Anwendung im \"Entwicklermodus\" ausgeführt. Das " -"macht es uns leicht, unsere Anwendung lokal auszuführen - aber was wir " -"wirklich wollen, ist, dass wir unsere Anwendung an andere weitergeben können." +"Bisher haben wir unsere Anwendung im `Entwicklermodus` ausgeführt. Das macht " +"es uns leicht, unsere Anwendung lokal auszuführen – aber was wir wirklich " +"wollen, ist, unsere Anwendung anderen zur Verfügung stellen zu können." #: docs/en/tutorial/tutorial-3.md:7 -#, fuzzy msgid "" "However, we don't want to have to teach our users how to install Python, " "create a virtual environment, clone a git repository, and run Briefcase in " "developer mode. We'd rather just give them an installer, and have the " "application Just Work." msgstr "" -"Wir möchten unseren Benutzern jedoch nicht beibringen müssen, wie man Python " -"installiert, eine virtuelle Umgebung erstellt, ein Git-Repository klont und " -"Briefcase im Entwicklermodus startet. Wir würden ihnen lieber einfach ein " -"Installationsprogramm geben und die Anwendung einfach funktionieren lassen." +"Wir möchten unseren Benutzern jedoch nicht beibringen müssen, wie sie Python " +"installieren, eine virtuelle Umgebung erstellen, ein Git-Repository klonen " +"und Briefcase im Entwicklermodus ausführen. Wir möchten ihnen lieber einfach " +"ein Installationsprogramm zur Verfügung stellen, damit die Anwendung einfach " +"funktioniert." #: docs/en/tutorial/tutorial-3.md:12 -#, fuzzy msgid "" "Briefcase can be used to package your application for distribution in this " "way." @@ -50,12 +48,10 @@ msgstr "" "diese Weise zu verpacken." #: docs/en/tutorial/tutorial-3.md:15 -#, fuzzy msgid "Creating your application scaffold" msgstr "Erstellen Ihres Anwendungsgerüsts" #: docs/en/tutorial/tutorial-3.md:17 -#, fuzzy msgid "" "Since this is the first time we're packaging our application, we need to " "create some configuration files and other scaffolding to support the " @@ -102,19 +98,24 @@ msgstr "" #: docs/en/tutorial/tutorial-3.md:85 msgid "If you receive an error that reads something like:" -msgstr "" +msgstr "Wenn Sie eine Fehlermeldung erhalten, die in etwa wie folgt lautet:" #: docs/en/tutorial/tutorial-3.md:87 msgid "" "The version of Python being used to run Briefcase (3.12) is not the system " "python3 (3.10)." msgstr "" +"Die zur Ausführung von Briefcase verwendete Python-Version (3.12) ist nicht " +"die System-Python-Version (3.10)." #: docs/en/tutorial/tutorial-3.md:90 msgid "" "You will need to recreate your virtual environment using the system `python3`" ". Using the system Python is a requirement for packaging your application." msgstr "" +"Sie müssen Ihre virtuelle Umgebung mit dem System `python3` neu erstellen. " +"Die Verwendung des Systems Python ist eine Voraussetzung für die Paketierung " +"Ihrer Anwendung." #: docs/en/tutorial/tutorial-3.md:98 #: docs/en/tutorial/tutorial-3.md:247 @@ -227,6 +228,11 @@ msgid "" "included with the app. Instead, the app will use the Python that is provided " "by the distribution of Linux being targeted." msgstr "" +"Wie oben erwähnt, wird bei der Paketierung einer Anwendung durch Briefcase " +"als natives Linux-Systempaket (das Standardpaketformat für Linux) kein " +"Support-Paket mit der Anwendung mitgeliefert. Stattdessen verwendet die " +"Anwendung das Python, das von der jeweiligen Linux-Distribution " +"bereitgestellt wird." #: docs/en/tutorial/tutorial-3.md:168 #, fuzzy @@ -400,6 +406,11 @@ msgid "" "Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " "terminal where you ran `briefcase run`." msgstr "" +"Bevor Sie fortfahren, schließen Sie die App. Wie in den vorherigen Schritten " +"des Tutorials können Sie dies tun, indem Sie auf die Schaltfläche „Schließen“" +" im Anwendungsfenster klicken, im Menü der Anwendung „Beenden/Exit“ " +"auswählen oder **Strg+C** in dem Terminal eingeben, in dem Sie `briefcase " +"run` ausgeführt haben." #: docs/en/tutorial/tutorial-3.md:370 #, fuzzy @@ -644,7 +655,3 @@ msgid "" "we get those updates into our packaged application? Turn to [Tutorial 4]" "[tutorial-4] to find out..." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 3 - Packaging for distribution" -#~ msgstr "Tutorial 3 - Verpackung für den Vertrieb" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po index 705456fc..3808e39f 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:01+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,10 +14,9 @@ msgstr "" #: docs/en/tutorial/tutorial-4.md:1 msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" -msgstr "" +msgstr "Tutorial 4 - Aktualisieren Ihrer Anwendung { id=\"tutorial-4\" }" #: docs/en/tutorial/tutorial-4.md:3 -#, fuzzy msgid "" "In the last tutorial, we packaged our application as a native application. " "If you're dealing with a real-world app, that isn't going to be the end of " @@ -25,39 +24,35 @@ msgid "" "make some changes. Even if your application is perfect, you'll eventually " "want to publish version 2 of your application with improvements." msgstr "" -"Im letzten Lehrgang haben wir unsere Anwendung als native Anwendung " -"verpackt. Wenn Sie es mit einer realen Anwendung zu tun haben, wird das " -"nicht das Ende der Geschichte sein - Sie werden wahrscheinlich einige Tests " -"durchführen, Probleme entdecken und einige Änderungen vornehmen müssen. " -"Selbst wenn Ihre Anwendung perfekt ist, werden Sie irgendwann die Version 2 " -"Ihrer Anwendung mit Verbesserungen veröffentlichen wollen." +"Im letzten Tutorial haben wir unsere Anwendung als native Anwendung gepackt. " +"Wenn Sie mit einer realen Anwendung arbeiten, ist das noch nicht das Ende " +"der Geschichte – Sie werden wahrscheinlich einige Tests durchführen, " +"Probleme entdecken und Änderungen vornehmen müssen. Selbst wenn Ihre " +"Anwendung perfekt ist, werden Sie irgendwann eine verbesserte Version 2 " +"Ihrer Anwendung veröffentlichen wollen." #: docs/en/tutorial/tutorial-4.md:10 -#, fuzzy msgid "So - how do you update your installed app when you make code changes?" msgstr "" -"Wie aktualisieren Sie also Ihre installierte Anwendung, wenn Sie " -"Codeänderungen vornehmen?" +"Also – wie aktualisieren Sie Ihre installierte App, wenn Sie Änderungen am " +"Code vornehmen?" #: docs/en/tutorial/tutorial-4.md:12 -#, fuzzy msgid "Updating application code" msgstr "Aktualisierung des Anwendungscodes" #: docs/en/tutorial/tutorial-4.md:14 -#, fuzzy msgid "" "Our application currently prints to the console when you press the button. " "However, GUI applications shouldn't really use the console for output. They " "need to use dialogs to communicate with users." msgstr "" -"Unsere Anwendung gibt derzeit auf der Konsole aus, wenn Sie die Schaltfläche " -"drücken. Allerdings sollten GUI-Anwendungen die Konsole nicht wirklich für " -"die Ausgabe verwenden. Sie müssen Dialoge verwenden, um mit den Benutzern zu " -"kommunizieren." +"Unsere Anwendung gibt derzeit eine Meldung auf der Konsole aus, wenn Sie die " +"Schaltfläche drücken. GUI-Anwendungen sollten jedoch nicht wirklich die " +"Konsole für die Ausgabe verwenden. Sie müssen Dialoge verwenden, um mit " +"Benutzern zu kommunizieren." #: docs/en/tutorial/tutorial-4.md:18 -#, fuzzy msgid "" "Let's add a dialog box to say hello, instead of writing to the console. " "Modify the `say_hello` callback so it looks like this:" @@ -75,64 +70,70 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-4.md:36 -#, fuzzy msgid "" "This directs Toga to open a modal dialog box when the button is pressed." msgstr "" -"Damit wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die " +"Dadurch wird Toga angewiesen, ein modales Dialogfeld zu öffnen, wenn die " "Schaltfläche gedrückt wird." #: docs/en/tutorial/tutorial-4.md:38 -#, fuzzy msgid "" "If you run `briefcase dev`, enter a name, and press the button, you'll see " "the new dialog box:" msgstr "" -"Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und die Taste " -"drücken, sehen Sie das neue Dialogfenster:" +"Wenn Sie `briefcase dev` ausführen, einen Namen eingeben und auf die " +"Schaltfläche klicken, wird das neue Dialogfeld angezeigt:" #: docs/en/tutorial/tutorial-4.md:41 -#: docs/en/tutorial/tutorial-4.md:85 -#: docs/en/tutorial/tutorial-4.md:198 +#: docs/en/tutorial/tutorial-4.md:81 +#: docs/en/tutorial/tutorial-4.md:194 msgid "/// tab | macOS" msgstr "" -#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:43 msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" msgstr "" -#: docs/en/tutorial/tutorial-4.md:51 -#: docs/en/tutorial/tutorial-4.md:59 -#: docs/en/tutorial/tutorial-4.md:67 -#: docs/en/tutorial/tutorial-4.md:99 -#: docs/en/tutorial/tutorial-4.md:122 -#: docs/en/tutorial/tutorial-4.md:138 -#: docs/en/tutorial/tutorial-4.md:219 -#: docs/en/tutorial/tutorial-4.md:248 -#: docs/en/tutorial/tutorial-4.md:266 +#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:55 +#: docs/en/tutorial/tutorial-4.md:63 +#: docs/en/tutorial/tutorial-4.md:95 +#: docs/en/tutorial/tutorial-4.md:118 +#: docs/en/tutorial/tutorial-4.md:134 +#: docs/en/tutorial/tutorial-4.md:215 +#: docs/en/tutorial/tutorial-4.md:244 +#: docs/en/tutorial/tutorial-4.md:262 msgid "///" msgstr "" -#: docs/en/tutorial/tutorial-4.md:53 -#: docs/en/tutorial/tutorial-4.md:101 -#: docs/en/tutorial/tutorial-4.md:221 +#: docs/en/tutorial/tutorial-4.md:49 +#: docs/en/tutorial/tutorial-4.md:97 +#: docs/en/tutorial/tutorial-4.md:217 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-4.md:61 -#: docs/en/tutorial/tutorial-4.md:124 -#: docs/en/tutorial/tutorial-4.md:250 +#: docs/en/tutorial/tutorial-4.md:51 +msgid "![Hello World Tutorial 4 dialog, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:57 +#: docs/en/tutorial/tutorial-4.md:120 +#: docs/en/tutorial/tutorial-4.md:246 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-4.md:69 +#: docs/en/tutorial/tutorial-4.md:59 +msgid "![Hello World Tutorial 4 dialog, on Windows]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:65 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "" "Wenn Sie jedoch `briefcase run` ausführen, wird das Dialogfeld nicht " "angezeigt." -#: docs/en/tutorial/tutorial-4.md:71 +#: docs/en/tutorial/tutorial-4.md:67 msgid "" "Why is this? Well, `briefcase dev` operates by running your code in place -" "it tries to produce as realistic runtime environment for your code as " @@ -142,7 +143,7 @@ msgid "" "the moment, your application still has the old code in it." msgstr "" -#: docs/en/tutorial/tutorial-4.md:79 +#: docs/en/tutorial/tutorial-4.md:75 #, fuzzy msgid "" "So - we need to tell briefcase to update your app, copying in the new " @@ -156,7 +157,7 @@ msgstr "" "bietet jedoch einen einfacheren Weg - Sie können den Code für Ihre " "bestehende gebündelte Anwendung aktualisieren:" -#: docs/en/tutorial/tutorial-4.md:140 +#: docs/en/tutorial/tutorial-4.md:136 #, fuzzy msgid "" "If Briefcase can't find the scaffolded template, it will automatically " @@ -165,7 +166,7 @@ msgstr "" "Wenn Briefcase die gerüstete Vorlage nicht finden kann, ruft es automatisch " "`create` auf, um ein neues Gerüst zu erzeugen." -#: docs/en/tutorial/tutorial-4.md:143 +#: docs/en/tutorial/tutorial-4.md:139 #, fuzzy msgid "" "Now that we've updated the installer code, we can then run `briefcase build` " @@ -177,7 +178,7 @@ msgstr "" "die aktualisierte Anwendung zu starten, und `briefcase package`, um die " "Anwendung für die Verteilung neu zu verpacken." -#: docs/en/tutorial/tutorial-4.md:148 +#: docs/en/tutorial/tutorial-4.md:144 #, fuzzy msgid "" "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " @@ -191,12 +192,12 @@ msgstr "" "Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu " "halten)" -#: docs/en/tutorial/tutorial-4.md:153 +#: docs/en/tutorial/tutorial-4.md:149 #, fuzzy msgid "Update and run in one step" msgstr "Aktualisierung und Ausführung in einem Schritt" -#: docs/en/tutorial/tutorial-4.md:155 +#: docs/en/tutorial/tutorial-4.md:151 #, fuzzy msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " @@ -221,7 +222,7 @@ msgstr "" "Abkürzung, die dieses Verwendungsmuster unterstützt - die `-u` (oder " "`--update`) Option auf dem `run` Befehl." -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:162 #, fuzzy msgid "" "Let's try making another change. You may have noticed that if you don't type " @@ -233,7 +234,7 @@ msgstr "" "Texteingabefeld eingeben. Ändern wir die Funktion \"say_hello\" erneut, um " "diesen Sonderfall zu behandeln." -#: docs/en/tutorial/tutorial-4.md:170 +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy msgid "" "At the top of the file, between the imports and the `class HelloWorld` " @@ -244,14 +245,14 @@ msgstr "" "Definition, fügen Sie eine Utility-Methode hinzu, um eine entsprechende " "Begrüßung in Abhängigkeit vom Wert des angegebenen Namens zu erzeugen:" -#: docs/en/tutorial/tutorial-4.md:182 +#: docs/en/tutorial/tutorial-4.md:178 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "" "Ändern Sie dann den \"say_hello\"-Callback, um diese neue Dienstprogramm-" "Methode zu verwenden:" -#: docs/en/tutorial/tutorial-4.md:194 +#: docs/en/tutorial/tutorial-4.md:190 #, fuzzy msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " @@ -261,7 +262,7 @@ msgstr "" "zu bestätigen, dass die neue Logik funktioniert; dann aktualisieren, bauen " "und starten Sie die Anwendung mit einem Befehl:" -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:264 #, fuzzy msgid "" "The package command also accepts the `-u` argument, so if you make a change " @@ -272,11 +273,11 @@ msgstr "" "Änderung an Ihrem Anwendungscode vornehmen und sofort neu packen wollen, " "können Sie `briefcase package -u` ausführen." -#: docs/en/tutorial/tutorial-4.md:272 +#: docs/en/tutorial/tutorial-4.md:268 msgid "Next steps" msgstr "Nächste Schritte" -#: docs/en/tutorial/tutorial-4.md:274 +#: docs/en/tutorial/tutorial-4.md:270 #, fuzzy msgid "" "We now have our application packaged for distribution on desktop platforms, " @@ -285,12 +286,9 @@ msgstr "" "Wir haben unsere Anwendung jetzt für die Verteilung auf Desktop-Plattformen " "verpackt und konnten den Code in unserer Anwendung aktualisieren." -#: docs/en/tutorial/tutorial-4.md:277 +#: docs/en/tutorial/tutorial-4.md:273 msgid "" "But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " "application into a mobile application, and deploy it onto a device " "simulator, and onto a phone." msgstr "" - -#~ msgid "Tutorial 4 - Updating your application" -#~ msgstr "Tutorial 4 - Aktualisieren Ihrer Anwendung" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po index c6aeebc2..a14716ab 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-07-30 00:09+0000\n" -"Last-Translator: tct123 \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:02+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:1 msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" -msgstr "" +msgstr "Tutorial 5 - Mobiles Arbeiten: Android { id=\"mobile-android\" }" #: docs/en/tutorial/tutorial-5/android.md:3 msgid "" @@ -51,7 +51,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:16 #: docs/en/tutorial/tutorial-5/android.md:121 #: docs/en/tutorial/tutorial-5/android.md:204 -#: docs/en/tutorial/tutorial-5/android.md:333 +#: docs/en/tutorial/tutorial-5/android.md:336 msgid "/// tab | macOS" msgstr "" @@ -65,30 +65,33 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:216 #: docs/en/tutorial/tutorial-5/android.md:230 #: docs/en/tutorial/tutorial-5/android.md:244 -#: docs/en/tutorial/tutorial-5/android.md:288 -#: docs/en/tutorial/tutorial-5/android.md:347 -#: docs/en/tutorial/tutorial-5/android.md:363 -#: docs/en/tutorial/tutorial-5/android.md:379 -#: docs/en/tutorial/tutorial-5/android.md:399 +#: docs/en/tutorial/tutorial-5/android.md:258 +#: docs/en/tutorial/tutorial-5/android.md:268 +#: docs/en/tutorial/tutorial-5/android.md:278 +#: docs/en/tutorial/tutorial-5/android.md:290 +#: docs/en/tutorial/tutorial-5/android.md:301 +#: docs/en/tutorial/tutorial-5/android.md:350 +#: docs/en/tutorial/tutorial-5/android.md:366 +#: docs/en/tutorial/tutorial-5/android.md:382 +#: docs/en/tutorial/tutorial-5/android.md:402 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:45 #: docs/en/tutorial/tutorial-5/android.md:141 #: docs/en/tutorial/tutorial-5/android.md:218 -#: docs/en/tutorial/tutorial-5/android.md:349 +#: docs/en/tutorial/tutorial-5/android.md:352 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:74 #: docs/en/tutorial/tutorial-5/android.md:161 #: docs/en/tutorial/tutorial-5/android.md:232 -#: docs/en/tutorial/tutorial-5/android.md:365 +#: docs/en/tutorial/tutorial-5/android.md:368 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:104 -#, fuzzy msgid "" "When you run `briefcase create android` for the first time, Briefcase " "downloads a Java JDK, and the Android SDK. File sizes and download times can " @@ -191,7 +194,15 @@ msgstr "" "Briefcase `run` wird das virtuelle Gerät automatisch starten. Wenn das Gerät " "hochfährt, sehen Sie das Android-Logo:" -#: docs/en/tutorial/tutorial-5/android.md:259 +#: docs/en/tutorial/tutorial-5/android.md:253 +msgid "![Android virtual device booting]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:256 +msgid "Android virtual device booting" +msgstr "Booten eines virtuellen Android-Geräts" + +#: docs/en/tutorial/tutorial-5/android.md:260 msgid "" "Once the device has finished booting, Briefcase will install your app on the " "device. You will briefly see a launcher screen:" @@ -199,18 +210,36 @@ msgstr "" "Sobald das Gerät hochgefahren ist, wird Briefcase Ihre Anwendung auf dem " "Gerät installieren. Sie sehen kurz einen Startbildschirm:" -#: docs/en/tutorial/tutorial-5/android.md:269 +#: docs/en/tutorial/tutorial-5/android.md:263 +msgid "" +"![Android virtual device fully started, on the launcher screen]{1} /// " +"caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:266 +msgid "Android virtual device fully started, on the launcher screen" +msgstr "Virtuelles Android-Gerät vollständig gestartet, auf dem Startbildschirm" + +#: docs/en/tutorial/tutorial-5/android.md:270 msgid "" "The app will then start. You'll see a splash screen while the app starts up:" msgstr "" "Die Anwendung wird dann gestartet. Während die App startet, wird ein " "Begrüßungsbildschirm angezeigt:" -#: docs/en/tutorial/tutorial-5/android.md:278 -msgid "/// admonition | The emulator didn't start!" +#: docs/en/tutorial/tutorial-5/android.md:273 +msgid "![App splash screen]{1} /// caption" msgstr "" +#: docs/en/tutorial/tutorial-5/android.md:276 +msgid "App splash screen" +msgstr "App-Startbildschirm" + #: docs/en/tutorial/tutorial-5/android.md:280 +msgid "/// admonition | The emulator didn't start!" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:282 msgid "" "The Android emulator is a complex piece of software that relies on a number " "of hardware and operating system features - features that may not be " @@ -225,7 +254,7 @@ msgstr "" "Abschnitt [Anforderungen und Empfehlungen]{1} in der Android-" "Entwicklerdokumentation." -#: docs/en/tutorial/tutorial-5/android.md:290 +#: docs/en/tutorial/tutorial-5/android.md:292 msgid "" "The first time the app starts, it needs to unpack itself onto the device. " "This may take a few seconds. Once it's unpacked, you'll see the Android " @@ -235,7 +264,15 @@ msgstr "" "entpacken. Das kann ein paar Sekunden dauern. Sobald sie entpackt ist, sehen " "Sie die Android-Version unserer Desktop-App:" -#: docs/en/tutorial/tutorial-5/android.md:300 +#: docs/en/tutorial/tutorial-5/android.md:296 +msgid "![Demo app fully launched]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:299 +msgid "Demo app fully launched" +msgstr "Demo-App vollständig gestartet" + +#: docs/en/tutorial/tutorial-5/android.md:303 msgid "" "If you fail to see your app launching, you may need to check your terminal " "where you ran `briefcase run` and look for any error messages." @@ -244,7 +281,7 @@ msgstr "" "überprüfen, in dem Sie `briefcase run` ausgeführt haben, und nach " "Fehlermeldungen suchen." -#: docs/en/tutorial/tutorial-5/android.md:303 +#: docs/en/tutorial/tutorial-5/android.md:306 msgid "" "While the app is running, you'll see a lot of messages being streamed in the " "console. This is a stream of the application's logs from the emulator. " @@ -252,8 +289,14 @@ msgid "" "console, but it will not close the emulator. This is so you can test new " "changes without restarting the emulator." msgstr "" +"Während die App ausgeführt wird, werden in der Konsole zahlreiche Meldungen " +"angezeigt. Dabei handelt es sich um einen Stream der Anwendungsprotokolle " +"aus dem Emulator. Durch Eingabe von Strg+C im Terminal wird die Anzeige der " +"Informationen in der Konsole angehalten, der Emulator wird jedoch nicht " +"geschlossen. Auf diese Weise können Sie neue Änderungen testen, ohne den " +"Emulator neu starten zu müssen." -#: docs/en/tutorial/tutorial-5/android.md:309 +#: docs/en/tutorial/tutorial-5/android.md:312 msgid "" "In future, if you want to run on this device without using the menu, you can " "provide the emulator's name to Briefcase, using `briefcase run android -d " @@ -264,11 +307,11 @@ msgstr "" "briefcase run android -d @beePhone` verwenden, um direkt auf dem virtuellen " "Gerät zu arbeiten." -#: docs/en/tutorial/tutorial-5/android.md:314 +#: docs/en/tutorial/tutorial-5/android.md:317 msgid "Run the app on a physical device" msgstr "Ausführen der App auf einem physischen Gerät" -#: docs/en/tutorial/tutorial-5/android.md:316 +#: docs/en/tutorial/tutorial-5/android.md:319 msgid "" "If you have a physical Android phone or tablet, you can connect it to your " "computer with a USB cable, and then use the Briefcase to target your " @@ -278,7 +321,7 @@ msgstr "" "mit einem USB-Kabel an Ihren Computer anschließen und dann Briefcase " "verwenden, um Ihr physisches Gerät anzusteuern." -#: docs/en/tutorial/tutorial-5/android.md:320 +#: docs/en/tutorial/tutorial-5/android.md:323 msgid "" "Android requires that you prepare your device before it can be used for " "development. You will need to make 2 changes to the options on your device:" @@ -287,15 +330,15 @@ msgstr "" "Entwicklung verwenden können. Sie müssen 2 Änderungen an den Optionen auf " "Ihrem Gerät vornehmen:" -#: docs/en/tutorial/tutorial-5/android.md:324 +#: docs/en/tutorial/tutorial-5/android.md:327 msgid "Enable developer options" msgstr "Entwickleroptionen aktivieren" -#: docs/en/tutorial/tutorial-5/android.md:325 +#: docs/en/tutorial/tutorial-5/android.md:328 msgid "Enable USB debugging" msgstr "USB-Debugging einschalten" -#: docs/en/tutorial/tutorial-5/android.md:327 +#: docs/en/tutorial/tutorial-5/android.md:330 msgid "" "Details on how to make these changes can be found " "[in the Android developer documentation]{1}." @@ -303,7 +346,7 @@ msgstr "" "Details zur Durchführung dieser Änderungen können " "[in der Android-Entwicklerdokumentation]{1} nachgelesen werden." -#: docs/en/tutorial/tutorial-5/android.md:330 +#: docs/en/tutorial/tutorial-5/android.md:333 msgid "" "Once these steps have been completed, your device should appear in the list " "of available devices when you run `briefcase run android`." @@ -311,7 +354,7 @@ msgstr "" "Sobald diese Schritte abgeschlossen sind, sollte Ihr Gerät in der Liste der " "verfügbaren Geräte erscheinen, wenn Sie `briefcase run android` ausführen." -#: docs/en/tutorial/tutorial-5/android.md:381 +#: docs/en/tutorial/tutorial-5/android.md:384 msgid "" "Here we can see a new physical device with it's serial number on the " "deployment list - in this case, a Pixel 3a. In the future, if you want to " @@ -326,11 +369,11 @@ msgstr "" "run android -d 94ZZY0LNE8`). Dies wird direkt auf dem Gerät ausgeführt, ohne " "dass Sie gefragt werden." -#: docs/en/tutorial/tutorial-5/android.md:388 +#: docs/en/tutorial/tutorial-5/android.md:391 msgid "/// admonition | My device doesn't appear!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:390 +#: docs/en/tutorial/tutorial-5/android.md:393 msgid "" "If your device doesn't appear on this list at all, either you haven't " "enabled USB debugging, (or the device isn't plugged in!)." @@ -338,7 +381,7 @@ msgstr "" "Wenn Ihr Gerät in dieser Liste nicht erscheint, haben Sie entweder das USB-" "Debugging nicht aktiviert (oder das Gerät ist nicht eingesteckt!)." -#: docs/en/tutorial/tutorial-5/android.md:393 +#: docs/en/tutorial/tutorial-5/android.md:396 msgid "" "If your device appears, but is listed as " "\"Unknown device (not authorized for development)\", developer mode hasn't " @@ -351,15 +394,12 @@ msgstr "" "[Schritte zum Aktivieren der Entwickleroptionen]{1} erneut aus, und führen " "Sie \"Briefcase run android\" erneut aus." -#: docs/en/tutorial/tutorial-5/android.md:401 +#: docs/en/tutorial/tutorial-5/android.md:404 msgid "Next steps" msgstr "Nächste Schritte" -#: docs/en/tutorial/tutorial-5/android.md:403 +#: docs/en/tutorial/tutorial-5/android.md:406 msgid "" "We've now got an application on our phone! Is there anywhere else we can " "deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." msgstr "" - -#~ msgid "Tutorial 5 - Taking it mobile: Android" -#~ msgstr "Tutorial 5 - Mobiles Arbeiten: Android" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po index 6692e609..26559727 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-08-14 00:09+0000\n" -"Last-Translator: tct123 \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:01+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/iOS.md:1 msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" -msgstr "" +msgstr "Tutorial 5 – Mobil nutzen: iOS { id=\"mobile-ios\" }" #: docs/en/tutorial/tutorial-5/iOS.md:3 msgid "" @@ -26,15 +26,23 @@ msgid "" "click \"Download and Install\" to install it. Xcode will install the system " "components, followed by the iOS Simulator." msgstr "" +"Um iOS-Anwendungen zu kompilieren, benötigen wir Xcode, das kostenlos " +"[im macOS App Store]{1} erhältlich ist. Sobald Xcode installiert ist, " +"starten Sie es über „Anwendungen” und akzeptieren Sie die Xcode-" +"Lizenzvereinbarung. Als Nächstes zeigt Xcode an, welche Komponenten " +"integriert sind und welche Komponenten Sie herunterladen können. Aktivieren " +"Sie das Kontrollkästchen neben iOS (gefolgt von der aktuellen Versionsnummer)" +" und klicken Sie dann auf „Herunterladen und installieren“, um es zu " +"installieren. Xcode installiert die Systemkomponenten und anschließend den " +"iOS-Simulator." #: docs/en/tutorial/tutorial-5/iOS.md:13 -#, fuzzy msgid "" "Once we've got Xcode and the iOS simulator installed, we can take our " "application and deploy it as an iOS app." msgstr "" -"Sobald wir Xcode installiert haben, können wir unsere Anwendung als iOS-App " -"bereitstellen." +"Sobald wir Xcode und den iOS-Simulator installiert haben, können wir unsere " +"Anwendung als iOS-App bereitstellen." #: docs/en/tutorial/tutorial-5/iOS.md:16 msgid "" @@ -98,6 +106,11 @@ msgid "" "messages in the console, but it will not close the simulator. This is so you " "can test new changes without restarting the simulator." msgstr "" +"Während die App ausgeführt wird, werden in der Konsole eine Reihe von " +"Simulator-Protokollausgabemeldungen angezeigt. Durch Eingabe von Strg+C im " +"Terminal werden die Meldungen in der Konsole angehalten, der Simulator wird " +"jedoch nicht geschlossen. Auf diese Weise können Sie neue Änderungen testen, " +"ohne den Simulator neu starten zu müssen." #: docs/en/tutorial/tutorial-5/iOS.md:127 msgid "" @@ -135,6 +148,3 @@ msgid "" "We've now got an application on our phone! Is there anywhere else we can " "deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." msgstr "" - -#~ msgid "Tutorial 5 - Taking it mobile: iOS" -#~ msgstr "Tutorial 5 – Mobil nutzen: iOS" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po index 2ce140c4..f916296c 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-08-14 00:09+0000\n" "Last-Translator: tct123 \n" "Language-Team: German \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 20:01+0000\n" +"Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,27 +14,25 @@ msgstr "" #: docs/en/tutorial/tutorial-6.md:1 msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" -msgstr "" +msgstr "Tutorial 6 - Ins Netz stellen! { id=\"tutorial-6\" }" #: docs/en/tutorial/tutorial-6.md:3 -#, fuzzy msgid "" "In addition to supporting mobile platforms, the Toga widget toolkit also " "supports the web! Using the same API that you used to deploy your desktop " "and mobile applications, you can deploy your application as a single-page " "web app." msgstr "" -"Das Toga Widget Toolkit unterstützt nicht nur mobile Plattformen, sondern " -"auch das Web! Mit der gleichen API, die Sie für die Bereitstellung Ihrer " -"Desktop- und mobilen Anwendungen verwendet haben, können Sie Ihre Anwendung " -"als einseitige Webanwendung bereitstellen." +"Neben mobilen Plattformen unterstützt das Toga-Widget-Toolkit auch das Web! " +"Mit derselben API, die Sie für die Bereitstellung Ihrer Desktop- und " +"Mobilanwendungen verwendet haben, können Sie Ihre Anwendung als Single-Page-" +"Web-App bereitstellen." #: docs/en/tutorial/tutorial-6.md:8 msgid "/// admonition | Proof of Concept" msgstr "" #: docs/en/tutorial/tutorial-6.md:10 -#, fuzzy msgid "" "The Toga Web backend is the least mature of all the Toga backends. It's " "mature enough to show off a few features, but it's likely to be buggy, and " @@ -43,22 +41,21 @@ msgid "" "\"Proof of Concept\" - enough to demonstrate what can be done, but not " "enough to be relied on for serious development." msgstr "" -"Das Toga Web Backend ist das am wenigsten ausgereifte von allen Toga " -"Backends. Es ist ausgereift genug, um ein paar Funktionen zu zeigen, aber es " -"wird wahrscheinlich fehlerhaft sein und viele der Widgets, die auf anderen " -"Plattformen verfügbar sind, fehlen. Zum jetzigen Zeitpunkt sollte Web " -"Deployment als \"Proof of Concept\" betrachtet werden - genug, um zu " -"demonstrieren, was getan werden kann, aber nicht genug, um sich auf eine " -"ernsthafte Entwicklung zu verlassen." +"Das Toga-Web-Backend ist das am wenigsten ausgereifte aller Toga-Backends. " +"Es ist zwar ausgereift genug, um einige Funktionen zu demonstrieren, aber es " +"ist wahrscheinlich fehlerhaft und es fehlen viele der Widgets, die auf " +"anderen Plattformen verfügbar sind. Zum jetzigen Zeitpunkt sollte die Web-" +"Bereitstellung als „Proof of Concept“ betrachtet werden – ausreichend, um zu " +"zeigen, was möglich ist, aber nicht ausreichend, um sich bei ernsthaften " +"Entwicklungsprojekten darauf zu verlassen." #: docs/en/tutorial/tutorial-6.md:17 -#, fuzzy msgid "" "If you have problems with this step of the tutorial, you can skip to the " "next page." msgstr "" "Wenn Sie Probleme mit diesem Schritt des Tutorials haben, können Sie zur " -"nächsten Seite wechseln." +"nächsten Seite springen." #: docs/en/tutorial/tutorial-6.md:20 #: docs/en/tutorial/tutorial-6.md:70 @@ -68,12 +65,10 @@ msgid "///" msgstr "" #: docs/en/tutorial/tutorial-6.md:22 -#, fuzzy msgid "Deploying as a web app" msgstr "Als Webanwendung bereitstellen" #: docs/en/tutorial/tutorial-6.md:24 -#, fuzzy msgid "" "The process of deploying as a single-page web app follows the same familiar " "pattern - you create the application, then build the application, then run " @@ -83,13 +78,14 @@ msgid "" "you. Since this is our first time running the app for the web, we can " "perform all three steps with one command:" msgstr "" -"Der Prozess der Bereitstellung als einseitige Webanwendung folgt dem " -"gleichen bekannten Muster - Sie erstellen die Anwendung, bauen die Anwendung " -"und führen sie dann aus. Wenn Sie versuchen, eine Anwendung auszuführen und " -"Briefcase feststellt, dass sie nicht für die angestrebte Plattform erstellt " -"oder gebaut wurde, führt es die Schritte zum Erstellen und Bauen für Sie " -"aus. Da wir die Anwendung zum ersten Mal für das Web ausführen, können wir " -"alle drei Schritte mit einem Befehl ausführen:" +"Der Prozess der Bereitstellung als Single-Page-Web-App folgt dem gleichen " +"bekannten Muster: Sie erstellen die Anwendung, bauen sie dann und führen sie " +"anschließend aus. Briefcase kann jedoch etwas intelligenter sein: Wenn Sie " +"versuchen, eine Anwendung auszuführen, und Briefcase feststellt, dass sie " +"nicht für die Zielplattform erstellt oder gebaut wurde, führt es die " +"Schritte zum Erstellen und Bauen für Sie aus. Da wir die App zum ersten Mal " +"für das Web ausführen, können wir alle drei Schritte mit einem einzigen " +"Befehl ausführen:" #: docs/en/tutorial/tutorial-6.md:32 msgid "/// tab | macOS" @@ -174,6 +170,3 @@ msgstr "" "Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python " "Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7]" "[tutorial-7] an, um das herauszufinden..." - -#~ msgid "Tutorial 6 - Put it on the web!" -#~ msgstr "Tutorial 6 - Ins Netz stellen!" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po index 824d7777..e824433d 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 23:52+0000\n" +"Last-Translator: Russell Keith-Magee \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,37 +14,36 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:1 msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" -msgstr "" +msgstr "Tutorial 7 – Starten Sie diese (Dritt-)Anwendung { id=\"tutorial-7\" }" #: docs/en/tutorial/tutorial-7.md:3 -#, fuzzy msgid "" "So far, the app we've built has only used our own code, plus the code " "provided by BeeWare. However, in a real-world app, you'll likely want to use " "a third-party library, downloaded from the Python Package Index (PyPI)." msgstr "" -"Bisher haben wir in der von uns erstellten Anwendung nur unseren eigenen " -"Code sowie den von BeeWare bereitgestellten Code verwendet. In einer realen " -"Anwendung werden Sie jedoch wahrscheinlich eine Bibliothek eines " -"Drittanbieters verwenden wollen, die Sie aus dem Python Package Index (PyPI) " -"herunterladen." +"Bisher hat die von uns entwickelte App nur unseren eigenen Code sowie den " +"von BeeWare bereitgestellten Code verwendet. In einer realen App werden Sie " +"jedoch wahrscheinlich eine Bibliothek eines Drittanbieters verwenden wollen, " +"die Sie aus dem Python Package Index (PyPI) herunterladen können." #: docs/en/tutorial/tutorial-7.md:8 -#, fuzzy msgid "Let's modify our app to include a third-party library." msgstr "" -"Ändern wir unsere Anwendung so, dass sie eine Bibliothek eines " +"Lassen Sie uns unsere App so ändern, dass sie eine Bibliothek eines " "Drittanbieters enthält." #: docs/en/tutorial/tutorial-7.md:10 msgid "Adding a package" -msgstr "" +msgstr "Paket hinzufügen" #: docs/en/tutorial/tutorial-7.md:12 msgid "" "Let's modify our application to say a little bit more than just " "\"Hi, there!\"." msgstr "" +"Lassen Sie uns unsere Anwendung so ändern, dass sie etwas mehr sagt als nur " +"„Hallo!“." #: docs/en/tutorial/tutorial-7.md:15 msgid "" @@ -57,7 +56,6 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-7.md:23 -#, fuzzy msgid "" "We start by adding `faker` to our app. Add an import to the top of the " "`app.py` to import `faker`:" @@ -66,14 +64,11 @@ msgstr "" "einen Import am Anfang der `app.py` hinzu, um `httpx` zu importieren:" #: docs/en/tutorial/tutorial-7.md:30 -#, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "" -"Dann modifizieren Sie den `say_hello()` Callback so, dass er wie folgt " -"aussieht:" +"Dann ändern Sie den Callback `say_hello()` so, dass er wie folgt aussieht:" #: docs/en/tutorial/tutorial-7.md:43 -#, fuzzy msgid "" "Let's run our updated app in Briefcase developer mode to check that our " "change has worked." @@ -139,6 +134,8 @@ msgid "" "You can't run an Android app in developer mode - use the instructions for " "your chosen desktop platform." msgstr "" +"Sie können eine Android-App nicht im Entwicklermodus ausführen – befolgen " +"Sie die Anweisungen für die von Ihnen gewählte Desktop-Plattform." #: docs/en/tutorial/tutorial-7.md:119 #: docs/en/tutorial/tutorial-7.md:185 @@ -153,6 +150,8 @@ msgid "" "You can't run an iOS app in developer mode - use the instructions for your " "chosen desktop platform." msgstr "" +"Sie können eine iOS-App nicht im Entwicklermodus ausführen – befolgen Sie " +"die Anweisungen für die von Ihnen gewählte Desktop-Plattform." #: docs/en/tutorial/tutorial-7.md:126 #, fuzzy @@ -169,13 +168,24 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:137 #: docs/en/tutorial/tutorial-7.md:153 #: docs/en/tutorial/tutorial-7.md:169 -#, fuzzy msgid "" "When you enter a name and press the button, you should see a dialog that " "looks something like:" msgstr "" -"Wenn Sie einen Namen eingeben und auf die Schaltfläche drücken, sollte ein " -"Dialogfeld angezeigt werden, das etwa so aussieht:" +"Wenn Sie einen Namen eingeben und auf die Schaltfläche klicken, sollte ein " +"Dialogfeld angezeigt werden, das in etwa wie folgt aussieht:" + +#: docs/en/tutorial/tutorial-7.md:140 +msgid "![Hello World Tutorial 7 dialog, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:156 +msgid "![Hello World Tutorial 7 dialog, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:172 +msgid "![Hello World Tutorial 7 dialog, on Windows]{1} /// caption ///" +msgstr "" #: docs/en/tutorial/tutorial-7.md:192 #, fuzzy @@ -237,6 +247,10 @@ msgstr "" "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler " "und ein Absturzdialog angezeigt:" +#: docs/en/tutorial/tutorial-7.md:235 +msgid "![Hello World Tutorial 7 app crash, on macOS]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:277 #: docs/en/tutorial/tutorial-7.md:368 #, fuzzy @@ -245,10 +259,16 @@ msgstr "" "Wenn die Anwendung jedoch ausgeführt wird, wird in der Konsole ein Fehler " "angezeigt:" +#: docs/en/tutorial/tutorial-7.md:330 +msgid "![Hello World Tutorial 7 app crash, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:359 #: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" +"Und schließlich starten Sie die App (wählen Sie einen Simulator aus, wenn " +"Sie dazu aufgefordert werden):" #: docs/en/tutorial/tutorial-7.md:444 #, fuzzy @@ -471,7 +491,7 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:674 msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" +msgstr "Python-Pakete von Drittanbietern für Mobilgeräte und das Web" #: docs/en/tutorial/tutorial-7.md:676 msgid "" @@ -482,6 +502,12 @@ msgid "" "environment. We've been using `pip` in this tutorial, but there are other " "options." msgstr "" +"Faker ist nur ein Beispiel für ein Python-Paket eines Drittanbieters – eine " +"Sammlung von Code, der nicht Teil der Standardausstattung von Python ist. " +"Diese Pakete von Drittanbietern werden meist über den " +"[Python Package Index (PyPI)]{1} verteilt und in Ihrer lokalen virtuellen " +"Umgebung installiert. In diesem Tutorial haben wir `pip` verwendet, aber es " +"gibt auch andere Optionen." #: docs/en/tutorial/tutorial-7.md:683 #, fuzzy @@ -507,6 +533,16 @@ msgid "" "desktop platforms. At this time, most Python packages don't provide pre-" "compiled binaries for mobile and web platforms." msgstr "" +"Kurz gesagt: Jedes *reine Python*-Paket (d. h. jedes Paket, das aus einem " +"*ausschließlich* in Python geschriebenen Projekt erstellt wurde) kann ohne " +"Probleme verwendet werden. Einige Pakete werden jedoch aus Projekten " +"erstellt, die sowohl Python als auch andere Sprachen (z. B. C, C++, Rust " +"usw.) enthalten. Code, der in diesen Sprachen geschrieben wurde, muss vor " +"der Verwendung zu plattformspezifischen Binärmodulen kompiliert werden, und " +"diese vorkompilierten Binärmodule sind nur auf bestimmten Plattformen " +"verfügbar. Mobile und Web-Plattformen haben ganz andere Anforderungen als " +"„Standard“-Desktop-Plattformen. Derzeit bieten die meisten Python-Pakete " +"keine vorkompilierten Binärdateien für mobile und Web-Plattformen an." #: docs/en/tutorial/tutorial-7.md:700 msgid "" @@ -521,6 +557,17 @@ msgid "" "mobile or web platforms unless a wheel compatible with those platforms has " "been provided." msgstr "" +"Auf PyPI werden Pakete oft in einem vorgefertigten Distributionsformat " +"namens *wheels* bereitgestellt. Um zu überprüfen, ob ein Paket reines Python " +"ist, schauen Sie auf der PyPI-Downloadseite für das Projekt nach. Wenn die " +"bereitgestellten Wheels die Endung `-py3-none-any.whl` haben (z. B. [Faker]" +"{1}), dann handelt es sich um reine Python-Wheels. Wenn die Wheels jedoch " +"versions- und plattformspezifische Erweiterungen haben (z. B. [Pillow]{2}, " +"das Wheels mit Suffixen wie `-cp313-cp313-macosx_11_0_arm64.whl` und " +"`-cp39-cp39-win_amd64.whl` hat), dann enthält das Wheel *eine binäre " +"Komponente*. Dieses Paket kann nicht auf mobilen oder Web-Plattformen " +"installiert werden, es sei denn, es wurde ein mit diesen Plattformen " +"kompatibles Wheel bereitgestellt." #: docs/en/tutorial/tutorial-7.md:713 msgid "" @@ -530,6 +577,11 @@ msgid "" "These wheels are *not* distributed on PyPI, but Briefcase will install those " "wheels if they're available." msgstr "" +"Derzeit bieten die meisten Binärpakete auf PyPI keine mobil- oder webfähigen " +"Wheels an. Um diese Lücke zu schließen, stellt BeeWare Binärdateien für " +"einige beliebte Binärmodule (einschließlich `numpy`, `pandas` und " +"`cryptography`) zur Verfügung. Diese Wheels werden *nicht* auf PyPI " +"verteilt, aber Briefcase installiert sie, sofern sie verfügbar sind." #: docs/en/tutorial/tutorial-7.md:719 #, fuzzy @@ -554,6 +606,7 @@ msgid "" "[tutorial-8] we'll learn how to ensure our app remains responsive as we add " "more complex application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "Tutorial 7 - Die (Dritt-)Partei in Gang bringen" +"Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters " +"verwendet! In [Tutorial 8][tutorial-8] lernen wir, wie wir sicherstellen " +"können, dass unsere App auch dann reaktionsschnell bleibt, wenn wir " +"komplexere Anwendungslogik hinzufügen." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po index fc49604e..c427b6ff 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" -"PO-Revision-Date: 2024-02-02 22:01+0000\n" -"Last-Translator: Marco Esters \n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"PO-Revision-Date: 2025-08-19 23:52+0000\n" +"Last-Translator: Russell Keith-Magee \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -14,7 +14,7 @@ msgstr "" #: docs/en/tutorial/tutorial-8.md:1 msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" -msgstr "" +msgstr "Tutorial 8 – Damit alles glatt läuft { id=\"tutorial-8\" }" #: docs/en/tutorial/tutorial-8.md:3 msgid "" @@ -22,6 +22,10 @@ msgid "" "calling a simple third-party library, and displaying output in a dialog. All " "these operations happen very quickly, and our application remains responsive." msgstr "" +"Bisher war unsere Anwendung relativ einfach – sie zeigte GUI-Widgets an, " +"rief eine einfache Bibliothek eines Drittanbieters auf und zeigte die " +"Ausgabe in einem Dialogfeld an. All diese Vorgänge laufen sehr schnell ab, " +"und unsere Anwendung bleibt reaktionsschnell." #: docs/en/tutorial/tutorial-8.md:8 msgid "" @@ -31,10 +35,17 @@ msgid "" "to our application that might take a little time to complete, and see the " "changes that need to be made to accommodate that behavior." msgstr "" +"In einer realen Anwendung müssen wir jedoch komplexe Aufgaben oder " +"Berechnungen ausführen, deren Ausführung einige Zeit in Anspruch nehmen kann " +"– und während diese Aufgaben ausgeführt werden, soll unsere Anwendung " +"weiterhin reaktionsfähig bleiben. Nehmen wir eine Änderung an unserer " +"Anwendung vor, deren Ausführung etwas Zeit in Anspruch nehmen könnte, und " +"sehen wir uns an, welche Änderungen erforderlich sind, um dieses Verhalten " +"zu berücksichtigen." #: docs/en/tutorial/tutorial-8.md:15 msgid "Accessing an API" -msgstr "" +msgstr "Zugriff auf API" #: docs/en/tutorial/tutorial-8.md:17 msgid "" @@ -44,6 +55,12 @@ msgid "" "API like that, we need to ensure our application doesn't become unresponsive " "while we wait for the web API to return an answer." msgstr "" +"Eine häufige zeitaufwändige Aufgabe, die eine App ausführen muss, besteht " +"darin, eine Anfrage an eine Web-API zu stellen, um Daten abzurufen und diese " +"Daten dem Benutzer anzuzeigen. Web-APIs benötigen manchmal ein oder zwei " +"Sekunden, um zu antworten. Wenn wir also eine solche API aufrufen, müssen " +"wir sicherstellen, dass unsere Anwendung nicht unempfänglich wird, während " +"wir auf die Antwort der Web-API warten." #: docs/en/tutorial/tutorial-8.md:23 msgid "" @@ -55,6 +72,15 @@ msgid "" "get a JSON payload describing a single post - some [Lorum ipsum]{2} content " "for a blog post with ID 42." msgstr "" +"Dies ist eine Spielzeug-App, daher haben wir keine *echte* API, mit der wir " +"arbeiten können. Deshalb verwenden wir die [{JSON} Placeholder API]{1} als " +"Datenquelle. Die {JSON} Placeholder API verfügt über eine Reihe von " +"„gefälschten” API-Endpunkten, die Sie als Testdaten verwenden können. Eine " +"dieser APIs ist der Endpunkt „/posts/“, der gefälschte Blog-Beiträge " +"zurückgibt. Wenn Sie „https://jsonplaceholder.typicode.com/posts/42“ in " +"Ihrem Browser öffnen, erhalten Sie eine JSON-Nutzlast, die einen einzelnen " +"Beitrag beschreibt – einen [Lorum ipsum]{2}-Inhalt für einen Blogbeitrag mit " +"der ID 42." #: docs/en/tutorial/tutorial-8.md:33 msgid "" @@ -65,6 +91,14 @@ msgid "" "and payload encoding. As a \"normal browser user\" you're probably used to " "taking these details for granted, as a browser manages them for you." msgstr "" +"Die Python-Standardbibliothek enthält alle Tools, die Sie für den Zugriff " +"auf eine API benötigen. Die integrierten APIs sind jedoch sehr " +"niedrigschwellig. Sie sind gute Implementierungen des HTTP-Protokolls, " +"erfordern jedoch vom Benutzer die Verwaltung vieler niedrigschwelliger " +"Details wie URL-Umleitung, Sitzungen, Authentifizierung und Payload-" +"Kodierung. Als „normaler Browser-Benutzer” sind Sie wahrscheinlich daran " +"gewöhnt, diese Details als selbstverständlich hinzunehmen, da der Browser " +"sie für Sie verwaltet." #: docs/en/tutorial/tutorial-8.md:41 msgid "" @@ -81,41 +115,50 @@ msgid "" "Let's add a `httpx` API call to our app. Modify the `requires` setting in " "our `pyproject.toml` to include the new requirement:" msgstr "" +"Fügen wir unserer App einen `httpx`-API-Aufruf hinzu. Ändern Sie die " +"Einstellung `requires` in unserer `pyproject.toml`, um die neue Anforderung " +"aufzunehmen:" #: docs/en/tutorial/tutorial-8.md:59 msgid "Add an import to the top of the `app.py` to import `httpx`:" msgstr "" +"Fügen Sie am Anfang der Datei `app.py` einen Import hinzu, um `httpx` zu " +"importieren:" #: docs/en/tutorial/tutorial-8.md:65 -#, fuzzy msgid "Then modify the `say_hello()` callback so it looks like this:" msgstr "" -"Um unser Tutorial asynchron zu machen, ändern Sie den \"say_hello()\"-" -"Ereignishandler so, dass er wie folgt aussieht:" +"Dann ändern Sie den Callback `say_hello()` so, dass er wie folgt aussieht:" #: docs/en/tutorial/tutorial-8.md:83 msgid "" "This will change the `say_hello()` callback so that when it is invoked, it " "will:" msgstr "" +"Dadurch wird der Callback `say_hello()` so geändert, dass er bei Aufruf " +"Folgendes ausführt:" #: docs/en/tutorial/tutorial-8.md:86 msgid "make a GET request on the JSON placeholder API to obtain post 42;" msgstr "" +"Führen Sie eine GET-Anfrage an die JSON-Platzhalter-API durch, um Beitrag 42 " +"abzurufen;" #: docs/en/tutorial/tutorial-8.md:87 msgid "decode the response as JSON;" -msgstr "" +msgstr "Die Antwort als JSON dekodieren;" #: docs/en/tutorial/tutorial-8.md:88 msgid "extract the body of the post; and" -msgstr "" +msgstr "den Text des Beitrags extrahieren; und" #: docs/en/tutorial/tutorial-8.md:89 msgid "" "include the body of that post as the text of the \"message\" dialog, in " "place of the text generated by Faker." msgstr "" +"Fügen Sie den Text dieses Beitrags als Text des „Nachrichten”-Dialogfelds " +"ein, anstelle des von Faker generierten Textes." #: docs/en/tutorial/tutorial-8.md:92 msgid "" @@ -123,6 +166,11 @@ msgid "" "change has worked. As we've added a new requirement, we need to tell " "developer mode to reinstall requirements, by using the `-r` argument:" msgstr "" +"Lassen Sie uns unsere aktualisierte App im Briefcase-Entwicklermodus " +"ausführen, um zu überprüfen, ob unsere Änderung funktioniert hat. Da wir " +"eine neue Anforderung hinzugefügt haben, müssen wir den Entwicklermodus " +"anweisen, die Anforderungen neu zu installieren, indem wir das Argument `-r` " +"verwenden:" #: docs/en/tutorial/tutorial-8.md:96 #: docs/en/tutorial/tutorial-8.md:326 @@ -136,6 +184,12 @@ msgid "" "When you enter a name and press the button, you should see a dialog that " "looks something like:" msgstr "" +"Wenn Sie einen Namen eingeben und auf die Schaltfläche klicken, sollte ein " +"Dialogfeld angezeigt werden, das in etwa wie folgt aussieht:" + +#: docs/en/tutorial/tutorial-8.md:110 +msgid "![Hello World Tutorial 8 dialog, on macOS]{1} /// caption ///" +msgstr "" #: docs/en/tutorial/tutorial-8.md:114 #: docs/en/tutorial/tutorial-8.md:134 @@ -155,11 +209,19 @@ msgstr "" msgid "/// tab | Linux" msgstr "" +#: docs/en/tutorial/tutorial-8.md:130 +msgid "![Hello World Tutorial 8 dialog, on Linux]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:136 #: docs/en/tutorial/tutorial-8.md:342 msgid "/// tab | Windows" msgstr "" +#: docs/en/tutorial/tutorial-8.md:150 +msgid "![Hello World Tutorial 8 dialog, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:156 #: docs/en/tutorial/tutorial-8.md:350 msgid "/// tab | Android" @@ -170,6 +232,8 @@ msgid "" "You can't run an Android app in developer mode - use the instructions for " "your chosen desktop platform." msgstr "" +"Sie können eine Android-App nicht im Entwicklermodus ausführen – befolgen " +"Sie die Anweisungen für die von Ihnen gewählte Desktop-Plattform." #: docs/en/tutorial/tutorial-8.md:163 #: docs/en/tutorial/tutorial-8.md:358 @@ -181,6 +245,8 @@ msgid "" "You can't run an iOS app in developer mode - use the instructions for your " "chosen desktop platform." msgstr "" +"Sie können eine iOS-App nicht im Entwicklermodus ausführen – befolgen Sie " +"die Anweisungen für die von Ihnen gewählte Desktop-Plattform." #: docs/en/tutorial/tutorial-8.md:170 msgid "" @@ -189,6 +255,11 @@ msgid "" "The operating system may even manifest this with a \"beachball\" or " "\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" +"Wenn Sie keine *wirklich* schnelle Internetverbindung haben, werden Sie " +"möglicherweise feststellen, dass die Benutzeroberfläche Ihrer App für einen " +"Moment einfriert, wenn Sie die Taste drücken. Das Betriebssystem zeigt dies " +"möglicherweise sogar mit einem „Beachball”- oder „Spinner”-Cursor an, um zu " +"signalisieren, dass die App nicht reagiert." #: docs/en/tutorial/tutorial-8.md:176 #, fuzzy @@ -450,6 +521,14 @@ msgid "" "dialog is displayed, and we're waiting for the user to push a button, it's " "OK to release control back to the event loop." msgstr "" +"Der Aufruf von `get` erfolgt mit dem Schlüsselwort `await`. Damit wird der " +"App mitgeteilt, dass sie während des Wartens auf die Antwort vom Netzwerk " +"die Kontrolle an die Ereignisschleife abgeben kann. Dieses Schlüsselwort " +"haben wir bereits gesehen – wir verwenden `await` auch beim Anzeigen des " +"Dialogfelds. Der Grund für diese Verwendung ist derselbe wie bei der HTTP-" +"Anfrage: Wir müssen der App mitteilen, dass es in Ordnung ist, die Kontrolle " +"an die Ereignisschleife zurückzugeben, während das Dialogfeld angezeigt wird " +"und wir darauf warten, dass der Benutzer eine Schaltfläche drückt." #: docs/en/tutorial/tutorial-8.md:299 msgid "" @@ -459,6 +538,12 @@ msgid "" "the dialog box. You can only use `await` statements inside a method that is " "declared as `async def`." msgstr "" +"Es ist auch wichtig zu beachten, dass der Handler selbst als `async def` " +"definiert ist und nicht nur als `def`. Dadurch wird Python mitgeteilt, dass " +"es sich bei der Methode um eine asynchrone Coroutine handelt. Diese Änderung " +"haben wir bereits in Tutorial 3 vorgenommen, als wir das Dialogfeld " +"hinzugefügt haben. Sie können `await`-Anweisungen nur innerhalb einer " +"Methode verwenden, die als `async def` deklariert ist." #: docs/en/tutorial/tutorial-8.md:305 #, fuzzy @@ -522,12 +607,19 @@ msgid "" "passing `-r` to `briefcase run`. This will update our app's requirements, " "then re-build the app, then launch the app:" msgstr "" +"Wir können nun die vollständige App ausführen. Da wir jedoch eine " +"zusätzliche Anforderung (`httpx`) hinzugefügt haben, müssen wir auch die " +"Anforderungen unserer App aktualisieren. Dies können wir tun, indem wir `-r` " +"an `briefcase run` übergeben. Dadurch werden die Anforderungen unserer App " +"aktualisiert, die App neu erstellt und anschließend gestartet:" #: docs/en/tutorial/tutorial-8.md:366 msgid "" "You should see you app running, and remaining responsive when you press the " "button and network content is retrieved." msgstr "" +"Sie sollten sehen, dass Ihre App ausgeführt wird und weiterhin reagiert, " +"wenn Sie die Schaltfläche drücken und Netzwerk-Inhalte abgerufen werden." #: docs/en/tutorial/tutorial-8.md:369 msgid "Next steps" @@ -538,42 +630,45 @@ msgid "" "This has been a taste for what you can do with the tools provided by the " "BeeWare project. Over the course of this tutorial, you have:" msgstr "" +"Dies war ein kleiner Vorgeschmack darauf, was Sie mit den Tools des BeeWare-" +"Projekts alles machen können. Im Laufe dieses Tutorials haben Sie:" #: docs/en/tutorial/tutorial-8.md:374 msgid "Created a new GUI app project;" -msgstr "" +msgstr "Ein neues GUI-App-Projekt erstellt;" #: docs/en/tutorial/tutorial-8.md:375 msgid "Run that app in development mode;" -msgstr "" +msgstr "Führen Sie diese App im Entwicklungsmodus aus;" #: docs/en/tutorial/tutorial-8.md:376 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" +"Die App als eigenständige Binärdatei für ein Desktop-Betriebssystem erstellt;" #: docs/en/tutorial/tutorial-8.md:377 msgid "Packaged that project for distribution to others;" -msgstr "" +msgstr "Dieses Projekt für die Weitergabe an andere vorbereitet;" #: docs/en/tutorial/tutorial-8.md:378 msgid "Run the app on a mobile simulator and/or device;" -msgstr "" +msgstr "Führen Sie die App auf einem mobilen Simulator und/oder Gerät aus;" #: docs/en/tutorial/tutorial-8.md:379 msgid "Run the app as a web app;" -msgstr "" +msgstr "Führen Sie die App als Web-App aus;" #: docs/en/tutorial/tutorial-8.md:380 msgid "Added a third-party dependency to your app; and" -msgstr "" +msgstr "Eine Abhängigkeit von Drittanbietern zu Ihrer App hinzugefügt; und" #: docs/en/tutorial/tutorial-8.md:381 msgid "Modified the app so that it remains responsive." -msgstr "" +msgstr "Die App wurde so geändert, dass sie weiterhin reaktionsschnell bleibt." #: docs/en/tutorial/tutorial-8.md:383 msgid "So - where to from here?" -msgstr "" +msgstr "Also – wie geht es nun weiter?" #: docs/en/tutorial/tutorial-8.md:385 msgid "" @@ -594,7 +689,3 @@ msgid "" "If you'd like to know more about the capabilities of Briefcase, you can dive " "into [Briefcase's documentation]{1}." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 8 - Making it Smooooth" -#~ msgstr "Tutorial 8 - Glatt machen" diff --git a/locales/es/LC_MESSAGES/SUMMARY.po b/locales/es/LC_MESSAGES/SUMMARY.po index 5249ccc6..974786d4 100644 --- a/locales/es/LC_MESSAGES/SUMMARY.po +++ b/locales/es/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po index 01522c35..6a641ee6 100644 --- a/locales/es/LC_MESSAGES/how-to/index.po +++ b/locales/es/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: es \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po index c680c916..ced4d372 100644 --- a/locales/es/LC_MESSAGES/index.po +++ b/locales/es/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-07-23 23:51+0000\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish `{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -142,7 +145,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -152,19 +155,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -172,7 +175,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -182,7 +185,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -192,14 +195,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/es/LC_MESSAGES/tutorial/topics/index.po b/locales/es/LC_MESSAGES/tutorial/topics/index.po index 871b0bcd..a763eeed 100644 --- a/locales/es/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/es/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-09-28 16:15+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: LANGUAGE \n" diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po index 9b2f60b8..e70dcf80 100644 --- a/locales/fr/LC_MESSAGES/how-to/index.po +++ b/locales/fr/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: fr \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index 6cfdb4f2..9d6d0f0c 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2025-05-22 02:01+0000\n" "Last-Translator: Hēphaïstos \n" "Language-Team: French \n" "Language-Team: fr \n" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po index 3859f6eb..e390c4e3 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French `{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -143,7 +146,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -153,19 +156,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -173,7 +176,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -183,7 +186,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -193,14 +196,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/index.po b/locales/fr/LC_MESSAGES/tutorial/topics/index.po index f0741380..d1395fd0 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: fr \n" diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po index 03f04e37..400e3483 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: LANGUAGE \n" diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po index c41ca6cf..54915f17 100644 --- a/locales/it/LC_MESSAGES/how-to/index.po +++ b/locales/it/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: it \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po index 06b635f5..45a1b924 100644 --- a/locales/it/LC_MESSAGES/index.po +++ b/locales/it/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -55,27 +55,27 @@ msgstr "" "di questo tutorial in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]" "{4}, [Português]{5} e [汉语]{6}." -#: docs/en/index.md:25 -#: docs/en/index.md:42 -#: docs/en/index.md:59 +#: docs/en/index.md:24 +#: docs/en/index.md:40 +#: docs/en/index.md:56 msgid "///" msgstr "" -#: docs/en/index.md:27 -#: docs/en/index.md:44 -#: docs/en/index.md:61 +#: docs/en/index.md:26 +#: docs/en/index.md:42 +#: docs/en/index.md:58 msgid "{% endif %}" msgstr "" -#: docs/en/index.md:29 +#: docs/en/index.md:28 msgid "{% if config.extra.translation_type == machine %}" msgstr "" -#: docs/en/index.md:31 +#: docs/en/index.md:30 msgid "/// admonition | This is a machine translation!" msgstr "" -#: docs/en/index.md:33 +#: docs/en/index.md:32 #, fuzzy msgid "" "This version of the tutorial has been generated by machine translation. We " @@ -86,8 +86,8 @@ msgstr "" "Sappiamo che non è l'ideale, ma abbiamo pensato che una cattiva traduzione " "fosse meglio di nessuna traduzione." -#: docs/en/index.md:37 -#: docs/en/index.md:54 +#: docs/en/index.md:36 +#: docs/en/index.md:52 #, fuzzy msgid "" "If you'd like the help improve the translation, get in touch! We have a " @@ -98,15 +98,15 @@ msgstr "" "canale `#translations` in [Discord]{1}. Presentati lì e ti aggiungeremo al " "team di traduzione." -#: docs/en/index.md:46 +#: docs/en/index.md:44 msgid "{% if config.extra.translation_type == human %}" msgstr "" -#: docs/en/index.md:48 +#: docs/en/index.md:46 msgid "/// admonition | This is a translation!" msgstr "" -#: docs/en/index.md:50 +#: docs/en/index.md:48 #, fuzzy msgid "" "This document is a translation of the English version. The translation has " @@ -117,12 +117,12 @@ msgstr "" "stata revisionata da personale umano, ma le sezioni più recenti potrebbero " "essere generate dalla traduzione automatica o non essere tradotte affatto." -#: docs/en/index.md:64 +#: docs/en/index.md:61 #, fuzzy msgid "What is BeeWare?" msgstr "Che cos'è BeeWare?" -#: docs/en/index.md:66 +#: docs/en/index.md:63 #, fuzzy msgid "" "BeeWare is not a single product, or tool, or library - it's a collection of " @@ -134,11 +134,11 @@ msgstr "" "scrivere applicazioni Python multipiattaforma con un'interfaccia grafica " "nativa. Include:" -#: docs/en/index.md:70 +#: docs/en/index.md:67 msgid "[Toga]{1}, a cross-platform widget toolkit;" msgstr "" -#: docs/en/index.md:71 +#: docs/en/index.md:68 #, fuzzy msgid "" "[Briefcase]{1}, a tool for packaging Python projects as distributable " @@ -147,7 +147,7 @@ msgstr "" "[Briefcase]{1}, uno strumento per impacchettare i progetti Python come " "artefatti distribuibili che possono essere spediti agli utenti finali;" -#: docs/en/index.md:74 +#: docs/en/index.md:71 #, fuzzy msgid "" "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " @@ -156,7 +156,7 @@ msgstr "" "Librerie (come [Rubicon ObjC]{1}) per accedere alle librerie native della " "piattaforma;" -#: docs/en/index.md:76 +#: docs/en/index.md:73 #, fuzzy msgid "" "Pre-compiled builds of Python that can be used on platforms where official " @@ -165,7 +165,7 @@ msgstr "" "Costruzioni precompilate di Python che possono essere utilizzate su " "piattaforme in cui non sono disponibili gli installatori ufficiali di Python." -#: docs/en/index.md:79 +#: docs/en/index.md:76 #, fuzzy msgid "" "In this tutorial, we'll be using all these tools, but as a user, you'll only " @@ -179,7 +179,7 @@ msgstr "" "esempio, si può usare Briefcase per distribuire un'applicazione senza usare " "Toga come toolkit per l'interfaccia grafica." -#: docs/en/index.md:84 +#: docs/en/index.md:81 #, fuzzy msgid "" "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " @@ -188,12 +188,12 @@ msgstr "" "La suite BeeWare è disponibile su macOS, Windows, Linux (utilizzando GTK); " "su piattaforme mobili come Android e iOS; e per il Web." -#: docs/en/index.md:87 +#: docs/en/index.md:84 #, fuzzy msgid "Let's go!" msgstr "Andiamo!" -#: docs/en/index.md:89 +#: docs/en/index.md:86 msgid "" "Ready to try BeeWare for yourself? " "[Let's build a cross-platform application in Python!][tutorial-0]" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po index 45519f54..906c4a66 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: it \n" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po index 92d95aa4..78d05cfe 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:14+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -64,8 +64,8 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:34 -#: docs/en/tutorial/topics/custom-icons.md:214 -#: docs/en/tutorial/topics/custom-icons.md:411 +#: docs/en/tutorial/topics/custom-icons.md:213 +#: docs/en/tutorial/topics/custom-icons.md:410 msgid "/// tab | macOS" msgstr "" @@ -74,42 +74,42 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:94 #: docs/en/tutorial/topics/custom-icons.md:132 #: docs/en/tutorial/topics/custom-icons.md:166 -#: docs/en/tutorial/topics/custom-icons.md:238 -#: docs/en/tutorial/topics/custom-icons.md:270 -#: docs/en/tutorial/topics/custom-icons.md:297 -#: docs/en/tutorial/topics/custom-icons.md:343 -#: docs/en/tutorial/topics/custom-icons.md:345 -#: docs/en/tutorial/topics/custom-icons.md:381 -#: docs/en/tutorial/topics/custom-icons.md:390 -#: docs/en/tutorial/topics/custom-icons.md:426 -#: docs/en/tutorial/topics/custom-icons.md:443 -#: docs/en/tutorial/topics/custom-icons.md:460 -#: docs/en/tutorial/topics/custom-icons.md:476 -#: docs/en/tutorial/topics/custom-icons.md:492 +#: docs/en/tutorial/topics/custom-icons.md:237 +#: docs/en/tutorial/topics/custom-icons.md:269 +#: docs/en/tutorial/topics/custom-icons.md:296 +#: docs/en/tutorial/topics/custom-icons.md:342 +#: docs/en/tutorial/topics/custom-icons.md:344 +#: docs/en/tutorial/topics/custom-icons.md:380 +#: docs/en/tutorial/topics/custom-icons.md:389 +#: docs/en/tutorial/topics/custom-icons.md:425 +#: docs/en/tutorial/topics/custom-icons.md:442 +#: docs/en/tutorial/topics/custom-icons.md:459 +#: docs/en/tutorial/topics/custom-icons.md:475 +#: docs/en/tutorial/topics/custom-icons.md:491 msgid "///" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:53 -#: docs/en/tutorial/topics/custom-icons.md:240 -#: docs/en/tutorial/topics/custom-icons.md:428 +#: docs/en/tutorial/topics/custom-icons.md:239 +#: docs/en/tutorial/topics/custom-icons.md:427 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:77 -#: docs/en/tutorial/topics/custom-icons.md:272 -#: docs/en/tutorial/topics/custom-icons.md:445 +#: docs/en/tutorial/topics/custom-icons.md:271 +#: docs/en/tutorial/topics/custom-icons.md:444 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:96 -#: docs/en/tutorial/topics/custom-icons.md:299 -#: docs/en/tutorial/topics/custom-icons.md:462 +#: docs/en/tutorial/topics/custom-icons.md:298 +#: docs/en/tutorial/topics/custom-icons.md:461 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:134 -#: docs/en/tutorial/topics/custom-icons.md:347 -#: docs/en/tutorial/topics/custom-icons.md:478 +#: docs/en/tutorial/topics/custom-icons.md:346 +#: docs/en/tutorial/topics/custom-icons.md:477 msgid "/// tab | iOS" msgstr "" @@ -122,19 +122,22 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:173 msgid "" -"Let's provide some actual icons. Download `this icons.zip bundle <../" -"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -142,7 +145,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -152,19 +155,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -172,7 +175,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -182,7 +185,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -192,14 +195,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/it/LC_MESSAGES/tutorial/topics/index.po b/locales/it/LC_MESSAGES/tutorial/topics/index.po index 8fdb6008..ad8a1827 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-12-10 11:00+0000\n" "Last-Translator: pp pp \n" "Language-Team: Italian \n" "Language-Team: Italian \n" "Language-Team: it \n" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index 1d6efca5..333689e6 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -275,6 +275,18 @@ msgstr "" msgid "This should open a GUI window:" msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" +#: docs/en/tutorial/tutorial-1.md:207 +msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:215 +msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:223 +msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-1.md:227 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index 13cfa40c..c8b3c678 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:11+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -452,6 +452,18 @@ msgstr "" msgid "This should open a GUI window:" msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" +#: docs/en/tutorial/tutorial-2.md:336 +msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:344 +msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:352 +msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-2.md:358 #, fuzzy msgid "" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po index 7def6c25..b1822e13 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:11+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index 3d27b943..fd3e2bc1 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -90,46 +90,54 @@ msgstr "" "si vedrà la nuova finestra di dialogo:" #: docs/en/tutorial/tutorial-4.md:41 -#: docs/en/tutorial/tutorial-4.md:85 -#: docs/en/tutorial/tutorial-4.md:198 +#: docs/en/tutorial/tutorial-4.md:81 +#: docs/en/tutorial/tutorial-4.md:194 msgid "/// tab | macOS" msgstr "" -#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:43 msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" msgstr "" -#: docs/en/tutorial/tutorial-4.md:51 -#: docs/en/tutorial/tutorial-4.md:59 -#: docs/en/tutorial/tutorial-4.md:67 -#: docs/en/tutorial/tutorial-4.md:99 -#: docs/en/tutorial/tutorial-4.md:122 -#: docs/en/tutorial/tutorial-4.md:138 -#: docs/en/tutorial/tutorial-4.md:219 -#: docs/en/tutorial/tutorial-4.md:248 -#: docs/en/tutorial/tutorial-4.md:266 +#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:55 +#: docs/en/tutorial/tutorial-4.md:63 +#: docs/en/tutorial/tutorial-4.md:95 +#: docs/en/tutorial/tutorial-4.md:118 +#: docs/en/tutorial/tutorial-4.md:134 +#: docs/en/tutorial/tutorial-4.md:215 +#: docs/en/tutorial/tutorial-4.md:244 +#: docs/en/tutorial/tutorial-4.md:262 msgid "///" msgstr "" -#: docs/en/tutorial/tutorial-4.md:53 -#: docs/en/tutorial/tutorial-4.md:101 -#: docs/en/tutorial/tutorial-4.md:221 +#: docs/en/tutorial/tutorial-4.md:49 +#: docs/en/tutorial/tutorial-4.md:97 +#: docs/en/tutorial/tutorial-4.md:217 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-4.md:61 -#: docs/en/tutorial/tutorial-4.md:124 -#: docs/en/tutorial/tutorial-4.md:250 +#: docs/en/tutorial/tutorial-4.md:51 +msgid "![Hello World Tutorial 4 dialog, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:57 +#: docs/en/tutorial/tutorial-4.md:120 +#: docs/en/tutorial/tutorial-4.md:246 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-4.md:69 +#: docs/en/tutorial/tutorial-4.md:59 +msgid "![Hello World Tutorial 4 dialog, on Windows]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:65 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "" "Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." -#: docs/en/tutorial/tutorial-4.md:71 +#: docs/en/tutorial/tutorial-4.md:67 msgid "" "Why is this? Well, `briefcase dev` operates by running your code in place -" "it tries to produce as realistic runtime environment for your code as " @@ -139,7 +147,7 @@ msgid "" "the moment, your application still has the old code in it." msgstr "" -#: docs/en/tutorial/tutorial-4.md:79 +#: docs/en/tutorial/tutorial-4.md:75 #, fuzzy msgid "" "So - we need to tell briefcase to update your app, copying in the new " @@ -152,7 +160,7 @@ msgstr "" "della piattaforma e ricominciando da zero. Tuttavia, Briefcase offre un modo " "più semplice: è possibile aggiornare il codice dell'applicazione esistente:" -#: docs/en/tutorial/tutorial-4.md:140 +#: docs/en/tutorial/tutorial-4.md:136 #, fuzzy msgid "" "If Briefcase can't find the scaffolded template, it will automatically " @@ -161,7 +169,7 @@ msgstr "" "Se Briefcase non riesce a trovare il modello impalcabile, invocherà " "automaticamente `create` per generare un nuovo scaffold." -#: docs/en/tutorial/tutorial-4.md:143 +#: docs/en/tutorial/tutorial-4.md:139 #, fuzzy msgid "" "Now that we've updated the installer code, we can then run `briefcase build` " @@ -173,7 +181,7 @@ msgstr "" "eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare " "l'applicazione per la distribuzione." -#: docs/en/tutorial/tutorial-4.md:148 +#: docs/en/tutorial/tutorial-4.md:144 #, fuzzy msgid "" "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " @@ -187,12 +195,12 @@ msgstr "" "impostare un'identità di firma del codice e mantenere il tutorial il più " "semplice possibile)" -#: docs/en/tutorial/tutorial-4.md:153 +#: docs/en/tutorial/tutorial-4.md:149 #, fuzzy msgid "Update and run in one step" msgstr "Aggiornamento ed esecuzione in un unico passaggio" -#: docs/en/tutorial/tutorial-4.md:155 +#: docs/en/tutorial/tutorial-4.md:151 #, fuzzy msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " @@ -217,7 +225,7 @@ msgstr "" "dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare " "questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:162 #, fuzzy msgid "" "Let's try making another change. You may have noticed that if you don't type " @@ -228,7 +236,7 @@ msgstr "" "nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". " "Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." -#: docs/en/tutorial/tutorial-4.md:170 +#: docs/en/tutorial/tutorial-4.md:166 #, fuzzy msgid "" "At the top of the file, between the imports and the `class HelloWorld` " @@ -239,14 +247,14 @@ msgstr "" "HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto " "appropriato a seconda del valore del nome fornito:" -#: docs/en/tutorial/tutorial-4.md:182 +#: docs/en/tutorial/tutorial-4.md:178 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "" "Quindi, modificare il callback `say_hello` per utilizzare questo nuovo " "metodo di utilità:" -#: docs/en/tutorial/tutorial-4.md:194 +#: docs/en/tutorial/tutorial-4.md:190 #, fuzzy msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " @@ -256,7 +264,7 @@ msgstr "" "verificare che la nuova logica funzioni; quindi aggiornare, compilare ed " "eseguire l'applicazione con un solo comando:" -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:264 #, fuzzy msgid "" "The package command also accepts the `-u` argument, so if you make a change " @@ -267,11 +275,11 @@ msgstr "" "modifica al codice dell'applicazione e si desidera eseguire immediatamente " "il repackaging, si può eseguire `briefcase package -u`." -#: docs/en/tutorial/tutorial-4.md:272 +#: docs/en/tutorial/tutorial-4.md:268 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-4.md:274 +#: docs/en/tutorial/tutorial-4.md:270 #, fuzzy msgid "" "We now have our application packaged for distribution on desktop platforms, " @@ -281,7 +289,7 @@ msgstr "" "piattaforme desktop e siamo stati in grado di aggiornare il codice della " "nostra applicazione." -#: docs/en/tutorial/tutorial-4.md:277 +#: docs/en/tutorial/tutorial-4.md:273 msgid "" "But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " "application into a mobile application, and deploy it onto a device " diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po index 90777c5c..410713e2 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -54,7 +54,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:16 #: docs/en/tutorial/tutorial-5/android.md:121 #: docs/en/tutorial/tutorial-5/android.md:204 -#: docs/en/tutorial/tutorial-5/android.md:333 +#: docs/en/tutorial/tutorial-5/android.md:336 msgid "/// tab | macOS" msgstr "" @@ -68,25 +68,29 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:216 #: docs/en/tutorial/tutorial-5/android.md:230 #: docs/en/tutorial/tutorial-5/android.md:244 -#: docs/en/tutorial/tutorial-5/android.md:288 -#: docs/en/tutorial/tutorial-5/android.md:347 -#: docs/en/tutorial/tutorial-5/android.md:363 -#: docs/en/tutorial/tutorial-5/android.md:379 -#: docs/en/tutorial/tutorial-5/android.md:399 +#: docs/en/tutorial/tutorial-5/android.md:258 +#: docs/en/tutorial/tutorial-5/android.md:268 +#: docs/en/tutorial/tutorial-5/android.md:278 +#: docs/en/tutorial/tutorial-5/android.md:290 +#: docs/en/tutorial/tutorial-5/android.md:301 +#: docs/en/tutorial/tutorial-5/android.md:350 +#: docs/en/tutorial/tutorial-5/android.md:366 +#: docs/en/tutorial/tutorial-5/android.md:382 +#: docs/en/tutorial/tutorial-5/android.md:402 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:45 #: docs/en/tutorial/tutorial-5/android.md:141 #: docs/en/tutorial/tutorial-5/android.md:218 -#: docs/en/tutorial/tutorial-5/android.md:349 +#: docs/en/tutorial/tutorial-5/android.md:352 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:74 #: docs/en/tutorial/tutorial-5/android.md:161 #: docs/en/tutorial/tutorial-5/android.md:232 -#: docs/en/tutorial/tutorial-5/android.md:365 +#: docs/en/tutorial/tutorial-5/android.md:368 msgid "/// tab | Windows" msgstr "" @@ -203,7 +207,15 @@ msgstr "" "Briefcase `run` avvierà automaticamente il dispositivo virtuale. Quando il " "dispositivo si avvia, si vedrà il logo di Android:" -#: docs/en/tutorial/tutorial-5/android.md:259 +#: docs/en/tutorial/tutorial-5/android.md:253 +msgid "![Android virtual device booting]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:256 +msgid "Android virtual device booting" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:260 #, fuzzy msgid "" "Once the device has finished booting, Briefcase will install your app on the " @@ -213,7 +225,17 @@ msgstr "" "l'applicazione sul dispositivo. Verrà visualizzata brevemente una schermata " "di avvio:" -#: docs/en/tutorial/tutorial-5/android.md:269 +#: docs/en/tutorial/tutorial-5/android.md:263 +msgid "" +"![Android virtual device fully started, on the launcher screen]{1} /// " +"caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:266 +msgid "Android virtual device fully started, on the launcher screen" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:270 #, fuzzy msgid "" "The app will then start. You'll see a splash screen while the app starts up:" @@ -221,11 +243,19 @@ msgstr "" "L'applicazione si avvia. Durante l'avvio dell'applicazione verrà " "visualizzata una schermata iniziale:" -#: docs/en/tutorial/tutorial-5/android.md:278 -msgid "/// admonition | The emulator didn't start!" +#: docs/en/tutorial/tutorial-5/android.md:273 +msgid "![App splash screen]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:276 +msgid "App splash screen" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:280 +msgid "/// admonition | The emulator didn't start!" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:282 #, fuzzy msgid "" "The Android emulator is a complex piece of software that relies on a number " @@ -241,7 +271,7 @@ msgstr "" "[Requisiti e raccomandazioni]{1} della documentazione per sviluppatori " "Android." -#: docs/en/tutorial/tutorial-5/android.md:290 +#: docs/en/tutorial/tutorial-5/android.md:292 #, fuzzy msgid "" "The first time the app starts, it needs to unpack itself onto the device. " @@ -252,7 +282,15 @@ msgstr "" "operazione può richiedere alcuni secondi. Una volta scompattata, verrà " "visualizzata la versione Android dell'applicazione desktop:" -#: docs/en/tutorial/tutorial-5/android.md:300 +#: docs/en/tutorial/tutorial-5/android.md:296 +msgid "![Demo app fully launched]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:299 +msgid "Demo app fully launched" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:303 #, fuzzy msgid "" "If you fail to see your app launching, you may need to check your terminal " @@ -262,7 +300,7 @@ msgstr "" "necessario controllare il terminale in cui è stato eseguito `briefcase run` " "e cercare eventuali messaggi di errore." -#: docs/en/tutorial/tutorial-5/android.md:303 +#: docs/en/tutorial/tutorial-5/android.md:306 msgid "" "While the app is running, you'll see a lot of messages being streamed in the " "console. This is a stream of the application's logs from the emulator. " @@ -271,7 +309,7 @@ msgid "" "changes without restarting the emulator." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:309 +#: docs/en/tutorial/tutorial-5/android.md:312 #, fuzzy msgid "" "In future, if you want to run on this device without using the menu, you can " @@ -282,12 +320,12 @@ msgstr "" "si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run " "android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." -#: docs/en/tutorial/tutorial-5/android.md:314 +#: docs/en/tutorial/tutorial-5/android.md:317 #, fuzzy msgid "Run the app on a physical device" msgstr "Eseguire l'applicazione su un dispositivo fisico" -#: docs/en/tutorial/tutorial-5/android.md:316 +#: docs/en/tutorial/tutorial-5/android.md:319 #, fuzzy msgid "" "If you have a physical Android phone or tablet, you can connect it to your " @@ -298,7 +336,7 @@ msgstr "" "collegarlo al computer con un cavo USB e quindi utilizzare la valigetta per " "puntare al dispositivo fisico." -#: docs/en/tutorial/tutorial-5/android.md:320 +#: docs/en/tutorial/tutorial-5/android.md:323 #, fuzzy msgid "" "Android requires that you prepare your device before it can be used for " @@ -308,17 +346,17 @@ msgstr "" "per lo sviluppo. È necessario apportare due modifiche alle opzioni del " "dispositivo:" -#: docs/en/tutorial/tutorial-5/android.md:324 +#: docs/en/tutorial/tutorial-5/android.md:327 #, fuzzy msgid "Enable developer options" msgstr "Abilitare le opzioni per gli sviluppatori" -#: docs/en/tutorial/tutorial-5/android.md:325 +#: docs/en/tutorial/tutorial-5/android.md:328 #, fuzzy msgid "Enable USB debugging" msgstr "Abilitare il debug USB" -#: docs/en/tutorial/tutorial-5/android.md:327 +#: docs/en/tutorial/tutorial-5/android.md:330 #, fuzzy msgid "" "Details on how to make these changes can be found " @@ -327,7 +365,7 @@ msgstr "" "I dettagli su come apportare queste modifiche sono disponibili " "[nella documentazione per sviluppatori Android]{1}." -#: docs/en/tutorial/tutorial-5/android.md:330 +#: docs/en/tutorial/tutorial-5/android.md:333 #, fuzzy msgid "" "Once these steps have been completed, your device should appear in the list " @@ -337,7 +375,7 @@ msgstr "" "nell'elenco dei dispositivi disponibili quando si esegue `briefcase run " "android`." -#: docs/en/tutorial/tutorial-5/android.md:381 +#: docs/en/tutorial/tutorial-5/android.md:384 #, fuzzy msgid "" "Here we can see a new physical device with it's serial number on the " @@ -353,11 +391,11 @@ msgstr "" "android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul " "dispositivo, senza richiedere nulla." -#: docs/en/tutorial/tutorial-5/android.md:388 +#: docs/en/tutorial/tutorial-5/android.md:391 msgid "/// admonition | My device doesn't appear!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:390 +#: docs/en/tutorial/tutorial-5/android.md:393 #, fuzzy msgid "" "If your device doesn't appear on this list at all, either you haven't " @@ -366,7 +404,7 @@ msgstr "" "Se il dispositivo non compare in questo elenco, significa che non è stato " "attivato il debug USB (oppure che il dispositivo non è collegato!)." -#: docs/en/tutorial/tutorial-5/android.md:393 +#: docs/en/tutorial/tutorial-5/android.md:396 #, fuzzy msgid "" "If your device appears, but is listed as " @@ -380,11 +418,11 @@ msgstr "" "[i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `" "briefcase run android`." -#: docs/en/tutorial/tutorial-5/android.md:401 +#: docs/en/tutorial/tutorial-5/android.md:404 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-5/android.md:403 +#: docs/en/tutorial/tutorial-5/android.md:406 msgid "" "We've now got an application on our phone! Is there anywhere else we can " "deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po index e41e81c9..eb7771dc 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po index abcfe123..ec115479 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po index 5850daf9..24f1e46f 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index 8a962edb..3ab0fad1 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:13+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -174,6 +174,18 @@ msgstr "" "Quando si inserisce un nome e si preme il pulsante, dovrebbe apparire una " "finestra di dialogo simile a questa:" +#: docs/en/tutorial/tutorial-7.md:140 +msgid "![Hello World Tutorial 7 dialog, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:156 +msgid "![Hello World Tutorial 7 dialog, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:172 +msgid "![Hello World Tutorial 7 dialog, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:192 #, fuzzy msgid "" @@ -234,6 +246,10 @@ msgstr "" "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " "nella console e una finestra di dialogo di arresto anomalo:" +#: docs/en/tutorial/tutorial-7.md:235 +msgid "![Hello World Tutorial 7 app crash, on macOS]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:277 #: docs/en/tutorial/tutorial-7.md:368 #, fuzzy @@ -242,6 +258,10 @@ msgstr "" "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " "nella console:" +#: docs/en/tutorial/tutorial-7.md:330 +msgid "![Hello World Tutorial 7 app crash, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:359 #: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po index 304848e7..b28201e4 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:13+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -136,6 +136,10 @@ msgid "" "looks something like:" msgstr "" +#: docs/en/tutorial/tutorial-8.md:110 +msgid "![Hello World Tutorial 8 dialog, on macOS]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:114 #: docs/en/tutorial/tutorial-8.md:134 #: docs/en/tutorial/tutorial-8.md:154 @@ -154,11 +158,19 @@ msgstr "" msgid "/// tab | Linux" msgstr "" +#: docs/en/tutorial/tutorial-8.md:130 +msgid "![Hello World Tutorial 8 dialog, on Linux]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:136 #: docs/en/tutorial/tutorial-8.md:342 msgid "/// tab | Windows" msgstr "" +#: docs/en/tutorial/tutorial-8.md:150 +msgid "![Hello World Tutorial 8 dialog, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:156 #: docs/en/tutorial/tutorial-8.md:350 msgid "/// tab | Android" diff --git a/locales/pt/LC_MESSAGES/SUMMARY.po b/locales/pt/LC_MESSAGES/SUMMARY.po index 5249ccc6..974786d4 100644 --- a/locales/pt/LC_MESSAGES/SUMMARY.po +++ b/locales/pt/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po index 71a6aae9..6c4e3d63 100644 --- a/locales/pt/LC_MESSAGES/how-to/index.po +++ b/locales/pt/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: pt \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po index 3b4c0cdb..5e44257a 100644 --- a/locales/pt/LC_MESSAGES/index.po +++ b/locales/pt/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-03-01 19:00+0000\n" "Last-Translator: joaovitorpmoreira \n" "Language-Team: Portuguese \n" "Language-Team: pt \n" diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po index adf7b7e8..11ddfd00 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:06+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Portuguese `{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -142,7 +145,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -152,19 +155,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -172,7 +175,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -182,7 +185,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -192,14 +195,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/index.po b/locales/pt/LC_MESSAGES/tutorial/topics/index.po index 4fc3ede8..ad20b9b1 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: pt \n" diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po index c45aa5e4..ed884a2a 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-02-13 12:07+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/how-to/index.pot b/locales/templates/how-to/index.pot index e6c38af8..608c8bf5 100644 --- a/locales/templates/how-to/index.pot +++ b/locales/templates/how-to/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -140,7 +140,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -149,17 +149,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/templates/index.pot b/locales/templates/index.pot index c5f102cf..66927d82 100644 --- a/locales/templates/index.pot +++ b/locales/templates/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -44,90 +44,90 @@ msgid "" "[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." msgstr "" -#: docs/en/index.md:25 -#: docs/en/index.md:42 -#: docs/en/index.md:59 +#: docs/en/index.md:24 +#: docs/en/index.md:40 +#: docs/en/index.md:56 msgid "///" msgstr "" -#: docs/en/index.md:27 -#: docs/en/index.md:44 -#: docs/en/index.md:61 +#: docs/en/index.md:26 +#: docs/en/index.md:42 +#: docs/en/index.md:58 msgid "{% endif %}" msgstr "" -#: docs/en/index.md:29 +#: docs/en/index.md:28 msgid "{% if config.extra.translation_type == machine %}" msgstr "" -#: docs/en/index.md:31 +#: docs/en/index.md:30 msgid "/// admonition | This is a machine translation!" msgstr "" -#: docs/en/index.md:33 +#: docs/en/index.md:32 msgid "" "This version of the tutorial has been generated by machine translation. We " "know this isn't ideal, but we felt that a bad translation was better than no " "translation at all." msgstr "" -#: docs/en/index.md:37 -#: docs/en/index.md:54 +#: docs/en/index.md:36 +#: docs/en/index.md:52 msgid "" "If you'd like the help improve the translation, get in touch! We have a " "`#translations` channel in [Discord]{1}. Introduce yourself there and we " "will add you to the translation team." msgstr "" -#: docs/en/index.md:46 +#: docs/en/index.md:44 msgid "{% if config.extra.translation_type == human %}" msgstr "" -#: docs/en/index.md:48 +#: docs/en/index.md:46 msgid "/// admonition | This is a translation!" msgstr "" -#: docs/en/index.md:50 +#: docs/en/index.md:48 msgid "" "This document is a translation of the English version. The translation has " "been reviewed by humans, but newer sections may be generated by machine " "translation, or not translated at all." msgstr "" -#: docs/en/index.md:64 +#: docs/en/index.md:61 msgid "What is BeeWare?" msgstr "" -#: docs/en/index.md:66 +#: docs/en/index.md:63 msgid "" "BeeWare is not a single product, or tool, or library - it's a collection of " "tools and libraries, each of which works together to help you write cross " "platform Python applications with a native GUI. It includes:" msgstr "" -#: docs/en/index.md:70 +#: docs/en/index.md:67 msgid "[Toga]{1}, a cross-platform widget toolkit;" msgstr "" -#: docs/en/index.md:71 +#: docs/en/index.md:68 msgid "" "[Briefcase]{1}, a tool for packaging Python projects as distributable " "artefacts that can be shipped to end users;" msgstr "" -#: docs/en/index.md:74 +#: docs/en/index.md:71 msgid "" "Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " "libraries;" msgstr "" -#: docs/en/index.md:76 +#: docs/en/index.md:73 msgid "" "Pre-compiled builds of Python that can be used on platforms where official " "Python installers aren't available." msgstr "" -#: docs/en/index.md:79 +#: docs/en/index.md:76 msgid "" "In this tutorial, we'll be using all these tools, but as a user, you'll only " "need to interact with the first two (Toga and Briefcase). However, each of " @@ -135,17 +135,17 @@ msgid "" "to deploy an app without using Toga as a GUI toolkit." msgstr "" -#: docs/en/index.md:84 +#: docs/en/index.md:81 msgid "" "The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " "mobile platforms such as Android and iOS; and for the Web." msgstr "" -#: docs/en/index.md:87 +#: docs/en/index.md:84 msgid "Let's go!" msgstr "" -#: docs/en/index.md:89 +#: docs/en/index.md:86 msgid "" "Ready to try BeeWare for yourself? " "[Let's build a cross-platform application in Python!][tutorial-0]" diff --git a/locales/templates/tutorial/topics/camera-access.pot b/locales/templates/tutorial/topics/camera-access.pot index ea2f2102..db239e91 100644 --- a/locales/templates/tutorial/topics/camera-access.pot +++ b/locales/templates/tutorial/topics/camera-access.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/topics/custom-icons.pot b/locales/templates/tutorial/topics/custom-icons.pot index 0d2e54ad..720483f1 100644 --- a/locales/templates/tutorial/topics/custom-icons.pot +++ b/locales/templates/tutorial/topics/custom-icons.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -60,8 +60,8 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:34 -#: docs/en/tutorial/topics/custom-icons.md:214 -#: docs/en/tutorial/topics/custom-icons.md:411 +#: docs/en/tutorial/topics/custom-icons.md:213 +#: docs/en/tutorial/topics/custom-icons.md:410 msgid "/// tab | macOS" msgstr "" @@ -70,42 +70,42 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:94 #: docs/en/tutorial/topics/custom-icons.md:132 #: docs/en/tutorial/topics/custom-icons.md:166 -#: docs/en/tutorial/topics/custom-icons.md:238 -#: docs/en/tutorial/topics/custom-icons.md:270 -#: docs/en/tutorial/topics/custom-icons.md:297 -#: docs/en/tutorial/topics/custom-icons.md:343 -#: docs/en/tutorial/topics/custom-icons.md:345 -#: docs/en/tutorial/topics/custom-icons.md:381 -#: docs/en/tutorial/topics/custom-icons.md:390 -#: docs/en/tutorial/topics/custom-icons.md:426 -#: docs/en/tutorial/topics/custom-icons.md:443 -#: docs/en/tutorial/topics/custom-icons.md:460 -#: docs/en/tutorial/topics/custom-icons.md:476 -#: docs/en/tutorial/topics/custom-icons.md:492 +#: docs/en/tutorial/topics/custom-icons.md:237 +#: docs/en/tutorial/topics/custom-icons.md:269 +#: docs/en/tutorial/topics/custom-icons.md:296 +#: docs/en/tutorial/topics/custom-icons.md:342 +#: docs/en/tutorial/topics/custom-icons.md:344 +#: docs/en/tutorial/topics/custom-icons.md:380 +#: docs/en/tutorial/topics/custom-icons.md:389 +#: docs/en/tutorial/topics/custom-icons.md:425 +#: docs/en/tutorial/topics/custom-icons.md:442 +#: docs/en/tutorial/topics/custom-icons.md:459 +#: docs/en/tutorial/topics/custom-icons.md:475 +#: docs/en/tutorial/topics/custom-icons.md:491 msgid "///" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:53 -#: docs/en/tutorial/topics/custom-icons.md:240 -#: docs/en/tutorial/topics/custom-icons.md:428 +#: docs/en/tutorial/topics/custom-icons.md:239 +#: docs/en/tutorial/topics/custom-icons.md:427 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:77 -#: docs/en/tutorial/topics/custom-icons.md:272 -#: docs/en/tutorial/topics/custom-icons.md:445 +#: docs/en/tutorial/topics/custom-icons.md:271 +#: docs/en/tutorial/topics/custom-icons.md:444 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:96 -#: docs/en/tutorial/topics/custom-icons.md:299 -#: docs/en/tutorial/topics/custom-icons.md:462 +#: docs/en/tutorial/topics/custom-icons.md:298 +#: docs/en/tutorial/topics/custom-icons.md:461 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:134 -#: docs/en/tutorial/topics/custom-icons.md:347 -#: docs/en/tutorial/topics/custom-icons.md:478 +#: docs/en/tutorial/topics/custom-icons.md:346 +#: docs/en/tutorial/topics/custom-icons.md:477 msgid "/// tab | iOS" msgstr "" @@ -118,19 +118,22 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:173 msgid "" -"Let's provide some actual icons. Download `this icons.zip bundle <../" -"resources/icons.zip>`{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -138,7 +141,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -148,19 +151,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -168,7 +171,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -178,7 +181,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -188,14 +191,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/templates/tutorial/topics/index.pot b/locales/templates/tutorial/topics/index.pot index c3ed83b0..07cb8cad 100644 --- a/locales/templates/tutorial/topics/index.pot +++ b/locales/templates/tutorial/topics/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/topics/testing.pot b/locales/templates/tutorial/topics/testing.pot index 178ed0ea..15554a56 100644 --- a/locales/templates/tutorial/topics/testing.pot +++ b/locales/templates/tutorial/topics/testing.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -37,7 +37,7 @@ msgid "" "file named `test_app.py` with the following content:" msgstr "" -#: docs/en/tutorial/topics/testing.md:21 +#: docs/en/tutorial/topics/testing.md:23 msgid "" "This is a [Pytest]{1} *test case* - a block of code that can be executed to " "verify some behavior of your app. In this case, the test is a placeholder, " @@ -45,90 +45,90 @@ msgid "" "perform." msgstr "" -#: docs/en/tutorial/topics/testing.md:26 +#: docs/en/tutorial/topics/testing.md:28 msgid "" "We can run this test suite using the `--test` option to `briefcase dev`. As " "this is the first time we are running tests, we also need to pass in the `-r`" " option to ensure that the test requirements are also installed:" msgstr "" -#: docs/en/tutorial/topics/testing.md:30 -#: docs/en/tutorial/topics/testing.md:141 -#: docs/en/tutorial/topics/testing.md:215 -#: docs/en/tutorial/topics/testing.md:337 -#: docs/en/tutorial/topics/testing.md:411 +#: docs/en/tutorial/topics/testing.md:32 +#: docs/en/tutorial/topics/testing.md:145 +#: docs/en/tutorial/topics/testing.md:220 +#: docs/en/tutorial/topics/testing.md:343 +#: docs/en/tutorial/topics/testing.md:416 msgid "/// tab | macOS" msgstr "" -#: docs/en/tutorial/topics/testing.md:53 -#: docs/en/tutorial/topics/testing.md:81 -#: docs/en/tutorial/topics/testing.md:109 -#: docs/en/tutorial/topics/testing.md:158 -#: docs/en/tutorial/topics/testing.md:177 -#: docs/en/tutorial/topics/testing.md:196 -#: docs/en/tutorial/topics/testing.md:247 -#: docs/en/tutorial/topics/testing.md:283 -#: docs/en/tutorial/topics/testing.md:317 -#: docs/en/tutorial/topics/testing.md:355 -#: docs/en/tutorial/topics/testing.md:375 -#: docs/en/tutorial/topics/testing.md:395 -#: docs/en/tutorial/topics/testing.md:453 -#: docs/en/tutorial/topics/testing.md:487 -#: docs/en/tutorial/topics/testing.md:526 +#: docs/en/tutorial/topics/testing.md:55 +#: docs/en/tutorial/topics/testing.md:83 +#: docs/en/tutorial/topics/testing.md:111 +#: docs/en/tutorial/topics/testing.md:162 +#: docs/en/tutorial/topics/testing.md:181 +#: docs/en/tutorial/topics/testing.md:200 +#: docs/en/tutorial/topics/testing.md:252 +#: docs/en/tutorial/topics/testing.md:288 +#: docs/en/tutorial/topics/testing.md:322 +#: docs/en/tutorial/topics/testing.md:361 +#: docs/en/tutorial/topics/testing.md:381 +#: docs/en/tutorial/topics/testing.md:401 +#: docs/en/tutorial/topics/testing.md:458 +#: docs/en/tutorial/topics/testing.md:492 +#: docs/en/tutorial/topics/testing.md:531 msgid "///" msgstr "" -#: docs/en/tutorial/topics/testing.md:55 -#: docs/en/tutorial/topics/testing.md:160 -#: docs/en/tutorial/topics/testing.md:249 -#: docs/en/tutorial/topics/testing.md:357 -#: docs/en/tutorial/topics/testing.md:455 +#: docs/en/tutorial/topics/testing.md:57 +#: docs/en/tutorial/topics/testing.md:164 +#: docs/en/tutorial/topics/testing.md:254 +#: docs/en/tutorial/topics/testing.md:363 +#: docs/en/tutorial/topics/testing.md:460 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/topics/testing.md:83 -#: docs/en/tutorial/topics/testing.md:179 -#: docs/en/tutorial/topics/testing.md:285 -#: docs/en/tutorial/topics/testing.md:377 -#: docs/en/tutorial/topics/testing.md:489 +#: docs/en/tutorial/topics/testing.md:85 +#: docs/en/tutorial/topics/testing.md:183 +#: docs/en/tutorial/topics/testing.md:290 +#: docs/en/tutorial/topics/testing.md:383 +#: docs/en/tutorial/topics/testing.md:494 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/topics/testing.md:112 +#: docs/en/tutorial/topics/testing.md:114 msgid "" "Success! We've just executed a single test that verifies Python math works " "in the way we'd expect (What a relief!)." msgstr "" -#: docs/en/tutorial/topics/testing.md:115 +#: docs/en/tutorial/topics/testing.md:117 msgid "" "Let's replace this placeholder test with a test to verify that our " "`greeting()` method behaves the way we'd expect. Replace the contents of " "`test_app.py` with the following:" msgstr "" -#: docs/en/tutorial/topics/testing.md:133 +#: docs/en/tutorial/topics/testing.md:137 msgid "" "This defines two new tests, verifying the two behaviors we expect to see: " "the output when a name is provided, and the output when the name is empty." msgstr "" -#: docs/en/tutorial/topics/testing.md:137 +#: docs/en/tutorial/topics/testing.md:141 msgid "" "We can now re-run the test suite. This time, we don't need to provided the " "`-r` option, as the test requirements have already been installed; we only " "need to use the `--test` option:" msgstr "" -#: docs/en/tutorial/topics/testing.md:199 +#: docs/en/tutorial/topics/testing.md:202 msgid "Excellent! Our `greeting()` utility method is working as expected." msgstr "" -#: docs/en/tutorial/topics/testing.md:201 +#: docs/en/tutorial/topics/testing.md:204 msgid "Test driven development" msgstr "" -#: docs/en/tutorial/topics/testing.md:203 +#: docs/en/tutorial/topics/testing.md:206 msgid "" "Now that we have a test suite, we can use it to drive the development of new " "features. Let's modify our app to have a special greeting for one particular " @@ -136,11 +136,11 @@ msgid "" "to see to the bottom of `test_app.py`:" msgstr "" -#: docs/en/tutorial/topics/testing.md:213 +#: docs/en/tutorial/topics/testing.md:218 msgid "Then, run the test suite with this new test:" msgstr "" -#: docs/en/tutorial/topics/testing.md:320 +#: docs/en/tutorial/topics/testing.md:324 msgid "" "This time, we see a test failure - and the output explains the source of the " "failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " @@ -149,15 +149,15 @@ msgid "" "the new behavior:" msgstr "" -#: docs/en/tutorial/topics/testing.md:335 +#: docs/en/tutorial/topics/testing.md:341 msgid "If we run the tests again, we'll now see our tests pass:" msgstr "" -#: docs/en/tutorial/topics/testing.md:398 +#: docs/en/tutorial/topics/testing.md:403 msgid "Runtime tests" msgstr "" -#: docs/en/tutorial/topics/testing.md:400 +#: docs/en/tutorial/topics/testing.md:405 msgid "" "So far, we've been running the tests in development mode. This is especially " "useful when you're developing new features, as you can rapidly iterate on " @@ -166,7 +166,7 @@ msgid "" "the bundle app environment." msgstr "" -#: docs/en/tutorial/topics/testing.md:406 +#: docs/en/tutorial/topics/testing.md:411 msgid "" "The `--test` and `-r` options can also be passed to the `run` command. If " "you use `briefcase run --test -r`, the same test suite will run, but it will " @@ -174,14 +174,14 @@ msgid "" "environment:" msgstr "" -#: docs/en/tutorial/topics/testing.md:529 +#: docs/en/tutorial/topics/testing.md:534 msgid "" "As with `briefcase dev --test`, the `-r` option is only needed the first " "time you run the test suite to ensure that the test dependencies are " "present. On subsequent runs, you can omit this option." msgstr "" -#: docs/en/tutorial/topics/testing.md:533 +#: docs/en/tutorial/topics/testing.md:538 msgid "" "You can also use the `--test` option on mobile backends: - so `briefcase run " "iOS --test` and `briefcase run android --test` will both work, running the " diff --git a/locales/templates/tutorial/tutorial-0.pot b/locales/templates/tutorial/tutorial-0.pot index b43f4a1e..4fed6284 100644 --- a/locales/templates/tutorial/tutorial-0.pot +++ b/locales/templates/tutorial/tutorial-0.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/tutorial-1.pot b/locales/templates/tutorial/tutorial-1.pot index 578206d8..406e73fb 100644 --- a/locales/templates/tutorial/tutorial-1.pot +++ b/locales/templates/tutorial/tutorial-1.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -207,6 +207,18 @@ msgstr "" msgid "This should open a GUI window:" msgstr "" +#: docs/en/tutorial/tutorial-1.md:207 +msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:215 +msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:223 +msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-1.md:227 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" diff --git a/locales/templates/tutorial/tutorial-2.pot b/locales/templates/tutorial/tutorial-2.pot index a271c92a..595547bc 100644 --- a/locales/templates/tutorial/tutorial-2.pot +++ b/locales/templates/tutorial/tutorial-2.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -322,6 +322,18 @@ msgstr "" msgid "This should open a GUI window:" msgstr "" +#: docs/en/tutorial/tutorial-2.md:336 +msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:344 +msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:352 +msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-2.md:358 msgid "" "If you enter a name in the text box, and press the GUI button, you should " diff --git a/locales/templates/tutorial/tutorial-3.pot b/locales/templates/tutorial/tutorial-3.pot index 3d126663..151857a0 100644 --- a/locales/templates/tutorial/tutorial-3.pot +++ b/locales/templates/tutorial/tutorial-3.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/tutorial-4.pot b/locales/templates/tutorial/tutorial-4.pot index 864d44bd..eead72f5 100644 --- a/locales/templates/tutorial/tutorial-4.pot +++ b/locales/templates/tutorial/tutorial-4.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -66,44 +66,52 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-4.md:41 -#: docs/en/tutorial/tutorial-4.md:85 -#: docs/en/tutorial/tutorial-4.md:198 +#: docs/en/tutorial/tutorial-4.md:81 +#: docs/en/tutorial/tutorial-4.md:194 msgid "/// tab | macOS" msgstr "" -#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:43 msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" msgstr "" -#: docs/en/tutorial/tutorial-4.md:51 -#: docs/en/tutorial/tutorial-4.md:59 -#: docs/en/tutorial/tutorial-4.md:67 -#: docs/en/tutorial/tutorial-4.md:99 -#: docs/en/tutorial/tutorial-4.md:122 -#: docs/en/tutorial/tutorial-4.md:138 -#: docs/en/tutorial/tutorial-4.md:219 -#: docs/en/tutorial/tutorial-4.md:248 -#: docs/en/tutorial/tutorial-4.md:266 +#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:55 +#: docs/en/tutorial/tutorial-4.md:63 +#: docs/en/tutorial/tutorial-4.md:95 +#: docs/en/tutorial/tutorial-4.md:118 +#: docs/en/tutorial/tutorial-4.md:134 +#: docs/en/tutorial/tutorial-4.md:215 +#: docs/en/tutorial/tutorial-4.md:244 +#: docs/en/tutorial/tutorial-4.md:262 msgid "///" msgstr "" -#: docs/en/tutorial/tutorial-4.md:53 -#: docs/en/tutorial/tutorial-4.md:101 -#: docs/en/tutorial/tutorial-4.md:221 +#: docs/en/tutorial/tutorial-4.md:49 +#: docs/en/tutorial/tutorial-4.md:97 +#: docs/en/tutorial/tutorial-4.md:217 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-4.md:61 -#: docs/en/tutorial/tutorial-4.md:124 -#: docs/en/tutorial/tutorial-4.md:250 +#: docs/en/tutorial/tutorial-4.md:51 +msgid "![Hello World Tutorial 4 dialog, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:57 +#: docs/en/tutorial/tutorial-4.md:120 +#: docs/en/tutorial/tutorial-4.md:246 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-4.md:69 +#: docs/en/tutorial/tutorial-4.md:59 +msgid "![Hello World Tutorial 4 dialog, on Windows]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:65 msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "" -#: docs/en/tutorial/tutorial-4.md:71 +#: docs/en/tutorial/tutorial-4.md:67 msgid "" "Why is this? Well, `briefcase dev` operates by running your code in place -" "it tries to produce as realistic runtime environment for your code as " @@ -113,7 +121,7 @@ msgid "" "the moment, your application still has the old code in it." msgstr "" -#: docs/en/tutorial/tutorial-4.md:79 +#: docs/en/tutorial/tutorial-4.md:75 msgid "" "So - we need to tell briefcase to update your app, copying in the new " "version of the code. We *could* do this by deleting the old platform " @@ -121,20 +129,20 @@ msgid "" "way - you can update the code for your existing bundled application:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:140 +#: docs/en/tutorial/tutorial-4.md:136 msgid "" "If Briefcase can't find the scaffolded template, it will automatically " "invoke `create` to generate a fresh scaffold." msgstr "" -#: docs/en/tutorial/tutorial-4.md:143 +#: docs/en/tutorial/tutorial-4.md:139 msgid "" "Now that we've updated the installer code, we can then run `briefcase build` " "to re-compile the app, `briefcase run` to run the updated app, and `" "briefcase package` to repackage the application for distribution." msgstr "" -#: docs/en/tutorial/tutorial-4.md:148 +#: docs/en/tutorial/tutorial-4.md:144 msgid "" "(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " "tutorial we recommend running `briefcase package` with the `--adhoc-sign` " @@ -142,11 +150,11 @@ msgid "" "the tutorial as simple as possible.)" msgstr "" -#: docs/en/tutorial/tutorial-4.md:153 +#: docs/en/tutorial/tutorial-4.md:149 msgid "Update and run in one step" msgstr "" -#: docs/en/tutorial/tutorial-4.md:155 +#: docs/en/tutorial/tutorial-4.md:151 msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " "change, update the application, and immediately re-run your application. For " @@ -159,48 +167,48 @@ msgid "" "pattern - the `-u` (or `--update`) option on the `run` command." msgstr "" -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:162 msgid "" "Let's try making another change. You may have noticed that if you don't type " "a name in the text input box, the dialog will say \"Hello, \". Let's modify " "the `say_hello` function again to handle this edge case." msgstr "" -#: docs/en/tutorial/tutorial-4.md:170 +#: docs/en/tutorial/tutorial-4.md:166 msgid "" "At the top of the file, between the imports and the `class HelloWorld` " "definition, add a utility method to generate an appropriate greeting " "depending on the value of the name that has been provided:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:182 +#: docs/en/tutorial/tutorial-4.md:178 msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:194 +#: docs/en/tutorial/tutorial-4.md:190 msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " "new logic works; then update, build and run the app with one command:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:264 msgid "" "The package command also accepts the `-u` argument, so if you make a change " "to your application code and want to repackage immediately, you can run `" "briefcase package -u`." msgstr "" -#: docs/en/tutorial/tutorial-4.md:272 +#: docs/en/tutorial/tutorial-4.md:268 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-4.md:274 +#: docs/en/tutorial/tutorial-4.md:270 msgid "" "We now have our application packaged for distribution on desktop platforms, " "and we've been able to update the code in our application." msgstr "" -#: docs/en/tutorial/tutorial-4.md:277 +#: docs/en/tutorial/tutorial-4.md:273 msgid "" "But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " "application into a mobile application, and deploy it onto a device " diff --git a/locales/templates/tutorial/tutorial-5/android.pot b/locales/templates/tutorial/tutorial-5/android.pot index f97adde1..d45ff9d6 100644 --- a/locales/templates/tutorial/tutorial-5/android.pot +++ b/locales/templates/tutorial/tutorial-5/android.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -43,7 +43,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:16 #: docs/en/tutorial/tutorial-5/android.md:121 #: docs/en/tutorial/tutorial-5/android.md:204 -#: docs/en/tutorial/tutorial-5/android.md:333 +#: docs/en/tutorial/tutorial-5/android.md:336 msgid "/// tab | macOS" msgstr "" @@ -57,25 +57,29 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:216 #: docs/en/tutorial/tutorial-5/android.md:230 #: docs/en/tutorial/tutorial-5/android.md:244 -#: docs/en/tutorial/tutorial-5/android.md:288 -#: docs/en/tutorial/tutorial-5/android.md:347 -#: docs/en/tutorial/tutorial-5/android.md:363 -#: docs/en/tutorial/tutorial-5/android.md:379 -#: docs/en/tutorial/tutorial-5/android.md:399 +#: docs/en/tutorial/tutorial-5/android.md:258 +#: docs/en/tutorial/tutorial-5/android.md:268 +#: docs/en/tutorial/tutorial-5/android.md:278 +#: docs/en/tutorial/tutorial-5/android.md:290 +#: docs/en/tutorial/tutorial-5/android.md:301 +#: docs/en/tutorial/tutorial-5/android.md:350 +#: docs/en/tutorial/tutorial-5/android.md:366 +#: docs/en/tutorial/tutorial-5/android.md:382 +#: docs/en/tutorial/tutorial-5/android.md:402 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:45 #: docs/en/tutorial/tutorial-5/android.md:141 #: docs/en/tutorial/tutorial-5/android.md:218 -#: docs/en/tutorial/tutorial-5/android.md:349 +#: docs/en/tutorial/tutorial-5/android.md:352 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:74 #: docs/en/tutorial/tutorial-5/android.md:161 #: docs/en/tutorial/tutorial-5/android.md:232 -#: docs/en/tutorial/tutorial-5/android.md:365 +#: docs/en/tutorial/tutorial-5/android.md:368 msgid "/// tab | Windows" msgstr "" @@ -150,22 +154,48 @@ msgid "" "is booting, you will see the Android logo:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:259 +#: docs/en/tutorial/tutorial-5/android.md:253 +msgid "![Android virtual device booting]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:256 +msgid "Android virtual device booting" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:260 msgid "" "Once the device has finished booting, Briefcase will install your app on the " "device. You will briefly see a launcher screen:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:269 +#: docs/en/tutorial/tutorial-5/android.md:263 +msgid "" +"![Android virtual device fully started, on the launcher screen]{1} /// " +"caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:266 +msgid "Android virtual device fully started, on the launcher screen" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:270 msgid "" "The app will then start. You'll see a splash screen while the app starts up:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:278 -msgid "/// admonition | The emulator didn't start!" +#: docs/en/tutorial/tutorial-5/android.md:273 +msgid "![App splash screen]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:276 +msgid "App splash screen" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:280 +msgid "/// admonition | The emulator didn't start!" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:282 msgid "" "The Android emulator is a complex piece of software that relies on a number " "of hardware and operating system features - features that may not be " @@ -174,20 +204,28 @@ msgid "" "{1} section of the Android developer documentation." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:290 +#: docs/en/tutorial/tutorial-5/android.md:292 msgid "" "The first time the app starts, it needs to unpack itself onto the device. " "This may take a few seconds. Once it's unpacked, you'll see the Android " "version of our desktop app:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:300 +#: docs/en/tutorial/tutorial-5/android.md:296 +msgid "![Demo app fully launched]{1} /// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:299 +msgid "Demo app fully launched" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:303 msgid "" "If you fail to see your app launching, you may need to check your terminal " "where you ran `briefcase run` and look for any error messages." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:303 +#: docs/en/tutorial/tutorial-5/android.md:306 msgid "" "While the app is running, you'll see a lot of messages being streamed in the " "console. This is a stream of the application's logs from the emulator. " @@ -196,51 +234,51 @@ msgid "" "changes without restarting the emulator." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:309 +#: docs/en/tutorial/tutorial-5/android.md:312 msgid "" "In future, if you want to run on this device without using the menu, you can " "provide the emulator's name to Briefcase, using `briefcase run android -d " "\"@beePhone\"` to run on the virtual device directly." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:314 +#: docs/en/tutorial/tutorial-5/android.md:317 msgid "Run the app on a physical device" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:316 +#: docs/en/tutorial/tutorial-5/android.md:319 msgid "" "If you have a physical Android phone or tablet, you can connect it to your " "computer with a USB cable, and then use the Briefcase to target your " "physical device." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:320 +#: docs/en/tutorial/tutorial-5/android.md:323 msgid "" "Android requires that you prepare your device before it can be used for " "development. You will need to make 2 changes to the options on your device:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:324 +#: docs/en/tutorial/tutorial-5/android.md:327 msgid "Enable developer options" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:325 +#: docs/en/tutorial/tutorial-5/android.md:328 msgid "Enable USB debugging" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:327 +#: docs/en/tutorial/tutorial-5/android.md:330 msgid "" "Details on how to make these changes can be found " "[in the Android developer documentation]{1}." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:330 +#: docs/en/tutorial/tutorial-5/android.md:333 msgid "" "Once these steps have been completed, your device should appear in the list " "of available devices when you run `briefcase run android`." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:381 +#: docs/en/tutorial/tutorial-5/android.md:384 msgid "" "Here we can see a new physical device with it's serial number on the " "deployment list - in this case, a Pixel 3a. In the future, if you want to " @@ -249,17 +287,17 @@ msgid "" "94ZZY0LNE8`). This will run on the device directly, without prompting." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:388 +#: docs/en/tutorial/tutorial-5/android.md:391 msgid "/// admonition | My device doesn't appear!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:390 +#: docs/en/tutorial/tutorial-5/android.md:393 msgid "" "If your device doesn't appear on this list at all, either you haven't " "enabled USB debugging, (or the device isn't plugged in!)." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:393 +#: docs/en/tutorial/tutorial-5/android.md:396 msgid "" "If your device appears, but is listed as " "\"Unknown device (not authorized for development)\", developer mode hasn't " @@ -267,11 +305,11 @@ msgid "" "and re-run `briefcase run android`." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:401 +#: docs/en/tutorial/tutorial-5/android.md:404 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:403 +#: docs/en/tutorial/tutorial-5/android.md:406 msgid "" "We've now got an application on our phone! Is there anywhere else we can " "deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." diff --git a/locales/templates/tutorial/tutorial-5/iOS.pot b/locales/templates/tutorial/tutorial-5/iOS.pot index b9dc8c0d..43246080 100644 --- a/locales/templates/tutorial/tutorial-5/iOS.pot +++ b/locales/templates/tutorial/tutorial-5/iOS.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/tutorial-5/index.pot b/locales/templates/tutorial/tutorial-5/index.pot index 9469d3d7..64c11240 100644 --- a/locales/templates/tutorial/tutorial-5/index.pot +++ b/locales/templates/tutorial/tutorial-5/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/tutorial-6.pot b/locales/templates/tutorial/tutorial-6.pot index 1a8b6463..a4a5cf59 100644 --- a/locales/templates/tutorial/tutorial-6.pot +++ b/locales/templates/tutorial/tutorial-6.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/tutorial/tutorial-7.pot b/locales/templates/tutorial/tutorial-7.pot index eb16c606..5e11b6ce 100644 --- a/locales/templates/tutorial/tutorial-7.pot +++ b/locales/templates/tutorial/tutorial-7.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -151,6 +151,18 @@ msgid "" "looks something like:" msgstr "" +#: docs/en/tutorial/tutorial-7.md:140 +msgid "![Hello World Tutorial 7 dialog, on macOS]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:156 +msgid "![Hello World Tutorial 7 dialog, on Linux]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:172 +msgid "![Hello World Tutorial 7 dialog, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:192 msgid "" "We've now got a working app, using a third party library, running in " @@ -197,11 +209,19 @@ msgid "" "dialog:" msgstr "" +#: docs/en/tutorial/tutorial-7.md:235 +msgid "![Hello World Tutorial 7 app crash, on macOS]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:277 #: docs/en/tutorial/tutorial-7.md:368 msgid "However, when the app runs, you'll see an error in the console:" msgstr "" +#: docs/en/tutorial/tutorial-7.md:330 +msgid "![Hello World Tutorial 7 app crash, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-7.md:359 #: docs/en/tutorial/tutorial-7.md:434 msgid "And finally, run the app (selecting a simulator when prompted):" diff --git a/locales/templates/tutorial/tutorial-8.pot b/locales/templates/tutorial/tutorial-8.pot index 450e1a5c..dc212d3b 100644 --- a/locales/templates/tutorial/tutorial-8.pot +++ b/locales/templates/tutorial/tutorial-8.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -134,6 +134,10 @@ msgid "" "looks something like:" msgstr "" +#: docs/en/tutorial/tutorial-8.md:110 +msgid "![Hello World Tutorial 8 dialog, on macOS]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:114 #: docs/en/tutorial/tutorial-8.md:134 #: docs/en/tutorial/tutorial-8.md:154 @@ -152,11 +156,19 @@ msgstr "" msgid "/// tab | Linux" msgstr "" +#: docs/en/tutorial/tutorial-8.md:130 +msgid "![Hello World Tutorial 8 dialog, on Linux]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:136 #: docs/en/tutorial/tutorial-8.md:342 msgid "/// tab | Windows" msgstr "" +#: docs/en/tutorial/tutorial-8.md:150 +msgid "![Hello World Tutorial 8 dialog, on Windows]{1} /// caption ///" +msgstr "" + #: docs/en/tutorial/tutorial-8.md:156 #: docs/en/tutorial/tutorial-8.md:350 msgid "/// tab | Android" diff --git a/locales/zh_CN/LC_MESSAGES/SUMMARY.po b/locales/zh_CN/LC_MESSAGES/SUMMARY.po index 5249ccc6..974786d4 100644 --- a/locales/zh_CN/LC_MESSAGES/SUMMARY.po +++ b/locales/zh_CN/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po index 4bf8d05b..50422d7d 100644 --- a/locales/zh_CN/LC_MESSAGES/how-to/index.po +++ b/locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_CN \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po index 7ec27545..227f4aa3 100644 --- a/locales/zh_CN/LC_MESSAGES/index.po +++ b/locales/zh_CN/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2025-07-07 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) `{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -152,7 +155,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -162,19 +165,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -182,7 +185,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -192,7 +195,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -202,14 +205,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po b/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po index a1c425fa..2f146f87 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2025-06-05 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: LANGUAGE \n" diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po index bc5fe9d3..a163ac99 100644 --- a/locales/zh_TW/LC_MESSAGES/how-to/index.po +++ b/locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_TW \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" +msgid "Contributing to this tutorial { id=contributing }" msgstr "" #: docs/en/how-to/index.md:3 @@ -139,7 +139,7 @@ msgid "Your prompt should now have a `(venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare repository" +msgid "Clone the BeeWare Tutorial repository" msgstr "" #: docs/en/how-to/index.md:82 @@ -148,17 +148,18 @@ msgstr "" #: docs/en/how-to/index.md:84 msgid "" -"Next, go to [the BeeWare page on GitHub]{1}, fork the repository into your " -"own account, and then clone a copy of that repository onto your computer by " -"clicking on \"Clone or Download\". If you have the GitHub desktop " -"application installed on your computer, you can select \"Open in Desktop\"; " -"otherwise, copy the URL provided, and use it to clone using the command line:" +"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " +"into your own account, and then clone a copy of that repository onto your " +"computer by clicking on \"Clone or Download\". If you have the GitHub " +"desktop application installed on your computer, you can select " +"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " +"using the command line:" msgstr "" #: docs/en/how-to/index.md:94 #: docs/en/how-to/index.md:106 #: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare repository, and then:" +msgid "Fork the BeeWare Tutorial repository, and then:" msgstr "" #: docs/en/how-to/index.md:100 diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po index 4f5419f2..b459539d 100644 --- a/locales/zh_TW/LC_MESSAGES/index.po +++ b/locales/zh_TW/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-04-11 10:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: zh_TW \n" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po index a068c58f..ab9439b4 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) `{.interpreted-text role=\"download\"}, and unzip it " -"into the root of your project directory. After unzipping, your project " -"directory should look something like:" +"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " +"unzip it into the root of your project directory. After unzipping, your " +"project directory should look something like:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:195 +#: docs/en/tutorial/topics/custom-icons.md:194 msgid "" "There's a *lot* of icons in this folder, but most of them should look the " "same: a green snake on a light blue background:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:202 +#: docs/en/tutorial/topics/custom-icons.md:197 +msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:201 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -140,7 +143,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:207 +#: docs/en/tutorial/topics/custom-icons.md:206 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -150,19 +153,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:337 -#: docs/en/tutorial/topics/custom-icons.md:383 +#: docs/en/tutorial/topics/custom-icons.md:336 +#: docs/en/tutorial/topics/custom-icons.md:382 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:339 +#: docs/en/tutorial/topics/custom-icons.md:338 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:385 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -170,7 +173,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:392 +#: docs/en/tutorial/topics/custom-icons.md:391 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -180,7 +183,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:404 +#: docs/en/tutorial/topics/custom-icons.md:403 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -190,14 +193,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:495 +#: docs/en/tutorial/topics/custom-icons.md:494 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:499 +#: docs/en/tutorial/topics/custom-icons.md:498 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po index 12469832..3dcab4a8 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_TW \n" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po index dde0ce75..0352bfd2 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional Han script) \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: zh_TW \n" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po index 2c9b4d2d..58847636 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-04-08 11:58+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: zh_TW \n" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po index b6bdb10c..79af7ce1 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-14 23:09-0400\n" +"POT-Creation-Date: 2025-08-15 23:26-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) Date: Thu, 21 Aug 2025 16:20:43 -0400 Subject: [PATCH 10/24] Update anchors/links/translations. --- docs/en/how-to/index.md | 2 +- docs/en/index.md | 4 +- docs/en/tutorial/topics/camera-access.md | 2 +- docs/en/tutorial/topics/custom-icons.md | 2 +- docs/en/tutorial/topics/index.md | 8 +- docs/en/tutorial/topics/testing.md | 2 +- docs/en/tutorial/tutorial-0.md | 4 +- docs/en/tutorial/tutorial-1.md | 6 +- docs/en/tutorial/tutorial-2.md | 6 +- docs/en/tutorial/tutorial-3.md | 4 +- docs/en/tutorial/tutorial-4.md | 8 +- docs/en/tutorial/tutorial-5/android.md | 4 +- docs/en/tutorial/tutorial-5/iOS.md | 8 +- docs/en/tutorial/tutorial-5/index.md | 6 +- docs/en/tutorial/tutorial-6.md | 4 +- docs/en/tutorial/tutorial-7.md | 6 +- docs/en/tutorial/tutorial-8.md | 4 +- docs/spelling_wordlist | 1 + locales/de/LC_MESSAGES/SUMMARY.po | 2 +- locales/de/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/de/LC_MESSAGES/index.po | 17 +- .../tutorial/topics/camera-access.po | 6 +- .../tutorial/topics/custom-icons.po | 75 +++--- .../de/LC_MESSAGES/tutorial/topics/index.po | 12 +- .../de/LC_MESSAGES/tutorial/topics/testing.po | 6 +- locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 111 +++++---- locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 150 ++++++------ locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 52 +++-- locales/de/LC_MESSAGES/tutorial/tutorial-3.po | 12 +- locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 106 +++++---- .../tutorial/tutorial-5/android.po | 112 ++++----- .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 26 ++- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 10 +- locales/de/LC_MESSAGES/tutorial/tutorial-6.po | 8 +- locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 216 +++++++++-------- locales/de/LC_MESSAGES/tutorial/tutorial-8.po | 171 +++++++------- locales/es/LC_MESSAGES/SUMMARY.po | 2 +- locales/es/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/es/LC_MESSAGES/index.po | 17 +- .../tutorial/topics/camera-access.po | 9 +- .../tutorial/topics/custom-icons.po | 78 ++++--- .../es/LC_MESSAGES/tutorial/topics/index.po | 15 +- .../es/LC_MESSAGES/tutorial/topics/testing.po | 11 +- locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 111 ++++----- locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 152 ++++++------ locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 57 +++-- locales/es/LC_MESSAGES/tutorial/tutorial-3.po | 17 +- locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 111 ++++----- .../tutorial/tutorial-5/android.po | 108 ++++----- .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 29 ++- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 13 +- locales/es/LC_MESSAGES/tutorial/tutorial-6.po | 13 +- locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 218 +++++++++--------- locales/es/LC_MESSAGES/tutorial/tutorial-8.po | 176 +++++++------- locales/fr/LC_MESSAGES/SUMMARY.po | 2 +- locales/fr/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/fr/LC_MESSAGES/index.po | 17 +- .../tutorial/topics/camera-access.po | 4 +- .../tutorial/topics/custom-icons.po | 73 +++--- .../fr/LC_MESSAGES/tutorial/topics/index.po | 10 +- .../fr/LC_MESSAGES/tutorial/topics/testing.po | 11 +- locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 111 ++++----- locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 153 ++++++------ locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 56 +++-- locales/fr/LC_MESSAGES/tutorial/tutorial-3.po | 17 +- locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 111 ++++----- .../tutorial/tutorial-5/android.po | 110 ++++----- .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 31 +-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 13 +- locales/fr/LC_MESSAGES/tutorial/tutorial-6.po | 13 +- locales/fr/LC_MESSAGES/tutorial/tutorial-7.po | 218 +++++++++--------- locales/fr/LC_MESSAGES/tutorial/tutorial-8.po | 176 +++++++------- locales/it/LC_MESSAGES/SUMMARY.po | 2 +- locales/it/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/it/LC_MESSAGES/index.po | 19 +- .../tutorial/topics/camera-access.po | 4 +- .../tutorial/topics/custom-icons.po | 73 +++--- .../it/LC_MESSAGES/tutorial/topics/index.po | 15 +- .../it/LC_MESSAGES/tutorial/topics/testing.po | 9 +- locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 113 ++++----- locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 153 ++++++------ locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 56 +++-- locales/it/LC_MESSAGES/tutorial/tutorial-3.po | 17 +- locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 111 ++++----- .../tutorial/tutorial-5/android.po | 110 ++++----- .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 31 +-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 15 +- locales/it/LC_MESSAGES/tutorial/tutorial-6.po | 13 +- locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 218 +++++++++--------- locales/it/LC_MESSAGES/tutorial/tutorial-8.po | 176 +++++++------- locales/pt/LC_MESSAGES/SUMMARY.po | 2 +- locales/pt/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/pt/LC_MESSAGES/index.po | 17 +- .../tutorial/topics/camera-access.po | 4 +- .../tutorial/topics/custom-icons.po | 73 +++--- .../pt/LC_MESSAGES/tutorial/topics/index.po | 10 +- .../pt/LC_MESSAGES/tutorial/topics/testing.po | 11 +- locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 111 ++++----- locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 153 ++++++------ locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 56 +++-- locales/pt/LC_MESSAGES/tutorial/tutorial-3.po | 15 +- locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 109 ++++----- .../tutorial/tutorial-5/android.po | 108 ++++----- .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 29 ++- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 13 +- locales/pt/LC_MESSAGES/tutorial/tutorial-6.po | 11 +- locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 218 +++++++++--------- locales/pt/LC_MESSAGES/tutorial/tutorial-8.po | 174 +++++++------- locales/templates/SUMMARY.pot | 2 +- locales/templates/how-to/index.pot | 194 +++++++++------- locales/templates/index.pot | 12 +- .../tutorial/topics/camera-access.pot | 4 +- .../tutorial/topics/custom-icons.pot | 73 +++--- locales/templates/tutorial/topics/index.pot | 10 +- locales/templates/tutorial/topics/testing.pot | 4 +- locales/templates/tutorial/tutorial-0.pot | 96 ++++---- locales/templates/tutorial/tutorial-1.pot | 146 ++++++------ locales/templates/tutorial/tutorial-2.pot | 49 ++-- locales/templates/tutorial/tutorial-3.pot | 10 +- locales/templates/tutorial/tutorial-4.pot | 104 +++++---- .../templates/tutorial/tutorial-5/android.pot | 103 +++++---- locales/templates/tutorial/tutorial-5/iOS.pot | 24 +- .../templates/tutorial/tutorial-5/index.pot | 8 +- locales/templates/tutorial/tutorial-6.pot | 6 +- locales/templates/tutorial/tutorial-7.pot | 213 +++++++++-------- locales/templates/tutorial/tutorial-8.pot | 169 +++++++------- locales/zh_CN/LC_MESSAGES/SUMMARY.po | 2 +- locales/zh_CN/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/zh_CN/LC_MESSAGES/index.po | 17 +- .../tutorial/topics/camera-access.po | 9 +- .../tutorial/topics/custom-icons.po | 78 ++++--- .../LC_MESSAGES/tutorial/topics/index.po | 15 +- .../LC_MESSAGES/tutorial/topics/testing.po | 9 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 112 ++++----- .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 153 ++++++------ .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 55 +++-- .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 16 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 110 ++++----- .../tutorial/tutorial-5/android.po | 108 ++++----- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 29 ++- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 13 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 12 +- .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 218 +++++++++--------- .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 174 +++++++------- locales/zh_TW/LC_MESSAGES/SUMMARY.po | 2 +- locales/zh_TW/LC_MESSAGES/how-to/index.po | 194 +++++++++------- locales/zh_TW/LC_MESSAGES/index.po | 17 +- .../tutorial/topics/camera-access.po | 4 +- .../tutorial/topics/custom-icons.po | 73 +++--- .../LC_MESSAGES/tutorial/topics/index.po | 10 +- .../LC_MESSAGES/tutorial/topics/testing.po | 4 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 111 ++++----- .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 153 ++++++------ .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 56 +++-- .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 17 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 111 ++++----- .../tutorial/tutorial-5/android.po | 110 ++++----- .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 31 +-- .../LC_MESSAGES/tutorial/tutorial-5/index.po | 15 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 12 +- .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 218 +++++++++--------- .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 174 +++++++------- 162 files changed, 5563 insertions(+), 4955 deletions(-) diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md index a268bbf9..3f8d701f 100644 --- a/docs/en/how-to/index.md +++ b/docs/en/how-to/index.md @@ -1,4 +1,4 @@ -# Contributing to this tutorial { id=contributing } +# Contributing to this tutorial This tutorial is written using [MkDocs and Markdown](https://www.mkdocs.org/). This guide will help you contribute fixes or new content to this diff --git a/docs/en/index.md b/docs/en/index.md index dd758ab3..ac349e6a 100644 --- a/docs/en/index.md +++ b/docs/en/index.md @@ -1,4 +1,4 @@ -# Welcome to the BeeWare Tutorial! { id=tutorial } +# Welcome to the BeeWare Tutorial! **Write Python. Run Anywhere.** @@ -84,4 +84,4 @@ mobile platforms such as Android and iOS; and for the Web. ## Let's go! Ready to try BeeWare for yourself? -[Let's build a cross-platform application in Python!][tutorial-0] +[Let's build a cross-platform application in Python!](tutorial/tutorial-0.md) diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index 9175f0dc..1ab12367 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -1,4 +1,4 @@ -# Using the camera { id="camera-access" } +# Using the camera Almost every modern computing device has a camera of some sort. In this tutorial, we'll write new application that is able to request access to diff --git a/docs/en/tutorial/topics/custom-icons.md b/docs/en/tutorial/topics/custom-icons.md index 8cf5bc59..b11c1269 100644 --- a/docs/en/tutorial/topics/custom-icons.md +++ b/docs/en/tutorial/topics/custom-icons.md @@ -1,4 +1,4 @@ -# Customizing icons { id="custom-icons" } +# Customizing icons The app we developed in the main tutorial uses a default "gray bee" icon when it is packaged. Let's personalize this application by configuring diff --git a/docs/en/tutorial/topics/index.md b/docs/en/tutorial/topics/index.md index c7672990..bcb382f5 100644 --- a/docs/en/tutorial/topics/index.md +++ b/docs/en/tutorial/topics/index.md @@ -1,21 +1,21 @@ -# Going further { id="topics" } +# Going further Want to go deeper on specific topics? Here are some additional tutorials that explore common aspects of application development. Each tutorial is standalone, and can be completed in any order; but they all assume you've completed the core tutorial. -### [Customizing icons][custom-icons] +### [Customizing icons](custom-icons.md) Customize your application's appearance by replacing the default "gray bee" icon. -### [Using the camera][camera-access] +### [Using the camera](camera-access.md) Use the camera on your mobile or desktop device to take and view a picture from within your application. -### [Testing times][testing] +### [Testing times](testing.md) How do you ensure that your application works, and stays working? By adding a test suite to your project! diff --git a/docs/en/tutorial/topics/testing.md b/docs/en/tutorial/topics/testing.md index daae9d4a..2bbcbfbf 100644 --- a/docs/en/tutorial/topics/testing.md +++ b/docs/en/tutorial/topics/testing.md @@ -1,4 +1,4 @@ -# Testing times { id="testing" } +# Testing times Most software development doesn't involve writing new code - it's modifying existing code. Ensuring that existing code continues to work diff --git a/docs/en/tutorial/tutorial-0.md b/docs/en/tutorial/tutorial-0.md index de4fa52a..db838dc0 100644 --- a/docs/en/tutorial/tutorial-0.md +++ b/docs/en/tutorial/tutorial-0.md @@ -1,4 +1,4 @@ -# Tutorial 0 - Let's get set up! { id="tutorial-0" } +# Tutorial 0 - Let's get set up! Before we build our first BeeWare app, we have to make sure we've got all the prerequisites for running BeeWare. @@ -231,4 +231,4 @@ should stick to `venv` and the system Python. ## Next steps We've now set up our environment. We're ready to -[create our first BeeWare application][tutorial-1]. +[create our first BeeWare application](tutorial-1.md). diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index 90caf135..8fb692aa 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -1,4 +1,4 @@ -# Tutorial 1 - Your first app { id="tutorial-1" } +# Tutorial 1 - Your first app We're ready to create our first application. @@ -8,7 +8,7 @@ First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in -[Tutorial 0][tutorial-0], with the +[Tutorial 0], with the `beeware-venv` virtual environment activated, and run: /// tab | macOS @@ -259,5 +259,5 @@ native application in Python! We now have a working application, running in developer mode. Now we can add some logic of our own to make our application do something a little -more interesting. In [Tutorial 2][tutorial-2], we'll put a more useful +more interesting. In [Tutorial 2](tutorial-2.md), we'll put a more useful user interface onto our application. diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index f3343b08..b26fba78 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -1,6 +1,6 @@ -# Tutorial 2 - Making it interesting { id="tutorial-2" } +# Tutorial 2 - Making it interesting -In [Tutorial 1][tutorial-1], we generated +In [Tutorial 1](tutorial-1.md), we generated a stub project that was able to run, but we didn't write any code ourselves. Let's take a look at what was generated for us. @@ -374,6 +374,6 @@ terminal where you ran `briefcase dev`. We've now got an application that does something a little more interesting. But it only runs on our own computer. Let's package this -application for distribution. In [Tutorial 3][tutorial-3], we'll wrap our +application for distribution. In [Tutorial 3](tutorial-3.md), we'll wrap our application up as a standalone installer that we could send to a friend, a customer, or upload to an App Store. diff --git a/docs/en/tutorial/tutorial-3.md b/docs/en/tutorial/tutorial-3.md index b55251a8..b1ca2ad3 100644 --- a/docs/en/tutorial/tutorial-3.md +++ b/docs/en/tutorial/tutorial-3.md @@ -1,4 +1,4 @@ -# Tutorial 3 - Packaging for distribution { id="tutorial-3" } +# Tutorial 3 - Packaging for distribution So far, we've been running our application in "Developer mode". This makes it easy for us to run our application locally - but what we really @@ -599,4 +599,4 @@ start menu. We now have our application packaged for distribution on desktop platforms. But what happens when we need to update the code in our application? How do we get those updates into our packaged application? -Turn to [Tutorial 4][tutorial-4] to find out... +Turn to [Tutorial 4](tutorial-4.md) to find out... diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index 8ea9bd8c..3f6b58c7 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -1,4 +1,4 @@ -# Tutorial 4 - Updating your application { id="tutorial-4" } +# Tutorial 4 - Updating your application In the last tutorial, we packaged our application as a native application. If you're dealing with a real-world app, that isn't going @@ -31,7 +31,7 @@ async def say_hello(self, widget): We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this detail too much right now -we'll give a more detailed explanation in -[Tutorial 8][tutorial-8]. +[Tutorial 8](tutorial-8.md). This directs Toga to open a modal dialog box when the button is pressed. @@ -147,7 +147,7 @@ Now that we've updated the installer code, we can then run updated app, and `briefcase package` to repackage the application for distribution. -(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the +(macOS users, remember that as noted in [Tutorial 3](tutorial-3.md), for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing identity and keep the tutorial as simple as possible.) @@ -276,6 +276,6 @@ can run `briefcase package -u`. We now have our application packaged for distribution on desktop platforms, and we've been able to update the code in our application. -But what about mobile? In [Tutorial 5][tutorial-5], we'll +But what about mobile? In [Tutorial 5](tutorial-5/index.md), we'll convert our application into a mobile application, and deploy it onto a device simulator, and onto a phone. diff --git a/docs/en/tutorial/tutorial-5/android.md b/docs/en/tutorial/tutorial-5/android.md index a1c61d5a..d5103588 100644 --- a/docs/en/tutorial/tutorial-5/android.md +++ b/docs/en/tutorial/tutorial-5/android.md @@ -1,4 +1,4 @@ -# Tutorial 5 - Taking it mobile: Android { id="mobile-android" } +# Tutorial 5 - Taking it mobile: Android Now, we're going to take our application, and deploy it as an Android application. @@ -408,4 +408,4 @@ and re-run `briefcase run android`. ## Next steps We've now got an application on our phone! Is there anywhere else we can -deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out... +deploy a BeeWare app? Turn to [Tutorial 6](../tutorial-6.md) to find out... diff --git a/docs/en/tutorial/tutorial-5/iOS.md b/docs/en/tutorial/tutorial-5/iOS.md index db66c3a9..320096d6 100644 --- a/docs/en/tutorial/tutorial-5/iOS.md +++ b/docs/en/tutorial/tutorial-5/iOS.md @@ -1,4 +1,4 @@ -# Tutorial 5 - Taking it mobile: iOS { id="mobile-ios" } +# Tutorial 5 - Taking it mobile: iOS To compile iOS applications we'll need Xcode, which is available for free from [the macOS App @@ -119,6 +119,10 @@ application: ![Hello World Tutorial 5 window, on iOS](../../images/iOS/tutorial-5.png) +/// caption + +/// + While the app is running, you'll see a series of Simulator log output messages in the console. Typing Ctrl+C into the terminal will halt the messages in the console, but it will not close the simulator. This is so @@ -150,4 +154,4 @@ $ briefcase run iOS -d 2614A2DD-574F-4C1F-9F1E-478F32DE282E ## Next steps We've now got an application on our phone! Is there anywhere else we can -deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out... +deploy a BeeWare app? Turn to [Tutorial 6](../tutorial-6.md) to find out... diff --git a/docs/en/tutorial/tutorial-5/index.md b/docs/en/tutorial/tutorial-5/index.md index a431d930..f46dd511 100644 --- a/docs/en/tutorial/tutorial-5/index.md +++ b/docs/en/tutorial/tutorial-5/index.md @@ -1,13 +1,13 @@ -# Tutorial 5 - Taking it Mobile { id="tutorial-5" } +# Tutorial 5 - Taking it Mobile So far, we've been running and testing our application on the desktop. However, BeeWare also supports mobile platforms - and the application we've written can be deployed to your mobile device, too! -### [Android][mobile-android] +### [Android](android.md) Android applications can be compiled on macOS, Windows or Linux. -### [iOS][mobile-ios] +### [iOS](iOS.md) iOS applications can only be compiled on macOS. diff --git a/docs/en/tutorial/tutorial-6.md b/docs/en/tutorial/tutorial-6.md index 524591dc..c6828993 100644 --- a/docs/en/tutorial/tutorial-6.md +++ b/docs/en/tutorial/tutorial-6.md @@ -1,4 +1,4 @@ -# Tutorial 6 - Put it on the web! { id="tutorial-6" } +# Tutorial 6 - Put it on the web! In addition to supporting mobile platforms, the Toga widget toolkit also supports the web! Using the same API that you used to deploy your @@ -176,4 +176,4 @@ handling code in the browser. Although we've now deployed this app on desktop, mobile and the web, the app is fairly simple, and doesn't involve any third-party libraries. Can we include libraries from the Python Package Index (PyPI) in our app? -Turn to [Tutorial 7][tutorial-7] to find out... +Turn to [Tutorial 7](tutorial-7.md) to find out... diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index 957c36e3..cf544ab0 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -1,4 +1,4 @@ -# Tutorial 7 - Get this (third-)party started { id="tutorial-7" } +# Tutorial 7 - Get this (third-)party started So far, the app we've built has only used our own code, plus the code provided by BeeWare. However, in a real-world app, you'll likely want to @@ -202,7 +202,7 @@ development mode! Let's get this updated application code packaged as a standalone app. Since we've made code changes, we need to follow the same steps as in -[Tutorial 4][tutorial-4]: +[Tutorial 4](tutorial-4.md): /// tab | macOS @@ -733,5 +733,5 @@ tutorial like this one. ## Next steps We've now got an app that uses a third-party library! In -[Tutorial 8][tutorial-8] we'll learn how to ensure +[Tutorial 8](tutorial-8.md) we'll learn how to ensure our app remains responsive as we add more complex application logic. diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index db14eb37..346d9f88 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -1,4 +1,4 @@ -# Tutorial 8 - Making it Smooooth { id="tutorial-8" } +# Tutorial 8 - Making it Smooooth So far, our application has been relatively simple - displaying GUI widgets, calling a simple third-party library, and displaying output in @@ -389,7 +389,7 @@ BeeWare project. Over the course of this tutorial, you have: So - where to from here? - If you'd like to go further, there are some additional - [topic tutorials][topics] that go into + [topic tutorials](topics/index.md) that go into detail on specific aspects of application development. - If you'd like to know more about how to build complex user interfaces with Toga, you can dive into [Toga's diff --git a/docs/spelling_wordlist b/docs/spelling_wordlist index 9e7cefc3..f616cb47 100644 --- a/docs/spelling_wordlist +++ b/docs/spelling_wordlist @@ -31,6 +31,7 @@ Homebrew IDE IDEs installable +iOS iPhones ipsum Italiano diff --git a/locales/de/LC_MESSAGES/SUMMARY.po b/locales/de/LC_MESSAGES/SUMMARY.po index 974786d4..36984a9c 100644 --- a/locales/de/LC_MESSAGES/SUMMARY.po +++ b/locales/de/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/locales/de/LC_MESSAGES/how-to/index.po index 924d2d9e..9c867630 100644 --- a/locales/de/LC_MESSAGES/how-to/index.po +++ b/locales/de/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: de \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/de/LC_MESSAGES/index.po b/locales/de/LC_MESSAGES/index.po index c9376e0f..650706f5 100644 --- a/locales/de/LC_MESSAGES/index.po +++ b/locales/de/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-08-17 05:09+0000\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -105,18 +108,18 @@ msgstr "" "aktualisieren. Wenn Sie mehr darüber wissen wollen, hat " "[Brett Cannon einen detaillierten Blogbeitrag zu diesem Problem]{1}." -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 msgid "Bootstrap a new project" msgstr "Erstellen Sie ein neues Projekt" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 msgid "" "Briefcase will ask us for some details of our new application. For the " "purposes of this tutorial, use the following:" @@ -124,15 +127,15 @@ msgstr "" "Briefcase wird uns nach einigen Details zu unserer neuen Anwendung fragen. " "Verwenden Sie für dieses Tutorial die folgenden Angaben:" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Formaler Name** - Akzeptieren Sie den Standardwert: `Hello World`." -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**App Name** - Akzeptieren Sie den Standardwert: `helloworld`." -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " @@ -146,11 +149,11 @@ msgstr "" "Sie keine eigene Domain besitzen, akzeptieren Sie das Standard-Bundle " "(`com.example`)." -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Projektname** - Übernehmen Sie den Standardwert: `Hello World`." -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 msgid "" "**Description** - Accept the default value (or, if you want to be really " "creative, come up with your own description!)" @@ -158,11 +161,11 @@ msgstr "" "**Description** - Übernehmen Sie den Standardwert (wenn Sie wirklich kreativ " "sein wollen, denken Sie sich Ihre eigene Beschreibung aus!)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 msgid "**Author** - Enter your own name here." msgstr "**Author** - Geben Sie hier Ihren eigenen Namen ein." -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "" "**Author's Email** - Enter your own email address. This will be used in the " @@ -173,7 +176,7 @@ msgstr "" "der Konfigurationsdatei, im Hilfetext und überall dort verwendet, wo bei der " "Einreichung der App bei einem App-Store eine E-Mail erforderlich ist." -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 #, fuzzy msgid "" "**Application URL** - The URL of the landing page for your application. " @@ -189,7 +192,7 @@ msgstr "" "tatsächlich existieren; sie wird nur verwendet, wenn Sie Ihre Anwendung in " "einem App Store veröffentlichen." -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 #, fuzzy msgid "" "**Project License** - Accept the default license (BSD). This won't affect " @@ -202,7 +205,7 @@ msgstr "" "besonders starke Gefühle bezüglich der Lizenzwahl haben, können Sie gerne " "eine andere Lizenz wählen." -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " "toolkit)." @@ -210,7 +213,7 @@ msgstr "" "**GUI-Framework** - Akzeptieren Sie die Standardoption Toga (BeeWare's " "eigenes GUI-Toolkit)." -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " "followed this tutorial so far, and accepted the defaults as described, your " @@ -220,7 +223,7 @@ msgstr "" "Sie diesem Tutorial bis hierher gefolgt sind und die Vorgaben wie " "beschrieben akzeptiert haben, sollte Ihr Dateisystem etwa so aussehen:" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 msgid "" "This skeleton is actually a fully functioning application without adding " "anything else. The `src` folder contains all the code for the application, " @@ -237,7 +240,7 @@ msgstr "" "sehen Sie die Konfigurationsdetails, die Sie Briefcase gerade mitgeteilt " "haben." -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 msgid "" "Now that we have a stub application, we can use Briefcase to run the " "application." @@ -245,11 +248,11 @@ msgstr "" "Nun, da wir eine Rumpfanwendung haben, können wir Briefcase verwenden, um " "die Anwendung auszuführen." -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 msgid "Run the app in developer mode" msgstr "Führen Sie die Anwendung im Entwicklermodus aus" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 #, fuzzy msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " @@ -258,37 +261,43 @@ msgstr "" "Wechseln Sie in das `helloworld` Projektverzeichnis und sagen Sie briefcase, " "daß es das Projekt im Developer (oder `dev`) Modus starten soll:" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 msgid "This should open a GUI window:" msgstr "Dies sollte ein GUI-Fenster öffnen:" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "Wenn Sie die folgende Fehlermeldung erhalten:" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." @@ -296,7 +305,7 @@ msgstr "" "Wenn Ihre Python-Version *nicht* unterstützt wird, müssen Sie das Tutorial " "neu starten." -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 #, fuzzy msgid "" "Close the application - either by pressing the close button on the " @@ -309,16 +318,17 @@ msgstr "" "dem Menü der Anwendung), und Sie sind fertig! Herzlichen Glückwunsch - Sie " "haben gerade eine eigenständige, native Anwendung in Python geschrieben!" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "Nächste Schritte" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 +#, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus " "läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere " diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index e585a57c..6d88409d 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-08-19 20:01+0000\n" "Last-Translator: \"Mirko P.\" \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German \n" "Language-Team: German =37\"`);" msgstr "Eine Reihe von Bibliotheksversionen (z.B. `\"httpx>=0.19\"`);" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" @@ -398,7 +411,7 @@ msgstr "" "Ein Pfad zu einem Git-Repository (z. B. `" "\"git+https://github.com/encode/httpx\"`); oder" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 #, fuzzy msgid "" "A local file path (However - be warned: if you give your code to someone " @@ -407,7 +420,7 @@ msgstr "" "Ein lokaler Dateipfad (Aber Achtung: Wenn Sie Ihren Code an jemand anderen " "weitergeben, existiert dieser Pfad wahrscheinlich nicht auf dessen Rechner!)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -434,7 +447,7 @@ msgstr "" "angegeben sind - das liegt daran, dass die Bibliotheken, die für die Anzeige " "einer Benutzeroberfläche benötigt werden, plattformspezifisch sind." -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -448,7 +461,7 @@ msgstr "" "plattformspezifischen Abhängigkeiten werden *zusätzlich* zu den " "Abhängigkeiten auf Anwendungsebene installiert." -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -463,7 +476,7 @@ msgstr "" "mit dem Flag `-r`. Dadurch wird Briefcase angewiesen, die Anforderungen in " "der gepackten Anwendung zu aktualisieren:" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -473,11 +486,11 @@ msgstr "" "briefcase run` ausführen - und Sie sollten Ihre gepackte Anwendung mit dem " "neuen Dialogverhalten sehen." -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -489,11 +502,11 @@ msgstr "" "aktualisieren, bauen und ausführen wollen, können Sie `briefcase run -u -r` " "verwenden." -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "Python-Pakete von Drittanbietern für Mobilgeräte und das Web" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -509,7 +522,7 @@ msgstr "" "Umgebung installiert. In diesem Tutorial haben wir `pip` verwendet, aber es " "gibt auch andere Optionen." -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -521,7 +534,7 @@ msgstr "" "zu Ihren Anforderungen hinzugefügt werden. Auf mobilen und Web-Plattformen " "[sind Ihre Möglichkeiten etwas eingeschränkt]{1}." -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -544,7 +557,7 @@ msgstr "" "„Standard“-Desktop-Plattformen. Derzeit bieten die meisten Python-Pakete " "keine vorkompilierten Binärdateien für mobile und Web-Plattformen an." -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -569,7 +582,7 @@ msgstr "" "installiert werden, es sei denn, es wurde ein mit diesen Plattformen " "kompatibles Wheel bereitgestellt." -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -583,7 +596,7 @@ msgstr "" "`cryptography`) zur Verfügung. Diese Wheels werden *nicht* auf PyPI " "verteilt, aber Briefcase installiert sie, sofern sie verfügbar sind." -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 #, fuzzy msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " @@ -596,15 +609,16 @@ msgstr "" "einfach einzurichten - das würde den Rahmen eines einführenden Tutorials wie " "diesem sprengen." -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "Nächste Schritte" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 +#, fuzzy msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters " "verwendet! In [Tutorial 8][tutorial-8] lernen wir, wie wir sicherstellen " diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po index c427b6ff..e067a0c0 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-08-19 23:52+0000\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: German \n" "Language-Team: LANGUAGE \n" diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/locales/es/LC_MESSAGES/how-to/index.po index 6a641ee6..1a2b61d4 100644 --- a/locales/es/LC_MESSAGES/how-to/index.po +++ b/locales/es/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: es \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/es/LC_MESSAGES/index.po b/locales/es/LC_MESSAGES/index.po index ced4d372..66b92de3 100644 --- a/locales/es/LC_MESSAGES/index.po +++ b/locales/es/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-07-23 23:51+0000\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -104,19 +107,19 @@ msgstr "" "quieres saber más, " "[Brett Cannon tiene una entrada de blog detallada sobre el problema]{1}." -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 #, fuzzy msgid "Bootstrap a new project" msgstr "Crear un nuevo proyecto" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 #, fuzzy msgid "" "Briefcase will ask us for some details of our new application. For the " @@ -125,18 +128,18 @@ msgstr "" "Briefcase nos pedirá algunos detalles de nuestra nueva aplicación. Para los " "propósitos de este tutorial, utilice lo siguiente:" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 #, fuzzy msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Nombre Formal** - Acepta el valor por defecto: `Hola Mundo`." -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 #, fuzzy msgid "**App Name** - Accept the default value: `helloworld`." msgstr "" "**Nombre de la aplicación** - Acepta el valor por defecto: `helloworld`." -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " @@ -149,12 +152,12 @@ msgstr "" "como paquete). Si no posee su propio dominio, acepte el paquete " "predeterminado (`com.ejemplo`)." -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 #, fuzzy msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Nombre del proyecto** - Acepte el valor por defecto: `Hola Mundo`." -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 #, fuzzy msgid "" "**Description** - Accept the default value (or, if you want to be really " @@ -163,12 +166,12 @@ msgstr "" "**Descripción** - Acepte el valor por defecto (o, si quiere ser realmente " "creativo, invente su propia descripción)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 #, fuzzy msgid "**Author** - Enter your own name here." msgstr "**Autor** - Escriba aquí su propio nombre." -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "" "**Author's Email** - Enter your own email address. This will be used in the " @@ -180,7 +183,7 @@ msgstr "" "ayuda y en cualquier lugar donde se requiera un correo electrónico al enviar " "la aplicación a una tienda de aplicaciones." -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 #, fuzzy msgid "" "**Application URL** - The URL of the landing page for your application. " @@ -195,7 +198,7 @@ msgstr "" "helloworld`). No es necesario que esta URL exista realmente (por ahora); " "sólo se utilizará si publicas tu aplicación en una tienda de aplicaciones." -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 #, fuzzy msgid "" "**Project License** - Accept the default license (BSD). This won't affect " @@ -208,7 +211,7 @@ msgstr "" "sentimientos particularmente fuertes sobre la elección de la licencia, " "siéntete libre de elegir otra licencia." -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 #, fuzzy msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " @@ -217,7 +220,7 @@ msgstr "" "**GUI framework** - Acepte la opción por defecto, Toga (el propio conjunto " "de herramientas GUI de BeeWare)." -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 #, fuzzy msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " @@ -228,7 +231,7 @@ msgstr "" "Si has seguido este tutorial hasta ahora, y has aceptado los valores por " "defecto tal y como se describen, tu sistema de archivos debería parecerse a:" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 #, fuzzy msgid "" "This skeleton is actually a fully functioning application without adding " @@ -245,7 +248,7 @@ msgstr "" "distribución. Si abres `pyproject.toml` en un editor, verás los detalles de " "configuración que acabas de proporcionar a Briefcase." -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 #, fuzzy msgid "" "Now that we have a stub application, we can use Briefcase to run the " @@ -254,12 +257,12 @@ msgstr "" "Ahora que tenemos una aplicación stub, podemos utilizar Briefcase para " "ejecutar la aplicación." -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 #, fuzzy msgid "Run the app in developer mode" msgstr "Ejecutar la aplicación en modo desarrollador" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 #, fuzzy msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " @@ -268,44 +271,50 @@ msgstr "" "Entra en el directorio del proyecto `helloworld` y dile a briefcase que " "inicie el proyecto en modo desarrollador (o `dev`):" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 #, fuzzy msgid "This should open a GUI window:" msgstr "Esto debería abrir una ventana GUI:" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 #, fuzzy msgid "" "Close the application - either by pressing the close button on the " @@ -318,23 +327,20 @@ msgstr "" "y ya está! Enhorabuena - ¡acabas de escribir una aplicación nativa e " "independiente en Python!" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "Siguientes pasos" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 #, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "Ahora tenemos una aplicación que funciona, ejecutándose en modo " "desarrollador. Ahora podemos añadir algo de lógica propia para hacer que " "nuestra aplicación haga algo un poco más interesante. En [Tutorial 2]" "[tutorial-2], pondremos una interfaz de usuario más útil en nuestra " "aplicación." - -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "Tutorial 1 - Tu primera aplicación" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po index 895399b5..508c114f 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-01-23 12:02+0000\n" "Last-Translator: gallegonovato \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish \n" "Language-Team: Spanish =37\"`);" msgstr "" "Un rango de versiones de la biblioteca (por ejemplo, `\"httpx>=0.19\"`);" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" @@ -391,7 +404,7 @@ msgstr "" "Una ruta a un repositorio git (por ejemplo, `" "\"git+https://github.com/encode/httpx\"`); o bien" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 #, fuzzy msgid "" "A local file path (However - be warned: if you give your code to someone " @@ -400,7 +413,7 @@ msgstr "" "Una ruta de archivo local (No obstante, ten cuidado: si entregas tu código a " "otra persona, es probable que esta ruta no exista en su máquina)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -427,7 +440,7 @@ msgstr "" "librerías necesarias para mostrar una interfaz de usuario son específicas de " "la plataforma." -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -441,7 +454,7 @@ msgstr "" "específicas de la plataforma se instalan *además* de las dependencias a " "nivel de aplicación." -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -455,7 +468,7 @@ msgstr "" "aplicación de nuevo - esta vez, introduciendo la bandera `-r`. Esto le dice " "a Briefcase que actualice los requisitos en la aplicación empaquetada:" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -465,11 +478,11 @@ msgstr "" "run` - y usted debe ver su aplicación empaquetada, con el nuevo " "comportamiento de diálogo." -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -480,11 +493,11 @@ msgstr "" "comandos `build` y `run`, así que si quieres actualizar, construir y " "ejecutar en un solo paso, puedes usar `briefcase run -u -r`." -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -494,7 +507,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -506,7 +519,7 @@ msgstr "" "cualquier `pip`-instalable a sus requisitos. En plataformas móviles y web, " "[las opciones son ligeramente limitadas]{1}." -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -519,7 +532,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -533,7 +546,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -542,7 +555,7 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 #, fuzzy msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " @@ -554,16 +567,13 @@ msgstr "" "compilar paquetes para plataformas móviles, pero no es fácil de configurar - " "fuera del alcance de un tutorial introductorio como éste." -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "Siguientes pasos" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "Tutorial 7 - Poner en marcha esta (tercera-)fiesta" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po index 8776f8bf..d3ad38f0 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-06-12 02:04+0000\n" "Last-Translator: Adolfo Jayme Barrientos \n" "Language-Team: Spanish \n" "Language-Team: LANGUAGE \n" diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/locales/fr/LC_MESSAGES/how-to/index.po index e70dcf80..54e08e30 100644 --- a/locales/fr/LC_MESSAGES/how-to/index.po +++ b/locales/fr/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: fr \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/fr/LC_MESSAGES/index.po b/locales/fr/LC_MESSAGES/index.po index 9d6d0f0c..efbcf447 100644 --- a/locales/fr/LC_MESSAGES/index.po +++ b/locales/fr/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-05-22 02:01+0000\n" "Last-Translator: Hēphaïstos \n" "Language-Team: French \n" "Language-Team: fr \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/camera-access.md:1 -msgid "Using the camera { id=\"camera-access\" }" +msgid "Using the camera" msgstr "" #: docs/en/tutorial/topics/camera-access.md:3 diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po index e390c4e3..c9d2d7db 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French \n" "Language-Team: fr \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/index.md:1 -msgid "Going further { #topics }" +msgid "Going further" msgstr "" #: docs/en/tutorial/topics/index.md:3 @@ -24,7 +24,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:8 -msgid "[Customizing icons][custom-icons]" +msgid "[Customizing icons]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:10 @@ -34,7 +34,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:13 -msgid "[Using the camera][camera-access]" +msgid "[Using the camera]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:15 @@ -44,7 +44,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:18 -msgid "[Testing times][testing]" +msgid "[Testing times]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:20 diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po index 400e3483..e7e7f0d0 100644 --- a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/fr/LC_MESSAGES/tutorial/topics/testing.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-01-14 01:02+0000\n" "Last-Translator: Lancelot Fouillet \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -104,18 +107,18 @@ msgstr "" "jour d'elle-même. Si vous voulez en savoir plus, " "[Brett Cannon a publié un billet de blog détaillé sur ce sujet]{1}." -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 msgid "Bootstrap a new project" msgstr "Créer un nouveau projet" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 msgid "" "Briefcase will ask us for some details of our new application. For the " "purposes of this tutorial, use the following:" @@ -123,18 +126,18 @@ msgstr "" "Briefcase nous demandera quelques détails sur notre nouvelle application. " "Pour les besoins de ce tutoriel, nous utiliserons les éléments suivants :" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "" "**Formal Name** (Nom formel) – Acceptez la valeur par défaut : `Hello World`." -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "" "**App Name** (Nom de l'application) - Acceptez la valeur par défaut : " "`helloworld`." -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " @@ -147,13 +150,13 @@ msgstr "" "entrez `com.cupcakes` comme bundle). Si vous ne possédez pas votre propre " "domaine, acceptez le bundle par défaut (`com.example`)." -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "" "**Project Name** (Nom du projet) - Acceptez la valeur par défaut : `Hello " "World`." -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 #, fuzzy msgid "" "**Description** - Accept the default value (or, if you want to be really " @@ -162,11 +165,11 @@ msgstr "" "**Description** - Acceptez la valeur par défaut (ou, si vous voulez être " "vraiment créatif, trouvez votre propre description !)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 msgid "**Author** - Enter your own name here." msgstr "** Author** (Auteur) - Entrez votre propre nom ici." -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "" "**Author's Email** - Enter your own email address. This will be used in the " @@ -178,7 +181,7 @@ msgstr "" "partout où un email est requis lors de la soumission de l'application à un " "app store (magasin d'applications)." -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 #, fuzzy msgid "" "**Application URL** - The URL of the landing page for your application. " @@ -194,7 +197,7 @@ msgstr "" " ; elle ne sera utilisée que si vous publiez votre application dans un " "magasin d'applications." -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 #, fuzzy msgid "" "**Project License** - Accept the default license (BSD). This won't affect " @@ -206,7 +209,7 @@ msgstr "" "en rien le fonctionnement du tutoriel, donc si vous avez des opinions fortes " "à ce sujet, n'hésitez pas à en choisir une autre." -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " "toolkit)." @@ -214,7 +217,7 @@ msgstr "" "**GUI framework** (framework d'interface utilisateur graphique) - Acceptez " "l'option par défaut, Toga (la boîte à outils GUI de BeeWare)." -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " "followed this tutorial so far, and accepted the defaults as described, your " @@ -225,7 +228,7 @@ msgstr "" "défaut tels que décrits, votre système de fichiers devrait ressembler à " "quelque chose comme ceci :" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 msgid "" "This skeleton is actually a fully functioning application without adding " "anything else. The `src` folder contains all the code for the application, " @@ -241,7 +244,7 @@ msgstr "" "distribuer. Si vous ouvrez `pyproject.toml` dans un éditeur, vous verrez les " "détails de la configuration que vous venez de fournir à Briefcase." -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 msgid "" "Now that we have a stub application, we can use Briefcase to run the " "application." @@ -249,11 +252,11 @@ msgstr "" "Maintenant que nous avons une ébauche d'application, nous pouvons utiliser " "Briefcase pour l'exécuter." -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 msgid "Run the app in developer mode" msgstr "Exécuter l'application en mode développeur" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " "project in Developer (or `dev`) mode:" @@ -261,43 +264,49 @@ msgstr "" "Entrez dans le répertoire du projet `helloworld` et faites démarrer le " "projet en mode développeur (ou `dev`) par briefcase :" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 msgid "This should open a GUI window:" msgstr "Cela devrait ouvrir une fenêtre GUI :" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 msgid "" "Close the application - either by pressing the close button on the " "application window, by selecting Quit/Exit from the application's menu, or " @@ -306,22 +315,20 @@ msgid "" "application in Python!" msgstr "" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "Étapes suivantes" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 +#, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "Nous avons maintenant une application fonctionnelle, s'exécutant en mode " "développeur. Nous pouvons maintenant ajouter notre propre logique pour que " "notre application fasse quelque chose d'un peu plus intéressant. Dans " "[Tutoriel 2][tutorial-2], nous allons ajouter à notre application une " "interface utilisateur plus utile." - -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "Tutoriel 1 - Votre première application" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po index 228748ac..2e60bbf6 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-02 22:01+0000\n" "Last-Translator: Charles Bousseau \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French \n" "Language-Team: French =37\"`);" msgstr "" "Une gamme de versions de la bibliothèque (par exemple, `\"httpx>=0.19\"`) ;" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" @@ -398,7 +411,7 @@ msgstr "" "Un chemin vers un dépôt git (par exemple, `" "\"git+https://github.com/encode/httpx\"`) ; ou" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 #, fuzzy msgid "" "A local file path (However - be warned: if you give your code to someone " @@ -408,7 +421,7 @@ msgstr "" "votre code à quelqu'un d'autre, ce chemin d'accès n'existera probablement " "pas sur sa machine !)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -436,7 +449,7 @@ msgstr "" "spécifique à la plate-forme - c'est parce que les bibliothèques nécessaires " "pour afficher une interface utilisateur sont spécifiques à la plate-forme." -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -450,7 +463,7 @@ msgstr "" "installées ; les dépendances spécifiques à la plate-forme sont installées *" "en plus* de celles au niveau de l'application." -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -465,7 +478,7 @@ msgstr "" "fois-ci, en passant le drapeau `-r`. Cela indique à Briefcase de mettre à " "jour les exigences dans l'application packagée :" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -475,11 +488,11 @@ msgstr "" "briefcase run` - et vous devriez voir votre application packagée, avec le " "nouveau comportement du dialogue." -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -490,11 +503,11 @@ msgstr "" "les commandes `build` et `run`, donc si vous voulez mettre à jour, compiler " "et exécuter en une seule étape, vous pouvez utiliser `briefcase run -u -r`." -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -504,7 +517,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -516,7 +529,7 @@ msgstr "" "installable peut être ajouté à vos exigences. Sur les plateformes mobiles et " "web, [vos options sont légèrement limitées]{1}." -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -529,7 +542,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -543,7 +556,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -552,7 +565,7 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 #, fuzzy msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " @@ -565,16 +578,13 @@ msgstr "" "pas facile à mettre en place -- ce qui sort du cadre d'un tutoriel " "d'introduction comme celui-ci." -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "Étapes suivantes" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "Tutoriel n° 7 - Démarrer cette (troisième-)partie" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po index 525df162..7204fda0 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-06-21 02:01+0000\n" "Last-Translator: John \n" "Language-Team: French \n" "Language-Team: LANGUAGE \n" diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/locales/it/LC_MESSAGES/how-to/index.po index 54915f17..b99a6e0c 100644 --- a/locales/it/LC_MESSAGES/how-to/index.po +++ b/locales/it/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: it \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/it/LC_MESSAGES/index.po b/locales/it/LC_MESSAGES/index.po index 45a1b924..3ac0760f 100644 --- a/locales/it/LC_MESSAGES/index.po +++ b/locales/it/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/index.md:1 -msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" -msgstr "Benvenuti al Tutorial di BeeWare! { id=tutorial }" +#, fuzzy +msgid "Welcome to the BeeWare Tutorial!" +msgstr "Benvenuti al Tutorial di BeeWare!" #: docs/en/index.md:3 #, fuzzy @@ -37,7 +38,7 @@ msgstr "" "esempio testare la vostra applicazione." #: docs/en/index.md:11 -msgid "{% if config.extra.translation_type == original %}" +msgid "{% if config.extra.translation_type == \"original\" %}" msgstr "" #: docs/en/index.md:13 @@ -68,7 +69,7 @@ msgid "{% endif %}" msgstr "" #: docs/en/index.md:28 -msgid "{% if config.extra.translation_type == machine %}" +msgid "{% if config.extra.translation_type == \"machine\" %}" msgstr "" #: docs/en/index.md:30 @@ -99,7 +100,7 @@ msgstr "" "team di traduzione." #: docs/en/index.md:44 -msgid "{% if config.extra.translation_type == human %}" +msgid "{% if config.extra.translation_type == \"human\" %}" msgstr "" #: docs/en/index.md:46 @@ -196,9 +197,5 @@ msgstr "Andiamo!" #: docs/en/index.md:86 msgid "" "Ready to try BeeWare for yourself? " -"[Let's build a cross-platform application in Python!][tutorial-0]" +"[Let's build a cross-platform application in Python!]{1}" msgstr "" - -#, fuzzy -#~ msgid "Welcome to the BeeWare Tutorial!" -#~ msgstr "Benvenuti al Tutorial di BeeWare!" diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po index 906c4a66..c3f15004 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: it \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/camera-access.md:1 -msgid "Using the camera { id=\"camera-access\" }" +msgid "Using the camera" msgstr "" #: docs/en/tutorial/topics/camera-access.md:3 diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po index 78d05cfe..845775d4 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:14+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/custom-icons.md:1 -msgid "Customizing icons { id=\"custom-icons\" }" +msgid "Customizing icons" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:3 @@ -64,8 +64,8 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:34 -#: docs/en/tutorial/topics/custom-icons.md:213 -#: docs/en/tutorial/topics/custom-icons.md:410 +#: docs/en/tutorial/topics/custom-icons.md:215 +#: docs/en/tutorial/topics/custom-icons.md:412 msgid "/// tab | macOS" msgstr "" @@ -74,42 +74,43 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:94 #: docs/en/tutorial/topics/custom-icons.md:132 #: docs/en/tutorial/topics/custom-icons.md:166 -#: docs/en/tutorial/topics/custom-icons.md:237 -#: docs/en/tutorial/topics/custom-icons.md:269 -#: docs/en/tutorial/topics/custom-icons.md:296 -#: docs/en/tutorial/topics/custom-icons.md:342 +#: docs/en/tutorial/topics/custom-icons.md:201 +#: docs/en/tutorial/topics/custom-icons.md:239 +#: docs/en/tutorial/topics/custom-icons.md:271 +#: docs/en/tutorial/topics/custom-icons.md:298 #: docs/en/tutorial/topics/custom-icons.md:344 -#: docs/en/tutorial/topics/custom-icons.md:380 -#: docs/en/tutorial/topics/custom-icons.md:389 -#: docs/en/tutorial/topics/custom-icons.md:425 -#: docs/en/tutorial/topics/custom-icons.md:442 -#: docs/en/tutorial/topics/custom-icons.md:459 -#: docs/en/tutorial/topics/custom-icons.md:475 -#: docs/en/tutorial/topics/custom-icons.md:491 +#: docs/en/tutorial/topics/custom-icons.md:346 +#: docs/en/tutorial/topics/custom-icons.md:382 +#: docs/en/tutorial/topics/custom-icons.md:391 +#: docs/en/tutorial/topics/custom-icons.md:427 +#: docs/en/tutorial/topics/custom-icons.md:444 +#: docs/en/tutorial/topics/custom-icons.md:461 +#: docs/en/tutorial/topics/custom-icons.md:477 +#: docs/en/tutorial/topics/custom-icons.md:493 msgid "///" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:53 -#: docs/en/tutorial/topics/custom-icons.md:239 -#: docs/en/tutorial/topics/custom-icons.md:427 +#: docs/en/tutorial/topics/custom-icons.md:241 +#: docs/en/tutorial/topics/custom-icons.md:429 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:77 -#: docs/en/tutorial/topics/custom-icons.md:271 -#: docs/en/tutorial/topics/custom-icons.md:444 +#: docs/en/tutorial/topics/custom-icons.md:273 +#: docs/en/tutorial/topics/custom-icons.md:446 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:96 -#: docs/en/tutorial/topics/custom-icons.md:298 -#: docs/en/tutorial/topics/custom-icons.md:461 +#: docs/en/tutorial/topics/custom-icons.md:300 +#: docs/en/tutorial/topics/custom-icons.md:463 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:134 -#: docs/en/tutorial/topics/custom-icons.md:346 -#: docs/en/tutorial/topics/custom-icons.md:477 +#: docs/en/tutorial/topics/custom-icons.md:348 +#: docs/en/tutorial/topics/custom-icons.md:479 msgid "/// tab | iOS" msgstr "" @@ -134,10 +135,14 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:197 -msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgid "![Icon of green snake with a light blue background]{1}" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:201 +#: docs/en/tutorial/topics/custom-icons.md:199 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:203 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -145,7 +150,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:206 +#: docs/en/tutorial/topics/custom-icons.md:208 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -155,19 +160,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:336 -#: docs/en/tutorial/topics/custom-icons.md:382 +#: docs/en/tutorial/topics/custom-icons.md:338 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:338 +#: docs/en/tutorial/topics/custom-icons.md:340 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:384 +#: docs/en/tutorial/topics/custom-icons.md:386 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -175,7 +180,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:391 +#: docs/en/tutorial/topics/custom-icons.md:393 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -185,7 +190,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:403 +#: docs/en/tutorial/topics/custom-icons.md:405 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -195,14 +200,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:494 +#: docs/en/tutorial/topics/custom-icons.md:496 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:498 +#: docs/en/tutorial/topics/custom-icons.md:500 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/it/LC_MESSAGES/tutorial/topics/index.po b/locales/it/LC_MESSAGES/tutorial/topics/index.po index ad8a1827..f9782820 100644 --- a/locales/it/LC_MESSAGES/tutorial/topics/index.po +++ b/locales/it/LC_MESSAGES/tutorial/topics/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-12-10 11:00+0000\n" "Last-Translator: pp pp \n" "Language-Team: Italian \n" "Language-Team: Italian \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-0.md:1 -msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 0 - Let's get set up!" +msgstr "Esercitazione 0 - Configuriamoci!" #: docs/en/tutorial/tutorial-0.md:3 #, fuzzy @@ -25,9 +26,8 @@ msgstr "" "di avere tutti i prerequisiti per l'esecuzione di BeeWare." #: docs/en/tutorial/tutorial-0.md:6 -#, fuzzy -msgid "Install Python" -msgstr "Installare Python" +msgid "Install Python { id=\"install-python\" }" +msgstr "" #: docs/en/tutorial/tutorial-0.md:8 #, fuzzy @@ -36,8 +36,8 @@ msgstr "" "La prima cosa di cui abbiamo bisogno è un interprete Python funzionante." #: docs/en/tutorial/tutorial-0.md:10 -#: docs/en/tutorial/tutorial-0.md:88 -#: docs/en/tutorial/tutorial-0.md:158 +#: docs/en/tutorial/tutorial-0.md:87 +#: docs/en/tutorial/tutorial-0.md:156 msgid "/// tab | macOS" msgstr "" @@ -58,7 +58,7 @@ msgstr "" #: docs/en/tutorial/tutorial-0.md:18 #, fuzzy msgid "" -"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"You can also install Python through [Homebrew]{1}, use [pyenv]{2} to manage " "multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " "matter *how* you've installed Python - it only matters that you can run " "`python3` from your terminal and get a working, supported Python interpreter." @@ -90,20 +90,20 @@ msgstr "" #: docs/en/tutorial/tutorial-0.md:42 #: docs/en/tutorial/tutorial-0.md:62 #: docs/en/tutorial/tutorial-0.md:80 -#: docs/en/tutorial/tutorial-0.md:98 -#: docs/en/tutorial/tutorial-0.md:131 -#: docs/en/tutorial/tutorial-0.md:144 -#: docs/en/tutorial/tutorial-0.md:167 -#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:97 +#: docs/en/tutorial/tutorial-0.md:130 +#: docs/en/tutorial/tutorial-0.md:143 +#: docs/en/tutorial/tutorial-0.md:165 +#: docs/en/tutorial/tutorial-0.md:176 +#: docs/en/tutorial/tutorial-0.md:209 #: docs/en/tutorial/tutorial-0.md:211 -#: docs/en/tutorial/tutorial-0.md:213 -#: docs/en/tutorial/tutorial-0.md:231 +#: docs/en/tutorial/tutorial-0.md:229 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-0.md:44 -#: docs/en/tutorial/tutorial-0.md:100 -#: docs/en/tutorial/tutorial-0.md:169 +#: docs/en/tutorial/tutorial-0.md:99 +#: docs/en/tutorial/tutorial-0.md:167 msgid "/// tab | Linux" msgstr "" @@ -141,8 +141,8 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-0.md:64 -#: docs/en/tutorial/tutorial-0.md:133 -#: docs/en/tutorial/tutorial-0.md:180 +#: docs/en/tutorial/tutorial-0.md:132 +#: docs/en/tutorial/tutorial-0.md:178 msgid "/// tab | Windows" msgstr "" @@ -179,12 +179,11 @@ msgstr "" "Python dal Windows App Store. Gli utenti con un background di scienza dei " "dati potrebbero voler usare [Anaconda]{3} o [Miniconda]{4}." -#: docs/en/tutorial/tutorial-0.md:83 -#, fuzzy -msgid "Install dependencies" -msgstr "Installare le dipendenze" +#: docs/en/tutorial/tutorial-0.md:82 +msgid "Install dependencies { id=\"install-dependencies\" }" +msgstr "" -#: docs/en/tutorial/tutorial-0.md:85 +#: docs/en/tutorial/tutorial-0.md:84 #, fuzzy msgid "" "Next, install the additional dependencies needed for your operating system:" @@ -192,12 +191,12 @@ msgstr "" "Successivamente, installate le dipendenze aggiuntive necessarie per il " "vostro sistema operativo:" -#: docs/en/tutorial/tutorial-0.md:90 +#: docs/en/tutorial/tutorial-0.md:89 #, fuzzy msgid "Building BeeWare apps on macOS requires:" msgstr "La creazione di applicazioni BeeWare su macOS richiede:" -#: docs/en/tutorial/tutorial-0.md:92 +#: docs/en/tutorial/tutorial-0.md:91 msgid "" "**Git**, a version control system. This is included with Xcode or the " "command line developer tools, which you installed above. You may need to " @@ -206,7 +205,7 @@ msgid "" "restart your terminal session." msgstr "" -#: docs/en/tutorial/tutorial-0.md:102 +#: docs/en/tutorial/tutorial-0.md:101 #, fuzzy msgid "" "To support local development, you'll need to install some system packages. " @@ -216,40 +215,40 @@ msgstr "" "di sistema. L'elenco dei pacchetti necessari varia a seconda della " "distribuzione:" -#: docs/en/tutorial/tutorial-0.md:106 +#: docs/en/tutorial/tutorial-0.md:105 #, fuzzy msgid "**Ubuntu / Debian**" msgstr "**Ubuntu 20.04+ / Debian 10+**" -#: docs/en/tutorial/tutorial-0.md:113 +#: docs/en/tutorial/tutorial-0.md:112 #, fuzzy msgid "**Fedora**" msgstr "**Fedora**" -#: docs/en/tutorial/tutorial-0.md:119 +#: docs/en/tutorial/tutorial-0.md:118 #, fuzzy msgid "**Arch / Manjaro**" msgstr "**Arch, Manjaro**" -#: docs/en/tutorial/tutorial-0.md:125 +#: docs/en/tutorial/tutorial-0.md:124 msgid "**OpenSUSE Tumbleweed**" msgstr "" -#: docs/en/tutorial/tutorial-0.md:135 +#: docs/en/tutorial/tutorial-0.md:134 #, fuzzy msgid "Building BeeWare apps on Windows requires:" msgstr "La creazione di applicazioni BeeWare su Windows richiede:" -#: docs/en/tutorial/tutorial-0.md:137 +#: docs/en/tutorial/tutorial-0.md:136 #, fuzzy msgid "" -"**Git**, a version control system. You can download Git from from " -"[git-scm.com]{1}." +"**Git**, a version control system. You can download Git from from {1}[git-" +"scm.com]{2}." msgstr "" "**Git**, un sistema di controllo delle versioni. È possibile scaricare Git " "da [git-scm.com]{1}." -#: docs/en/tutorial/tutorial-0.md:140 +#: docs/en/tutorial/tutorial-0.md:139 #, fuzzy msgid "" "After installing these tools, you should ensure you restart any terminal " @@ -260,12 +259,12 @@ msgstr "" "riavviare tutte le sessioni di terminale. Windows esporrà i terminali degli " "strumenti appena installati solo dopo il completamento dell'installazione." -#: docs/en/tutorial/tutorial-0.md:147 +#: docs/en/tutorial/tutorial-0.md:145 #, fuzzy msgid "Set up a virtual environment" msgstr "Impostare un ambiente virtuale" -#: docs/en/tutorial/tutorial-0.md:149 +#: docs/en/tutorial/tutorial-0.md:147 #, fuzzy msgid "" "We're now going to create a virtual environment - a \"sandbox\" that we can " @@ -285,22 +284,22 @@ msgstr "" "ricominciare da capo, senza influenzare nessun altro progetto Python sul " "nostro computer e senza la necessità di reinstallare Python." -#: docs/en/tutorial/tutorial-0.md:189 +#: docs/en/tutorial/tutorial-0.md:187 msgid "" "If you're not using Python 3.12, replace the `-3.12` in these instructions " "with the version number that you are using." msgstr "" -#: docs/en/tutorial/tutorial-0.md:192 +#: docs/en/tutorial/tutorial-0.md:190 msgid "/// admonition | Errors running PowerShell Scripts" msgstr "" -#: docs/en/tutorial/tutorial-0.md:194 +#: docs/en/tutorial/tutorial-0.md:192 #, fuzzy msgid "If you're using PowerShell, and you receive the error:" msgstr "Se si utilizza PowerShell e si riceve l'errore:" -#: docs/en/tutorial/tutorial-0.md:200 +#: docs/en/tutorial/tutorial-0.md:198 #, fuzzy msgid "" "Your Windows account doesn't have permissions to run scripts. To fix this:" @@ -308,21 +307,21 @@ msgstr "" "L'account di Windows non ha i permessi per eseguire gli script. Per " "risolvere il problema:" -#: docs/en/tutorial/tutorial-0.md:203 +#: docs/en/tutorial/tutorial-0.md:201 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" -#: docs/en/tutorial/tutorial-0.md:204 +#: docs/en/tutorial/tutorial-0.md:202 #, fuzzy msgid "Run `set-executionpolicy RemoteSigned`" msgstr "Eseguire `set-executionpolicy RemoteSigned`" -#: docs/en/tutorial/tutorial-0.md:205 +#: docs/en/tutorial/tutorial-0.md:203 #, fuzzy msgid "Select `Y` to change the execution policy." msgstr "Selezionare `Y` per modificare il criterio di esecuzione." -#: docs/en/tutorial/tutorial-0.md:207 +#: docs/en/tutorial/tutorial-0.md:205 #, fuzzy msgid "" "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " @@ -332,7 +331,7 @@ msgstr "" ".ps1` nella sessione PowerShell originale (o in una nuova sessione nella " "stessa directory)." -#: docs/en/tutorial/tutorial-0.md:215 +#: docs/en/tutorial/tutorial-0.md:213 #, fuzzy msgid "" "If this worked, your prompt should now be changed - it should have a " @@ -348,11 +347,11 @@ msgstr "" "eseguire nuovamente l'ultimo comando (il comando `activate`) per riattivare " "l'ambiente." -#: docs/en/tutorial/tutorial-0.md:222 +#: docs/en/tutorial/tutorial-0.md:220 msgid "/// admonition | Alternative virtual environments" msgstr "" -#: docs/en/tutorial/tutorial-0.md:224 +#: docs/en/tutorial/tutorial-0.md:222 msgid "" "If you're using Anaconda or miniconda, you may be more familiar with using " "conda environments. You might also have heard of `virtualenv`, a predecessor " @@ -362,19 +361,23 @@ msgid "" "to `venv` and the system Python." msgstr "" -#: docs/en/tutorial/tutorial-0.md:233 +#: docs/en/tutorial/tutorial-0.md:231 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-0.md:235 +#: docs/en/tutorial/tutorial-0.md:233 #, fuzzy msgid "" "We've now set up our environment. We're ready to " -"[create our first BeeWare application][tutorial-1]." +"[create our first BeeWare application]{1}." msgstr "" "Ora abbiamo configurato il nostro ambiente. Siamo pronti a " "[creare la nostra prima applicazione BeeWare][tutorial-1]." #, fuzzy -#~ msgid "Tutorial 0 - Let's get set up!" -#~ msgstr "Esercitazione 0 - Configuriamoci!" +#~ msgid "Install Python" +#~ msgstr "Installare Python" + +#, fuzzy +#~ msgid "Install dependencies" +#~ msgstr "Installare le dipendenze" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index 333689e6..13e0b3f5 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:10+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-1.md:1 -msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 1 - Your first app" +msgstr "Esercitazione 1 - La vostra prima applicazione" #: docs/en/tutorial/tutorial-1.md:3 #, fuzzy @@ -31,8 +32,8 @@ msgid "" "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " "can be used to package your application for distribution to end users - but " "it can also be used to bootstrap a new project. Make sure you're in the " -"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " -"the `beeware-venv` virtual environment activated, and run:" +"`beeware-tutorial` directory you created in [Tutorial 0], with the `beeware-" +"venv` virtual environment activated, and run:" msgstr "" "Per prima cosa, è necessario installare **Briefcase**. Briefcase è uno " "strumento di BeeWare che può essere usato per confezionare l'applicazione da " @@ -42,58 +43,60 @@ msgstr "" "attivato ed eseguite:" #: docs/en/tutorial/tutorial-1.md:14 -#: docs/en/tutorial/tutorial-1.md:63 -#: docs/en/tutorial/tutorial-1.md:157 -#: docs/en/tutorial/tutorial-1.md:205 +#: docs/en/tutorial/tutorial-1.md:62 +#: docs/en/tutorial/tutorial-1.md:156 +#: docs/en/tutorial/tutorial-1.md:204 msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-1.md:20 -#: docs/en/tutorial/tutorial-1.md:35 -#: docs/en/tutorial/tutorial-1.md:37 -#: docs/en/tutorial/tutorial-1.md:53 -#: docs/en/tutorial/tutorial-1.md:55 -#: docs/en/tutorial/tutorial-1.md:69 -#: docs/en/tutorial/tutorial-1.md:77 -#: docs/en/tutorial/tutorial-1.md:85 -#: docs/en/tutorial/tutorial-1.md:170 -#: docs/en/tutorial/tutorial-1.md:185 -#: docs/en/tutorial/tutorial-1.md:200 -#: docs/en/tutorial/tutorial-1.md:211 -#: docs/en/tutorial/tutorial-1.md:219 -#: docs/en/tutorial/tutorial-1.md:244 -#: docs/en/tutorial/tutorial-1.md:246 +#: docs/en/tutorial/tutorial-1.md:34 +#: docs/en/tutorial/tutorial-1.md:36 +#: docs/en/tutorial/tutorial-1.md:52 +#: docs/en/tutorial/tutorial-1.md:54 +#: docs/en/tutorial/tutorial-1.md:68 +#: docs/en/tutorial/tutorial-1.md:76 +#: docs/en/tutorial/tutorial-1.md:84 +#: docs/en/tutorial/tutorial-1.md:169 +#: docs/en/tutorial/tutorial-1.md:184 +#: docs/en/tutorial/tutorial-1.md:199 +#: docs/en/tutorial/tutorial-1.md:210 +#: docs/en/tutorial/tutorial-1.md:212 +#: docs/en/tutorial/tutorial-1.md:220 +#: docs/en/tutorial/tutorial-1.md:222 +#: docs/en/tutorial/tutorial-1.md:230 +#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:250 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-1.md:22 -#: docs/en/tutorial/tutorial-1.md:71 -#: docs/en/tutorial/tutorial-1.md:172 -#: docs/en/tutorial/tutorial-1.md:213 +#: docs/en/tutorial/tutorial-1.md:70 +#: docs/en/tutorial/tutorial-1.md:171 +#: docs/en/tutorial/tutorial-1.md:214 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-1.md:28 -#: docs/en/tutorial/tutorial-1.md:45 +#: docs/en/tutorial/tutorial-1.md:44 msgid "/// admonition | Possible errors during installation" msgstr "" #: docs/en/tutorial/tutorial-1.md:30 msgid "" "If you see errors during installation, it's almost certainly because some of " -"the system requirements haven't been installed. Make sure you have `" -"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 #, fuzzy msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " @@ -107,19 +110,19 @@ msgstr "" "volete saperne di più, " "[Brett Cannon ha un post dettagliato sul blog sul problema]{1}." -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 #, fuzzy msgid "Bootstrap a new project" msgstr "Bootstrap di un nuovo progetto" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 #, fuzzy msgid "" "Briefcase will ask us for some details of our new application. For the " @@ -128,17 +131,17 @@ msgstr "" "Briefcase ci chiederà alcuni dettagli della nostra nuova applicazione. Ai " "fini di questa esercitazione, utilizzate quanto segue:" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 #, fuzzy msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Nome formale** - Accettare il valore predefinito: `Hello World`." -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 #, fuzzy msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**Nome applicazione** - Accettare il valore predefinito: `helloworld`." -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " @@ -151,12 +154,12 @@ msgstr "" "`com.cupcakes` come bundle). Se non si possiede un dominio proprio, " "accettare il bundle predefinito (`com.example`)." -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 #, fuzzy msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Nome del progetto** - Accettare il valore predefinito: `Hello World`." -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 #, fuzzy msgid "" "**Description** - Accept the default value (or, if you want to be really " @@ -165,12 +168,12 @@ msgstr "" "**Descrizione** - Accettare il valore predefinito (o, se si vuole essere " "molto creativi, creare una descrizione personalizzata)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 #, fuzzy msgid "**Author** - Enter your own name here." msgstr "**Autore** - Inserire qui il proprio nome." -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "" "**Author's Email** - Enter your own email address. This will be used in the " @@ -181,7 +184,7 @@ msgstr "" "utilizzato nel file di configurazione, nel testo della guida e ovunque sia " "richiesto un indirizzo e-mail quando si invia l'applicazione a un app store." -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 #, fuzzy msgid "" "**Application URL** - The URL of the landing page for your application. " @@ -196,7 +199,7 @@ msgstr "" "(`https://example.com/helloworld`). Questo URL non deve esistere (per ora); " "sarà usato solo se si pubblica l'applicazione su un app store." -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 #, fuzzy msgid "" "**Project License** - Accept the default license (BSD). This won't affect " @@ -209,7 +212,7 @@ msgstr "" "particolarmente forti riguardo alla scelta della licenza, si può scegliere " "liberamente un'altra licenza." -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 #, fuzzy msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " @@ -218,7 +221,7 @@ msgstr "" "**Quadro GUI** - Accettare l'opzione predefinita, Toga (il toolkit GUI di " "BeeWare)." -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 #, fuzzy msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " @@ -230,7 +233,7 @@ msgstr "" "impostazioni predefinite come descritto, il vostro file system dovrebbe " "avere un aspetto simile a:" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 #, fuzzy msgid "" "This skeleton is actually a fully functioning application without adding " @@ -247,7 +250,7 @@ msgstr "" "distribuzione. Se si apre `pyproject.toml` in un editor, si vedranno i " "dettagli di configurazione appena forniti a Briefcase." -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 #, fuzzy msgid "" "Now that we have a stub application, we can use Briefcase to run the " @@ -256,12 +259,12 @@ msgstr "" "Ora che abbiamo un'applicazione stub, possiamo usare Briefcase per eseguire " "l'applicazione." -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 #, fuzzy msgid "Run the app in developer mode" msgstr "Eseguire l'applicazione in modalità sviluppatore" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 #, fuzzy msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " @@ -270,44 +273,50 @@ msgstr "" "Spostatevi nella cartella del progetto `helloworld` e dite a briefcase di " "avviare il progetto in modalità sviluppatore (o `dev`):" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 #, fuzzy msgid "This should open a GUI window:" msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 #, fuzzy msgid "" "Close the application - either by pressing the close button on the " @@ -320,23 +329,19 @@ msgstr "" "dell'applicazione) e il gioco è fatto! Congratulazioni: avete appena scritto " "un'applicazione nativa standalone in Python!" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 #, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. " "Ora possiamo aggiungere un po' di logica per far fare alla nostra " "applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], " "realizzeremo un'interfaccia utente più utile per la nostra applicazione." - -#, fuzzy -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "Esercitazione 1 - La vostra prima applicazione" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index c8b3c678..01420a54 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:11+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,15 +12,16 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-2.md:1 -msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 2 - Making it interesting" +msgstr "Esercitazione 2 - Rendere interessante" #: docs/en/tutorial/tutorial-2.md:3 #, fuzzy msgid "" -"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " -"run, but we didn't write any code ourselves. Let's take a look at what was " -"generated for us." +"In [Tutorial 1]{1}, we generated a stub project that was able to run, but we " +"didn't write any code ourselves. Let's take a look at what was generated for " +"us." msgstr "" "In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di " "funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che " @@ -193,8 +194,11 @@ msgstr "" #: docs/en/tutorial/tutorial-2.md:313 #: docs/en/tutorial/tutorial-2.md:324 #: docs/en/tutorial/tutorial-2.md:340 -#: docs/en/tutorial/tutorial-2.md:348 -#: docs/en/tutorial/tutorial-2.md:356 +#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:352 +#: docs/en/tutorial/tutorial-2.md:360 +#: docs/en/tutorial/tutorial-2.md:362 msgid "///" msgstr "" @@ -423,12 +427,12 @@ msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-2.md:304 -#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:344 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-2.md:315 -#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:354 msgid "/// tab | Windows" msgstr "" @@ -453,18 +457,24 @@ msgid "This should open a GUI window:" msgstr "Si dovrebbe aprire una finestra dell'interfaccia grafica:" #: docs/en/tutorial/tutorial-2.md:336 -msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 2 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:344 -msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:338 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:358 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-2.md:352 -msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:346 +msgid "![Hello World Tutorial 2 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:358 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "![Hello World Tutorial 2 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:364 #, fuzzy msgid "" "If you enter a name in the text box, and press the GUI button, you should " @@ -474,7 +484,7 @@ msgstr "" "si dovrebbe vedere l'output nella console in cui è stata avviata " "l'applicazione." -#: docs/en/tutorial/tutorial-2.md:362 +#: docs/en/tutorial/tutorial-2.md:368 msgid "" "Before continuing, close the app. As with Tutorial 1, you can do this by " "pressing the close button on the application window, by selecting Quit/Exit " @@ -482,17 +492,17 @@ msgid "" "you ran `briefcase dev`." msgstr "" -#: docs/en/tutorial/tutorial-2.md:367 +#: docs/en/tutorial/tutorial-2.md:373 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-2.md:369 +#: docs/en/tutorial/tutorial-2.md:375 #, fuzzy msgid "" "We've now got an application that does something a little more interesting. " "But it only runs on our own computer. Let's package this application for " -"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " -"a standalone installer that we could send to a friend, a customer, or upload " +"distribution. In [Tutorial 3]{1}, we'll wrap our application up as a " +"standalone installer that we could send to a friend, a customer, or upload " "to an App Store." msgstr "" "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona " @@ -500,7 +510,3 @@ msgstr "" "distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra " "applicazione come un programma di installazione autonomo da inviare a un " "amico, a un cliente o da caricare su un App Store." - -#, fuzzy -#~ msgid "Tutorial 2 - Making it interesting" -#~ msgstr "Esercitazione 2 - Rendere interessante" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po index b1822e13..30b74527 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-3.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:11+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-3.md:1 -msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 3 - Packaging for distribution" +msgstr "Esercitazione 3 - Confezionamento per la distribuzione" #: docs/en/tutorial/tutorial-3.md:3 #, fuzzy @@ -425,7 +426,7 @@ msgstr "" #, fuzzy msgid "" "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " -"locate this file in the Finder, and double click on its icon, you'll mount " +"locate this file in the Finder, and double-click on its icon, you'll mount " "the DMG, giving you a copy of the Hello World app, and a link to your " "Applications folder for easy installation. Drag the app file into " "Applications, and you've installed your application. Send the DMG file to a " @@ -635,10 +636,6 @@ msgstr "Prossimi passi" msgid "" "We now have our application packaged for distribution on desktop platforms. " "But what happens when we need to update the code in our application? How do " -"we get those updates into our packaged application? Turn to [Tutorial 4]" -"[tutorial-4] to find out..." +"we get those updates into our packaged application? Turn to [Tutorial 4]{1} " +"to find out..." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 3 - Packaging for distribution" -#~ msgstr "Esercitazione 3 - Confezionamento per la distribuzione" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index fd3e2bc1..20799f47 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-4.md:1 -msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 4 - Updating your application" +msgstr "Esercitazione 4 - Aggiornamento dell'applicazione" #: docs/en/tutorial/tutorial-4.md:3 #, fuzzy @@ -68,8 +69,7 @@ msgstr "" msgid "" "We need to make the method `async` so that when we display the dialog, the " "rest of the application continues to run. Don't worry about this detail too " -"much right now -we'll give a more detailed explanation in [Tutorial 8]" -"[tutorial-8]." +"much right now -we'll give a more detailed explanation in [Tutorial 8]{1}." msgstr "" #: docs/en/tutorial/tutorial-4.md:36 @@ -90,54 +90,63 @@ msgstr "" "si vedrà la nuova finestra di dialogo:" #: docs/en/tutorial/tutorial-4.md:41 -#: docs/en/tutorial/tutorial-4.md:81 -#: docs/en/tutorial/tutorial-4.md:194 +#: docs/en/tutorial/tutorial-4.md:87 +#: docs/en/tutorial/tutorial-4.md:200 msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-4.md:43 -msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 4 dialog, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:45 #: docs/en/tutorial/tutorial-4.md:55 -#: docs/en/tutorial/tutorial-4.md:63 -#: docs/en/tutorial/tutorial-4.md:95 -#: docs/en/tutorial/tutorial-4.md:118 -#: docs/en/tutorial/tutorial-4.md:134 -#: docs/en/tutorial/tutorial-4.md:215 -#: docs/en/tutorial/tutorial-4.md:244 -#: docs/en/tutorial/tutorial-4.md:262 -msgid "///" +#: docs/en/tutorial/tutorial-4.md:65 +msgid "/// caption" msgstr "" +#: docs/en/tutorial/tutorial-4.md:47 #: docs/en/tutorial/tutorial-4.md:49 -#: docs/en/tutorial/tutorial-4.md:97 -#: docs/en/tutorial/tutorial-4.md:217 -msgid "/// tab | Linux" +#: docs/en/tutorial/tutorial-4.md:57 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:69 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:140 +#: docs/en/tutorial/tutorial-4.md:221 +#: docs/en/tutorial/tutorial-4.md:250 +#: docs/en/tutorial/tutorial-4.md:268 +msgid "///" msgstr "" #: docs/en/tutorial/tutorial-4.md:51 -msgid "![Hello World Tutorial 4 dialog, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-4.md:103 +#: docs/en/tutorial/tutorial-4.md:223 +msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-4.md:57 -#: docs/en/tutorial/tutorial-4.md:120 -#: docs/en/tutorial/tutorial-4.md:246 +#: docs/en/tutorial/tutorial-4.md:53 +msgid "![Hello World Tutorial 4 dialog, on Linux]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:126 +#: docs/en/tutorial/tutorial-4.md:252 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-4.md:59 -msgid "![Hello World Tutorial 4 dialog, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-4.md:63 +msgid "![Hello World Tutorial 4 dialog, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-4.md:65 +#: docs/en/tutorial/tutorial-4.md:71 #, fuzzy msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "" "Tuttavia, se si esegue `briefcase run`, la finestra di dialogo non appare." -#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:73 msgid "" "Why is this? Well, `briefcase dev` operates by running your code in place -" "it tries to produce as realistic runtime environment for your code as " @@ -147,7 +156,7 @@ msgid "" "the moment, your application still has the old code in it." msgstr "" -#: docs/en/tutorial/tutorial-4.md:75 +#: docs/en/tutorial/tutorial-4.md:81 #, fuzzy msgid "" "So - we need to tell briefcase to update your app, copying in the new " @@ -160,7 +169,7 @@ msgstr "" "della piattaforma e ricominciando da zero. Tuttavia, Briefcase offre un modo " "più semplice: è possibile aggiornare il codice dell'applicazione esistente:" -#: docs/en/tutorial/tutorial-4.md:136 +#: docs/en/tutorial/tutorial-4.md:142 #, fuzzy msgid "" "If Briefcase can't find the scaffolded template, it will automatically " @@ -169,7 +178,7 @@ msgstr "" "Se Briefcase non riesce a trovare il modello impalcabile, invocherà " "automaticamente `create` per generare un nuovo scaffold." -#: docs/en/tutorial/tutorial-4.md:139 +#: docs/en/tutorial/tutorial-4.md:145 #, fuzzy msgid "" "Now that we've updated the installer code, we can then run `briefcase build` " @@ -181,13 +190,13 @@ msgstr "" "eseguire l'applicazione aggiornata e `briefcase package` per riconfezionare " "l'applicazione per la distribuzione." -#: docs/en/tutorial/tutorial-4.md:144 +#: docs/en/tutorial/tutorial-4.md:150 #, fuzzy msgid "" -"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " -"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " -"flag to avoid the complexity of setting up a code signing identity and keep " -"the tutorial as simple as possible.)" +"(macOS users, remember that as noted in [Tutorial 3]{1}, for the tutorial we " +"recommend running `briefcase package` with the `--adhoc-sign` flag to avoid " +"the complexity of setting up a code signing identity and keep the tutorial " +"as simple as possible.)" msgstr "" "(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3]" "[tutorial-3], per il tutorial si consiglia di eseguire il pacchetto " @@ -195,12 +204,12 @@ msgstr "" "impostare un'identità di firma del codice e mantenere il tutorial il più " "semplice possibile)" -#: docs/en/tutorial/tutorial-4.md:149 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy msgid "Update and run in one step" msgstr "Aggiornamento ed esecuzione in un unico passaggio" -#: docs/en/tutorial/tutorial-4.md:151 +#: docs/en/tutorial/tutorial-4.md:157 #, fuzzy msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " @@ -225,7 +234,7 @@ msgstr "" "dell'applicazione in bundle, Briefcase ha una scorciatoia per supportare " "questo modello di utilizzo: l'opzione `-u` (o `--update`) del comando `run`." -#: docs/en/tutorial/tutorial-4.md:162 +#: docs/en/tutorial/tutorial-4.md:168 #, fuzzy msgid "" "Let's try making another change. You may have noticed that if you don't type " @@ -236,7 +245,7 @@ msgstr "" "nome nella casella di testo, la finestra di dialogo dirà \"Ciao\". " "Modifichiamo di nuovo la funzione `say_hello` per gestire questo caso limite." -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:172 #, fuzzy msgid "" "At the top of the file, between the imports and the `class HelloWorld` " @@ -247,14 +256,14 @@ msgstr "" "HelloWorld`, aggiungiamo un metodo di utilità per generare un saluto " "appropriato a seconda del valore del nome fornito:" -#: docs/en/tutorial/tutorial-4.md:178 +#: docs/en/tutorial/tutorial-4.md:184 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "" "Quindi, modificare il callback `say_hello` per utilizzare questo nuovo " "metodo di utilità:" -#: docs/en/tutorial/tutorial-4.md:190 +#: docs/en/tutorial/tutorial-4.md:196 #, fuzzy msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " @@ -264,7 +273,7 @@ msgstr "" "verificare che la nuova logica funzioni; quindi aggiornare, compilare ed " "eseguire l'applicazione con un solo comando:" -#: docs/en/tutorial/tutorial-4.md:264 +#: docs/en/tutorial/tutorial-4.md:270 #, fuzzy msgid "" "The package command also accepts the `-u` argument, so if you make a change " @@ -275,11 +284,11 @@ msgstr "" "modifica al codice dell'applicazione e si desidera eseguire immediatamente " "il repackaging, si può eseguire `briefcase package -u`." -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:274 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-4.md:270 +#: docs/en/tutorial/tutorial-4.md:276 #, fuzzy msgid "" "We now have our application packaged for distribution on desktop platforms, " @@ -289,13 +298,9 @@ msgstr "" "piattaforme desktop e siamo stati in grado di aggiornare il codice della " "nostra applicazione." -#: docs/en/tutorial/tutorial-4.md:273 +#: docs/en/tutorial/tutorial-4.md:279 msgid "" -"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " -"application into a mobile application, and deploy it onto a device " -"simulator, and onto a phone." +"But what about mobile? In [Tutorial 5]{1}, we'll convert our application " +"into a mobile application, and deploy it onto a device simulator, and onto a " +"phone." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 4 - Updating your application" -#~ msgstr "Esercitazione 4 - Aggiornamento dell'applicazione" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po index 410713e2..494bfbf7 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/android.md:1 -msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: Android" +msgstr "Esercitazione 5 - Il mobile: Android" #: docs/en/tutorial/tutorial-5/android.md:3 #, fuzzy @@ -54,7 +55,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:16 #: docs/en/tutorial/tutorial-5/android.md:121 #: docs/en/tutorial/tutorial-5/android.md:204 -#: docs/en/tutorial/tutorial-5/android.md:336 +#: docs/en/tutorial/tutorial-5/android.md:340 msgid "/// tab | macOS" msgstr "" @@ -68,29 +69,29 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:216 #: docs/en/tutorial/tutorial-5/android.md:230 #: docs/en/tutorial/tutorial-5/android.md:244 -#: docs/en/tutorial/tutorial-5/android.md:258 -#: docs/en/tutorial/tutorial-5/android.md:268 -#: docs/en/tutorial/tutorial-5/android.md:278 -#: docs/en/tutorial/tutorial-5/android.md:290 -#: docs/en/tutorial/tutorial-5/android.md:301 -#: docs/en/tutorial/tutorial-5/android.md:350 -#: docs/en/tutorial/tutorial-5/android.md:366 -#: docs/en/tutorial/tutorial-5/android.md:382 -#: docs/en/tutorial/tutorial-5/android.md:402 +#: docs/en/tutorial/tutorial-5/android.md:259 +#: docs/en/tutorial/tutorial-5/android.md:270 +#: docs/en/tutorial/tutorial-5/android.md:281 +#: docs/en/tutorial/tutorial-5/android.md:293 +#: docs/en/tutorial/tutorial-5/android.md:305 +#: docs/en/tutorial/tutorial-5/android.md:354 +#: docs/en/tutorial/tutorial-5/android.md:370 +#: docs/en/tutorial/tutorial-5/android.md:386 +#: docs/en/tutorial/tutorial-5/android.md:406 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:45 #: docs/en/tutorial/tutorial-5/android.md:141 #: docs/en/tutorial/tutorial-5/android.md:218 -#: docs/en/tutorial/tutorial-5/android.md:352 +#: docs/en/tutorial/tutorial-5/android.md:356 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:74 #: docs/en/tutorial/tutorial-5/android.md:161 #: docs/en/tutorial/tutorial-5/android.md:232 -#: docs/en/tutorial/tutorial-5/android.md:368 +#: docs/en/tutorial/tutorial-5/android.md:372 msgid "/// tab | Windows" msgstr "" @@ -208,14 +209,21 @@ msgstr "" "dispositivo si avvia, si vedrà il logo di Android:" #: docs/en/tutorial/tutorial-5/android.md:253 -msgid "![Android virtual device booting]{1} /// caption" +msgid "![Android virtual device booting]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:256 +#: docs/en/tutorial/tutorial-5/android.md:255 +#: docs/en/tutorial/tutorial-5/android.md:266 +#: docs/en/tutorial/tutorial-5/android.md:277 +#: docs/en/tutorial/tutorial-5/android.md:301 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:257 msgid "Android virtual device booting" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:260 +#: docs/en/tutorial/tutorial-5/android.md:261 #, fuzzy msgid "" "Once the device has finished booting, Briefcase will install your app on the " @@ -225,17 +233,15 @@ msgstr "" "l'applicazione sul dispositivo. Verrà visualizzata brevemente una schermata " "di avvio:" -#: docs/en/tutorial/tutorial-5/android.md:263 -msgid "" -"![Android virtual device fully started, on the launcher screen]{1} /// " -"caption" +#: docs/en/tutorial/tutorial-5/android.md:264 +msgid "![Android virtual device fully started, on the launcher screen]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:266 +#: docs/en/tutorial/tutorial-5/android.md:268 msgid "Android virtual device fully started, on the launcher screen" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:270 +#: docs/en/tutorial/tutorial-5/android.md:272 #, fuzzy msgid "" "The app will then start. You'll see a splash screen while the app starts up:" @@ -243,19 +249,19 @@ msgstr "" "L'applicazione si avvia. Durante l'avvio dell'applicazione verrà " "visualizzata una schermata iniziale:" -#: docs/en/tutorial/tutorial-5/android.md:273 -msgid "![App splash screen]{1} /// caption" +#: docs/en/tutorial/tutorial-5/android.md:275 +msgid "![App splash screen]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:276 +#: docs/en/tutorial/tutorial-5/android.md:279 msgid "App splash screen" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:280 +#: docs/en/tutorial/tutorial-5/android.md:283 msgid "/// admonition | The emulator didn't start!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:282 +#: docs/en/tutorial/tutorial-5/android.md:285 #, fuzzy msgid "" "The Android emulator is a complex piece of software that relies on a number " @@ -271,7 +277,7 @@ msgstr "" "[Requisiti e raccomandazioni]{1} della documentazione per sviluppatori " "Android." -#: docs/en/tutorial/tutorial-5/android.md:292 +#: docs/en/tutorial/tutorial-5/android.md:295 #, fuzzy msgid "" "The first time the app starts, it needs to unpack itself onto the device. " @@ -282,15 +288,15 @@ msgstr "" "operazione può richiedere alcuni secondi. Una volta scompattata, verrà " "visualizzata la versione Android dell'applicazione desktop:" -#: docs/en/tutorial/tutorial-5/android.md:296 -msgid "![Demo app fully launched]{1} /// caption" +#: docs/en/tutorial/tutorial-5/android.md:299 +msgid "![Demo app fully launched]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:299 +#: docs/en/tutorial/tutorial-5/android.md:303 msgid "Demo app fully launched" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:303 +#: docs/en/tutorial/tutorial-5/android.md:307 #, fuzzy msgid "" "If you fail to see your app launching, you may need to check your terminal " @@ -300,7 +306,7 @@ msgstr "" "necessario controllare il terminale in cui è stato eseguito `briefcase run` " "e cercare eventuali messaggi di errore." -#: docs/en/tutorial/tutorial-5/android.md:306 +#: docs/en/tutorial/tutorial-5/android.md:310 msgid "" "While the app is running, you'll see a lot of messages being streamed in the " "console. This is a stream of the application's logs from the emulator. " @@ -309,7 +315,7 @@ msgid "" "changes without restarting the emulator." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:312 +#: docs/en/tutorial/tutorial-5/android.md:316 #, fuzzy msgid "" "In future, if you want to run on this device without using the menu, you can " @@ -320,12 +326,12 @@ msgstr "" "si può fornire il nome dell'emulatore a Briefcase, usando `briefcase run " "android -d @beePhone` per eseguire direttamente sul dispositivo virtuale." -#: docs/en/tutorial/tutorial-5/android.md:317 +#: docs/en/tutorial/tutorial-5/android.md:321 #, fuzzy msgid "Run the app on a physical device" msgstr "Eseguire l'applicazione su un dispositivo fisico" -#: docs/en/tutorial/tutorial-5/android.md:319 +#: docs/en/tutorial/tutorial-5/android.md:323 #, fuzzy msgid "" "If you have a physical Android phone or tablet, you can connect it to your " @@ -336,7 +342,7 @@ msgstr "" "collegarlo al computer con un cavo USB e quindi utilizzare la valigetta per " "puntare al dispositivo fisico." -#: docs/en/tutorial/tutorial-5/android.md:323 +#: docs/en/tutorial/tutorial-5/android.md:327 #, fuzzy msgid "" "Android requires that you prepare your device before it can be used for " @@ -346,17 +352,17 @@ msgstr "" "per lo sviluppo. È necessario apportare due modifiche alle opzioni del " "dispositivo:" -#: docs/en/tutorial/tutorial-5/android.md:327 +#: docs/en/tutorial/tutorial-5/android.md:331 #, fuzzy msgid "Enable developer options" msgstr "Abilitare le opzioni per gli sviluppatori" -#: docs/en/tutorial/tutorial-5/android.md:328 +#: docs/en/tutorial/tutorial-5/android.md:332 #, fuzzy msgid "Enable USB debugging" msgstr "Abilitare il debug USB" -#: docs/en/tutorial/tutorial-5/android.md:330 +#: docs/en/tutorial/tutorial-5/android.md:334 #, fuzzy msgid "" "Details on how to make these changes can be found " @@ -365,7 +371,7 @@ msgstr "" "I dettagli su come apportare queste modifiche sono disponibili " "[nella documentazione per sviluppatori Android]{1}." -#: docs/en/tutorial/tutorial-5/android.md:333 +#: docs/en/tutorial/tutorial-5/android.md:337 #, fuzzy msgid "" "Once these steps have been completed, your device should appear in the list " @@ -375,7 +381,7 @@ msgstr "" "nell'elenco dei dispositivi disponibili quando si esegue `briefcase run " "android`." -#: docs/en/tutorial/tutorial-5/android.md:384 +#: docs/en/tutorial/tutorial-5/android.md:388 #, fuzzy msgid "" "Here we can see a new physical device with it's serial number on the " @@ -391,11 +397,11 @@ msgstr "" "android -d 94ZZY0LNE8`). In questo modo si eseguirà direttamente sul " "dispositivo, senza richiedere nulla." -#: docs/en/tutorial/tutorial-5/android.md:391 +#: docs/en/tutorial/tutorial-5/android.md:395 msgid "/// admonition | My device doesn't appear!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:393 +#: docs/en/tutorial/tutorial-5/android.md:397 #, fuzzy msgid "" "If your device doesn't appear on this list at all, either you haven't " @@ -404,7 +410,7 @@ msgstr "" "Se il dispositivo non compare in questo elenco, significa che non è stato " "attivato il debug USB (oppure che il dispositivo non è collegato!)." -#: docs/en/tutorial/tutorial-5/android.md:396 +#: docs/en/tutorial/tutorial-5/android.md:400 #, fuzzy msgid "" "If your device appears, but is listed as " @@ -418,16 +424,12 @@ msgstr "" "[i passaggi per abilitare le opzioni per gli sviluppatori]{1} e rieseguire `" "briefcase run android`." -#: docs/en/tutorial/tutorial-5/android.md:404 +#: docs/en/tutorial/tutorial-5/android.md:408 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-5/android.md:406 +#: docs/en/tutorial/tutorial-5/android.md:410 msgid "" "We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 5 - Taking it mobile: Android" -#~ msgstr "Esercitazione 5 - Il mobile: Android" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po index eb7771dc..99fb0345 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/iOS.md:1 -msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "Esercitazione 5 - Il mobile: iOS" #: docs/en/tutorial/tutorial-5/iOS.md:3 msgid "" @@ -94,6 +95,14 @@ msgid "![Hello World Tutorial 5 window, on iOS]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:124 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:126 msgid "" "While the app is running, you'll see a series of Simulator log output " "messages in the console. Typing Ctrl+C into the terminal will halt the " @@ -101,7 +110,7 @@ msgid "" "can test new changes without restarting the simulator." msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:127 +#: docs/en/tutorial/tutorial-5/iOS.md:131 #, fuzzy msgid "" "If you know ahead of time which iOS simulator you want to target, you can " @@ -114,7 +123,7 @@ msgstr "" "Utilizzando il nome del dispositivo selezionato al momento della creazione " "dell'applicazione, eseguite:" -#: docs/en/tutorial/tutorial-5/iOS.md:136 +#: docs/en/tutorial/tutorial-5/iOS.md:140 #, fuzzy msgid "" "If you have multiple iOS versions available, Briefcase will pick the highest " @@ -125,23 +134,19 @@ msgstr "" "iOS più alta; se si vuole scegliere una versione di iOS in particolare, si " "dice di usare quella versione specifica:" -#: docs/en/tutorial/tutorial-5/iOS.md:144 +#: docs/en/tutorial/tutorial-5/iOS.md:148 #, fuzzy msgid "Or, you can name a specific device UDID:" msgstr "" "In alternativa, è possibile assegnare un nome UDID a un dispositivo " "specifico:" -#: docs/en/tutorial/tutorial-5/iOS.md:150 +#: docs/en/tutorial/tutorial-5/iOS.md:154 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-5/iOS.md:152 +#: docs/en/tutorial/tutorial-5/iOS.md:156 msgid "" "We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 5 - Taking it mobile: iOS" -#~ msgstr "Esercitazione 5 - Il mobile: iOS" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po index ec115479..22cc348a 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/index.md:1 -msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 5 - Taking it Mobile" +msgstr "Esercitazione 5 - Il mobile" #: docs/en/tutorial/tutorial-5/index.md:3 #, fuzzy @@ -27,7 +28,7 @@ msgstr "" "abbiamo scritto può essere distribuita anche sul vostro dispositivo mobile!" #: docs/en/tutorial/tutorial-5/index.md:7 -msgid "[Android][mobile-android]" +msgid "[Android]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:9 @@ -37,14 +38,10 @@ msgstr "" "Le applicazioni Android possono essere compilate su macOS, Windows o Linux." #: docs/en/tutorial/tutorial-5/index.md:11 -msgid "[iOS][mobile-ios]" +msgid "[iOS]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:13 #, fuzzy msgid "iOS applications can only be compiled on macOS." msgstr "le applicazioni iOS possono essere compilate solo su macOS." - -#, fuzzy -#~ msgid "Tutorial 5 - Taking it Mobile" -#~ msgstr "Esercitazione 5 - Il mobile" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po index 24f1e46f..b6f80e7e 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:12+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-6.md:1 -msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 6 - Put it on the web!" +msgstr "Tutorial 6 - Mettetelo sul web!" #: docs/en/tutorial/tutorial-6.md:3 #, fuzzy @@ -165,13 +166,9 @@ msgid "" "Although we've now deployed this app on desktop, mobile and the web, the app " "is fairly simple, and doesn't involve any third-party libraries. Can we " "include libraries from the Python Package Index (PyPI) in our app? Turn to " -"[Tutorial 7][tutorial-7] to find out..." +"[Tutorial 7]{1} to find out..." msgstr "" "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, " "l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. " "Possiamo includere nella nostra applicazione le librerie del Python Package " "Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." - -#, fuzzy -#~ msgid "Tutorial 6 - Put it on the web!" -#~ msgstr "Tutorial 6 - Mettetelo sul web!" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index 3ab0fad1..b8cb472f 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:13+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,8 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-7.md:1 -msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" -msgstr "" +msgid "Tutorial 7 - Get this (third-)party started" +msgstr "Esercitazione 7 - Iniziare questa (terza-)festa" #: docs/en/tutorial/tutorial-7.md:3 #, fuzzy @@ -80,8 +80,8 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:46 #: docs/en/tutorial/tutorial-7.md:130 -#: docs/en/tutorial/tutorial-7.md:201 -#: docs/en/tutorial/tutorial-7.md:545 +#: docs/en/tutorial/tutorial-7.md:207 +#: docs/en/tutorial/tutorial-7.md:555 msgid "/// tab | macOS" msgstr "" @@ -91,61 +91,66 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:117 #: docs/en/tutorial/tutorial-7.md:124 #: docs/en/tutorial/tutorial-7.md:144 -#: docs/en/tutorial/tutorial-7.md:160 -#: docs/en/tutorial/tutorial-7.md:176 -#: docs/en/tutorial/tutorial-7.md:183 -#: docs/en/tutorial/tutorial-7.md:190 -#: docs/en/tutorial/tutorial-7.md:239 -#: docs/en/tutorial/tutorial-7.md:294 -#: docs/en/tutorial/tutorial-7.md:334 -#: docs/en/tutorial/tutorial-7.md:409 -#: docs/en/tutorial/tutorial-7.md:457 -#: docs/en/tutorial/tutorial-7.md:566 -#: docs/en/tutorial/tutorial-7.md:595 -#: docs/en/tutorial/tutorial-7.md:618 -#: docs/en/tutorial/tutorial-7.md:637 -#: docs/en/tutorial/tutorial-7.md:661 -#: docs/en/tutorial/tutorial-7.md:672 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:164 +#: docs/en/tutorial/tutorial-7.md:180 +#: docs/en/tutorial/tutorial-7.md:182 +#: docs/en/tutorial/tutorial-7.md:189 +#: docs/en/tutorial/tutorial-7.md:196 +#: docs/en/tutorial/tutorial-7.md:245 +#: docs/en/tutorial/tutorial-7.md:247 +#: docs/en/tutorial/tutorial-7.md:302 +#: docs/en/tutorial/tutorial-7.md:342 +#: docs/en/tutorial/tutorial-7.md:344 +#: docs/en/tutorial/tutorial-7.md:419 +#: docs/en/tutorial/tutorial-7.md:467 +#: docs/en/tutorial/tutorial-7.md:576 +#: docs/en/tutorial/tutorial-7.md:605 +#: docs/en/tutorial/tutorial-7.md:628 +#: docs/en/tutorial/tutorial-7.md:647 +#: docs/en/tutorial/tutorial-7.md:671 +#: docs/en/tutorial/tutorial-7.md:682 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-7.md:68 -#: docs/en/tutorial/tutorial-7.md:146 -#: docs/en/tutorial/tutorial-7.md:241 -#: docs/en/tutorial/tutorial-7.md:568 +#: docs/en/tutorial/tutorial-7.md:148 +#: docs/en/tutorial/tutorial-7.md:249 +#: docs/en/tutorial/tutorial-7.md:578 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-7.md:90 -#: docs/en/tutorial/tutorial-7.md:162 -#: docs/en/tutorial/tutorial-7.md:296 -#: docs/en/tutorial/tutorial-7.md:597 +#: docs/en/tutorial/tutorial-7.md:166 +#: docs/en/tutorial/tutorial-7.md:304 +#: docs/en/tutorial/tutorial-7.md:607 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/tutorial-7.md:112 -#: docs/en/tutorial/tutorial-7.md:178 -#: docs/en/tutorial/tutorial-7.md:336 -#: docs/en/tutorial/tutorial-7.md:620 +#: docs/en/tutorial/tutorial-7.md:184 +#: docs/en/tutorial/tutorial-7.md:346 +#: docs/en/tutorial/tutorial-7.md:630 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/tutorial-7.md:114 -#: docs/en/tutorial/tutorial-7.md:180 +#: docs/en/tutorial/tutorial-7.md:186 msgid "" "You can't run an Android app in developer mode - use the instructions for " "your chosen desktop platform." msgstr "" #: docs/en/tutorial/tutorial-7.md:119 -#: docs/en/tutorial/tutorial-7.md:185 -#: docs/en/tutorial/tutorial-7.md:411 -#: docs/en/tutorial/tutorial-7.md:639 +#: docs/en/tutorial/tutorial-7.md:191 +#: docs/en/tutorial/tutorial-7.md:421 +#: docs/en/tutorial/tutorial-7.md:649 msgid "/// tab | iOS" msgstr "" #: docs/en/tutorial/tutorial-7.md:121 -#: docs/en/tutorial/tutorial-7.md:187 +#: docs/en/tutorial/tutorial-7.md:193 msgid "" "You can't run an iOS app in developer mode - use the instructions for your " "chosen desktop platform." @@ -164,8 +169,8 @@ msgstr "" "nuovamente `briefcase dev``:" #: docs/en/tutorial/tutorial-7.md:137 -#: docs/en/tutorial/tutorial-7.md:153 -#: docs/en/tutorial/tutorial-7.md:169 +#: docs/en/tutorial/tutorial-7.md:155 +#: docs/en/tutorial/tutorial-7.md:173 #, fuzzy msgid "" "When you enter a name and press the button, you should see a dialog that " @@ -175,18 +180,26 @@ msgstr "" "finestra di dialogo simile a questa:" #: docs/en/tutorial/tutorial-7.md:140 -msgid "![Hello World Tutorial 7 dialog, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 7 dialog, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:156 -msgid "![Hello World Tutorial 7 dialog, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:142 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:340 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:158 +msgid "![Hello World Tutorial 7 dialog, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:172 -msgid "![Hello World Tutorial 7 dialog, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:176 +msgid "![Hello World Tutorial 7 dialog, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:192 +#: docs/en/tutorial/tutorial-7.md:198 #, fuzzy msgid "" "We've now got a working app, using a third party library, running in " @@ -195,49 +208,49 @@ msgstr "" "Ora abbiamo un'applicazione funzionante, che utilizza una libreria di terze " "parti, in modalità di sviluppo!" -#: docs/en/tutorial/tutorial-7.md:195 +#: docs/en/tutorial/tutorial-7.md:201 #, fuzzy msgid "Running the updated app" msgstr "Esecuzione dell'applicazione aggiornata" -#: docs/en/tutorial/tutorial-7.md:197 +#: docs/en/tutorial/tutorial-7.md:203 #, fuzzy msgid "" "Let's get this updated application code packaged as a standalone app. Since " "we've made code changes, we need to follow the same steps as in [Tutorial 4]" -"[tutorial-4]:" +"{1}:" msgstr "" "Facciamo in modo che il codice aggiornato dell'applicazione venga " "confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche " "al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" -#: docs/en/tutorial/tutorial-7.md:203 -#: docs/en/tutorial/tutorial-7.md:243 -#: docs/en/tutorial/tutorial-7.md:298 -#: docs/en/tutorial/tutorial-7.md:338 -#: docs/en/tutorial/tutorial-7.md:413 +#: docs/en/tutorial/tutorial-7.md:209 +#: docs/en/tutorial/tutorial-7.md:251 +#: docs/en/tutorial/tutorial-7.md:306 +#: docs/en/tutorial/tutorial-7.md:348 +#: docs/en/tutorial/tutorial-7.md:423 #, fuzzy msgid "Update the code in the packaged app:" msgstr "Aggiornare il codice dell'applicazione confezionata:" -#: docs/en/tutorial/tutorial-7.md:214 -#: docs/en/tutorial/tutorial-7.md:254 -#: docs/en/tutorial/tutorial-7.md:309 -#: docs/en/tutorial/tutorial-7.md:349 -#: docs/en/tutorial/tutorial-7.md:424 +#: docs/en/tutorial/tutorial-7.md:220 +#: docs/en/tutorial/tutorial-7.md:262 +#: docs/en/tutorial/tutorial-7.md:317 +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 #, fuzzy msgid "Rebuild the app:" msgstr "Ricostruire l'applicazione:" -#: docs/en/tutorial/tutorial-7.md:223 -#: docs/en/tutorial/tutorial-7.md:268 -#: docs/en/tutorial/tutorial-7.md:318 +#: docs/en/tutorial/tutorial-7.md:229 +#: docs/en/tutorial/tutorial-7.md:276 +#: docs/en/tutorial/tutorial-7.md:326 #, fuzzy msgid "And finally, run the app:" msgstr "Infine, eseguire l'applicazione:" -#: docs/en/tutorial/tutorial-7.md:232 -#: docs/en/tutorial/tutorial-7.md:327 +#: docs/en/tutorial/tutorial-7.md:238 +#: docs/en/tutorial/tutorial-7.md:335 #, fuzzy msgid "" "However, when the app runs, you'll see an error in the console, plus a crash " @@ -246,41 +259,41 @@ msgstr "" "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " "nella console e una finestra di dialogo di arresto anomalo:" -#: docs/en/tutorial/tutorial-7.md:235 -msgid "![Hello World Tutorial 7 app crash, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:241 +msgid "![Hello World Tutorial 7 app crash, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:277 -#: docs/en/tutorial/tutorial-7.md:368 +#: docs/en/tutorial/tutorial-7.md:285 +#: docs/en/tutorial/tutorial-7.md:378 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" msgstr "" "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " "nella console:" -#: docs/en/tutorial/tutorial-7.md:330 -msgid "![Hello World Tutorial 7 app crash, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:338 +msgid "![Hello World Tutorial 7 app crash, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:359 -#: docs/en/tutorial/tutorial-7.md:434 +#: docs/en/tutorial/tutorial-7.md:369 +#: docs/en/tutorial/tutorial-7.md:444 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: docs/en/tutorial/tutorial-7.md:444 +#: docs/en/tutorial/tutorial-7.md:454 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" msgstr "" "Tuttavia, quando l'applicazione viene eseguita, viene visualizzato un errore " "nella console:" -#: docs/en/tutorial/tutorial-7.md:459 +#: docs/en/tutorial/tutorial-7.md:469 msgid "" "Once again, the app has failed to start because `faker` has not been " "installed -but why? Haven't we already installed `faker`?" msgstr "" -#: docs/en/tutorial/tutorial-7.md:462 +#: docs/en/tutorial/tutorial-7.md:472 #, fuzzy msgid "" "We have - but only in the development environment. Your development " @@ -295,7 +308,7 @@ msgstr "" "motivo principale per cui si usa Briefcase è per impacchettare il codice in " "modo da poterlo dare a qualcun altro." -#: docs/en/tutorial/tutorial-7.md:468 +#: docs/en/tutorial/tutorial-7.md:478 #, fuzzy msgid "" "The only way to guarantee that someone else will have a Python environment " @@ -315,19 +328,19 @@ msgstr "" "installato: è stato installato nell'ambiente di *sviluppo*, ma non " "nell'applicazione confezionata." -#: docs/en/tutorial/tutorial-7.md:477 +#: docs/en/tutorial/tutorial-7.md:487 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." msgstr "" "Quindi, dobbiamo dire a Briefcase che la nostra applicazione ha una " "dipendenza esterna." -#: docs/en/tutorial/tutorial-7.md:479 +#: docs/en/tutorial/tutorial-7.md:489 #, fuzzy msgid "Updating dependencies" msgstr "Aggiornamento delle dipendenze" -#: docs/en/tutorial/tutorial-7.md:481 +#: docs/en/tutorial/tutorial-7.md:491 #, fuzzy msgid "" "In the root directory of your app, there is a file named `pyproject.toml`. " @@ -338,7 +351,7 @@ msgstr "" "`pyproject.toml`. Questo file contiene tutti i dettagli di configurazione " "dell'applicazione forniti al momento dell'esecuzione di `briefcase new`." -#: docs/en/tutorial/tutorial-7.md:485 +#: docs/en/tutorial/tutorial-7.md:495 #, fuzzy msgid "" "`pyproject.toml` is broken up into sections; one of the sections describes " @@ -347,7 +360,7 @@ msgstr "" "il file `pyproject.toml` è suddiviso in sezioni; una delle sezioni descrive " "le impostazioni per l'applicazione:" -#: docs/en/tutorial/tutorial-7.md:498 +#: docs/en/tutorial/tutorial-7.md:508 #, fuzzy msgid "" "The `requires` option describes the dependencies of our application. It is a " @@ -359,12 +372,12 @@ msgstr "" "opzionalmente, le versioni) delle librerie che si vogliono includere nella " "propria applicazione." -#: docs/en/tutorial/tutorial-7.md:502 +#: docs/en/tutorial/tutorial-7.md:512 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "Modificare l'impostazione `requires` in modo che si legga:" -#: docs/en/tutorial/tutorial-7.md:510 +#: docs/en/tutorial/tutorial-7.md:520 #, fuzzy msgid "" "By adding this setting, we're telling Briefcase \"when you build my app, run " @@ -376,19 +389,19 @@ msgstr "" "Qualsiasi cosa che sia un input legale per `pip install` può essere usato " "qui, quindi si può specificare:" -#: docs/en/tutorial/tutorial-7.md:515 +#: docs/en/tutorial/tutorial-7.md:525 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "" "Una versione specifica della libreria (ad esempio, `\"httpx==0.19.0\"`);" -#: docs/en/tutorial/tutorial-7.md:516 +#: docs/en/tutorial/tutorial-7.md:526 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "" "Un intervallo di versioni della libreria (ad esempio, `\"httpx>=0.19\"`);" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" @@ -397,7 +410,7 @@ msgstr "" "Un percorso a un repository git (ad esempio, `git+https://github.com/encode/" "httpx\"`); oppure" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 #, fuzzy msgid "" "A local file path (However - be warned: if you give your code to someone " @@ -406,7 +419,7 @@ msgstr "" "Un percorso di file locale (tuttavia, attenzione: se si dà il codice a " "qualcun altro, questo percorso probabilmente non esisterà sulla sua macchina)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -433,7 +446,7 @@ msgstr "" "perché le librerie necessarie per visualizzare l'interfaccia utente sono " "specifiche della piattaforma." -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -447,7 +460,7 @@ msgstr "" "installate; le dipendenze specifiche della piattaforma sono installate *in " "aggiunta* a quelle a livello di applicazione." -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -461,7 +474,7 @@ msgstr "" "l'applicazione, questa volta inserendo il flag `-r`. Questo indica a " "Briefcase di aggiornare i requisiti nell'applicazione pacchettizzata:" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -471,11 +484,11 @@ msgstr "" "briefcase run` e si dovrebbe vedere l'applicazione confezionata, con il " "nuovo comportamento della finestra di dialogo." -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -486,11 +499,11 @@ msgstr "" "comandi `build` e `run`, quindi se si vuole aggiornare, compilare ed " "eseguire in un unico passaggio, si può usare `briefcase run -u -r`." -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -500,7 +513,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -512,7 +525,7 @@ msgstr "" "installabile può essere aggiunto ai requisiti. Sulle piattaforme mobili e " "web, [le opzioni sono leggermente limitate]{1}." -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -525,7 +538,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -539,7 +552,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -548,7 +561,7 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 #, fuzzy msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " @@ -560,16 +573,13 @@ msgstr "" "per le piattaforme mobili, ma non è facile da configurare, il che esula " "dallo scopo di un tutorial introduttivo come questo." -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "Esercitazione 7 - Iniziare questa (terza-)festa" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po index b28201e4..ea05c7d9 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:13+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: it \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-8.md:1 -msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 8 - Making it Smooooth" +msgstr "Esercitazione 8 - Renderlo liscio" #: docs/en/tutorial/tutorial-8.md:3 msgid "" @@ -70,9 +71,9 @@ msgid "" "As a result, people have developed third-party libraries that wrap the built-" "in APIs and provide a simpler API that is a closer match for the everyday " "browser experience. We're going to use one of those libraries to access the " -"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " -"internally, so it's already in your local environment -you don't need to " -"install it separately to use it here." +"{JSON} Placeholder API - a library called [`httpx`]{1}. Briefcase uses " +"`httpx` internally, so it's already in your local environment -you don't " +"need to install it separately to use it here." msgstr "" #: docs/en/tutorial/tutorial-8.md:49 @@ -124,76 +125,85 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-8.md:96 -#: docs/en/tutorial/tutorial-8.md:326 +#: docs/en/tutorial/tutorial-8.md:332 msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-8.md:107 -#: docs/en/tutorial/tutorial-8.md:127 -#: docs/en/tutorial/tutorial-8.md:147 +#: docs/en/tutorial/tutorial-8.md:129 +#: docs/en/tutorial/tutorial-8.md:151 msgid "" "When you enter a name and press the button, you should see a dialog that " "looks something like:" msgstr "" #: docs/en/tutorial/tutorial-8.md:110 -msgid "![Hello World Tutorial 8 dialog, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 8 dialog, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:112 #: docs/en/tutorial/tutorial-8.md:134 -#: docs/en/tutorial/tutorial-8.md:154 -#: docs/en/tutorial/tutorial-8.md:161 -#: docs/en/tutorial/tutorial-8.md:168 -#: docs/en/tutorial/tutorial-8.md:332 -#: docs/en/tutorial/tutorial-8.md:340 -#: docs/en/tutorial/tutorial-8.md:348 -#: docs/en/tutorial/tutorial-8.md:356 -#: docs/en/tutorial/tutorial-8.md:364 -msgid "///" +#: docs/en/tutorial/tutorial-8.md:156 +msgid "/// caption" msgstr "" +#: docs/en/tutorial/tutorial-8.md:114 #: docs/en/tutorial/tutorial-8.md:116 -#: docs/en/tutorial/tutorial-8.md:334 +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:138 +#: docs/en/tutorial/tutorial-8.md:158 +#: docs/en/tutorial/tutorial-8.md:160 +#: docs/en/tutorial/tutorial-8.md:167 +#: docs/en/tutorial/tutorial-8.md:174 +#: docs/en/tutorial/tutorial-8.md:338 +#: docs/en/tutorial/tutorial-8.md:346 +#: docs/en/tutorial/tutorial-8.md:354 +#: docs/en/tutorial/tutorial-8.md:362 +#: docs/en/tutorial/tutorial-8.md:370 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:118 +#: docs/en/tutorial/tutorial-8.md:340 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-8.md:130 -msgid "![Hello World Tutorial 8 dialog, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-8.md:132 +msgid "![Hello World Tutorial 8 dialog, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-8.md:136 -#: docs/en/tutorial/tutorial-8.md:342 +#: docs/en/tutorial/tutorial-8.md:140 +#: docs/en/tutorial/tutorial-8.md:348 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-8.md:150 -msgid "![Hello World Tutorial 8 dialog, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-8.md:154 +msgid "![Hello World Tutorial 8 dialog, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-8.md:156 -#: docs/en/tutorial/tutorial-8.md:350 +#: docs/en/tutorial/tutorial-8.md:162 +#: docs/en/tutorial/tutorial-8.md:356 msgid "/// tab | Android" msgstr "" -#: docs/en/tutorial/tutorial-8.md:158 +#: docs/en/tutorial/tutorial-8.md:164 msgid "" "You can't run an Android app in developer mode - use the instructions for " "your chosen desktop platform." msgstr "" -#: docs/en/tutorial/tutorial-8.md:163 -#: docs/en/tutorial/tutorial-8.md:358 +#: docs/en/tutorial/tutorial-8.md:169 +#: docs/en/tutorial/tutorial-8.md:364 msgid "/// tab | iOS" msgstr "" -#: docs/en/tutorial/tutorial-8.md:165 +#: docs/en/tutorial/tutorial-8.md:171 msgid "" "You can't run an iOS app in developer mode - use the instructions for your " "chosen desktop platform." msgstr "" -#: docs/en/tutorial/tutorial-8.md:170 +#: docs/en/tutorial/tutorial-8.md:176 msgid "" "Unless you've got a *really* fast internet connection, you may notice that " "when you press the button, the GUI for your app locks up for a little bit. " @@ -201,7 +211,7 @@ msgid "" "\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: docs/en/tutorial/tutorial-8.md:176 +#: docs/en/tutorial/tutorial-8.md:182 #, fuzzy msgid "" "This is because the web request we have made is *synchronous*. When our " @@ -217,12 +227,12 @@ msgstr "" "aspetta, non permette all'applicazione di ridisegnare e di conseguenza " "l'applicazione si blocca." -#: docs/en/tutorial/tutorial-8.md:181 +#: docs/en/tutorial/tutorial-8.md:187 #, fuzzy msgid "GUI Event Loops" msgstr "Loop di eventi della GUI" -#: docs/en/tutorial/tutorial-8.md:183 +#: docs/en/tutorial/tutorial-8.md:189 #, fuzzy msgid "" "To understand why this happens, we need to dig into the details of how a GUI " @@ -235,13 +245,13 @@ msgstr "" "piattaforma, ma i concetti di alto livello sono gli stessi, " "indipendentemente dalla piattaforma o dall'ambiente GUI utilizzato." -#: docs/en/tutorial/tutorial-8.md:188 +#: docs/en/tutorial/tutorial-8.md:194 #, fuzzy msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "" "Un'applicazione GUI è, fondamentalmente, un singolo ciclo che assomiglia a:" -#: docs/en/tutorial/tutorial-8.md:196 +#: docs/en/tutorial/tutorial-8.md:202 #, fuzzy msgid "" "This loop is called the *Event Loop*. (These aren't actual method names - " @@ -250,7 +260,7 @@ msgstr "" "Questo ciclo è chiamato *Event Loop*. (Non si tratta di nomi di metodi " "reali, ma di un'illustrazione di ciò che avviene in \"pseudo-codice\")." -#: docs/en/tutorial/tutorial-8.md:199 +#: docs/en/tutorial/tutorial-8.md:205 #, fuzzy msgid "" "When you click on a button, or drag a scroll bar, or type a key, you are " @@ -267,7 +277,7 @@ msgstr "" "chiamato *gestore di eventi*. Questi gestori di eventi vengono invocati come " "parte della chiamata `process_events()`." -#: docs/en/tutorial/tutorial-8.md:206 +#: docs/en/tutorial/tutorial-8.md:212 #, fuzzy msgid "" "Once an app has processed all the available events, it will `redraw()` the " @@ -286,7 +296,7 @@ msgstr "" "della nostra applicazione dovrà riflettere la porzione di finestra " "attualmente visibile." -#: docs/en/tutorial/tutorial-8.md:213 +#: docs/en/tutorial/tutorial-8.md:219 #, fuzzy msgid "" "The important detail to notice: while an application is processing an event, " @@ -295,7 +305,7 @@ msgstr "" "Il dettaglio importante da notare: mentre un'applicazione sta elaborando un " "evento, *non può ridisegnare* e *non può elaborare altri eventi*." -#: docs/en/tutorial/tutorial-8.md:216 +#: docs/en/tutorial/tutorial-8.md:222 #, fuzzy msgid "" "This means any user logic contained in an event handler needs to complete " @@ -313,7 +323,7 @@ msgstr "" "\"beachball\" di macOS e \"spinner\" di Windows indicano che l'applicazione " "sta impiegando troppo tempo in un gestore di eventi." -#: docs/en/tutorial/tutorial-8.md:224 +#: docs/en/tutorial/tutorial-8.md:230 #, fuzzy msgid "" "Simple operations like \"update a label\", or " @@ -331,18 +341,18 @@ msgstr "" "richiesta di rete di grandi dimensioni, non è possibile \"farlo rapidamente\"" ": le operazioni sono intrinsecamente lente." -#: docs/en/tutorial/tutorial-8.md:231 +#: docs/en/tutorial/tutorial-8.md:237 #, fuzzy msgid "So - how do we perform long-lived operations in a GUI application?" msgstr "" "Quindi, come si eseguono operazioni di lunga durata in un'applicazione GUI?" -#: docs/en/tutorial/tutorial-8.md:233 +#: docs/en/tutorial/tutorial-8.md:239 #, fuzzy msgid "Asynchronous programming" msgstr "Programmazione asincrona" -#: docs/en/tutorial/tutorial-8.md:235 +#: docs/en/tutorial/tutorial-8.md:241 #, fuzzy msgid "" "What we need is a way to tell an app in the middle of a long-lived event " @@ -360,7 +370,7 @@ msgstr "" "di eventi, possiamo avere un gestore di eventi di lunga durata *e* mantenere " "un'interfaccia utente reattiva." -#: docs/en/tutorial/tutorial-8.md:242 +#: docs/en/tutorial/tutorial-8.md:248 #, fuzzy msgid "" "We can do this by using *asynchronous programming*. Asynchronous programming " @@ -373,7 +383,7 @@ msgstr "" "all'interprete di eseguire più funzioni contemporaneamente, condividendo le " "risorse tra tutte le funzioni in esecuzione simultanea." -#: docs/en/tutorial/tutorial-8.md:247 +#: docs/en/tutorial/tutorial-8.md:253 #, fuzzy msgid "" "Asynchronous functions (known as *coroutines*) need to be explicitly " @@ -384,7 +394,7 @@ msgstr "" "esplicitamente come asincrone. Inoltre, devono dichiarare internamente " "quando esiste la possibilità di cambiare contesto a un'altra co-routine." -#: docs/en/tutorial/tutorial-8.md:251 +#: docs/en/tutorial/tutorial-8.md:257 #, fuzzy msgid "" "In Python, asynchronous programming is implemented using the `async` and " @@ -402,12 +412,12 @@ msgstr "" "modulo [asyncio]{2} fornisce altri strumenti e primitive utili per la " "codifica asincrona." -#: docs/en/tutorial/tutorial-8.md:261 +#: docs/en/tutorial/tutorial-8.md:267 #, fuzzy msgid "Making the tutorial asynchronous" msgstr "Rendere l'esercitazione asincrona" -#: docs/en/tutorial/tutorial-8.md:263 +#: docs/en/tutorial/tutorial-8.md:269 #, fuzzy msgid "" "To make our tutorial asynchronous, modify the `say_hello()` event handler so " @@ -416,14 +426,14 @@ msgstr "" "Per rendere il nostro tutorial asincrono, modificare il gestore dell'evento " "`say_hello()` in modo che assomigli a questo:" -#: docs/en/tutorial/tutorial-8.md:282 +#: docs/en/tutorial/tutorial-8.md:288 #, fuzzy msgid "" "There are only three changes to this callback from the previous version:" msgstr "" "In questo codice ci sono solo 4 modifiche rispetto alla versione precedente:" -#: docs/en/tutorial/tutorial-8.md:284 +#: docs/en/tutorial/tutorial-8.md:290 #, fuzzy msgid "" "The client that is created is an asynchronous `AsyncClient()`, rather than a " @@ -434,7 +444,7 @@ msgstr "" "`Client()`. Questo indica a `httpx` che deve operare in modalità asincrona, " "anziché sincrona." -#: docs/en/tutorial/tutorial-8.md:287 +#: docs/en/tutorial/tutorial-8.md:293 #, fuzzy msgid "" "The context manager used to create the client is marked as `async`. This " @@ -445,7 +455,7 @@ msgstr "" "`async`. Questo indica a Python che c'è l'opportunità di rilasciare il " "controllo quando il gestore di contesto viene inserito e abbandonato." -#: docs/en/tutorial/tutorial-8.md:290 +#: docs/en/tutorial/tutorial-8.md:296 msgid "" "The `get` call is made with an `await` keyword. This instructs the app that " "while we are waiting for the response from the network, the app can release " @@ -456,7 +466,7 @@ msgid "" "OK to release control back to the event loop." msgstr "" -#: docs/en/tutorial/tutorial-8.md:299 +#: docs/en/tutorial/tutorial-8.md:305 msgid "" "It's also important to note that the handler itself is defined as `async def`" ", rather than just `def`. This tells Python that the method is an " @@ -465,7 +475,7 @@ msgid "" "declared as `async def`." msgstr "" -#: docs/en/tutorial/tutorial-8.md:305 +#: docs/en/tutorial/tutorial-8.md:311 #, fuzzy msgid "" "Toga allows you to use regular methods or asynchronous coroutines as " @@ -476,7 +486,7 @@ msgstr "" "gestori; Toga gestisce tutto dietro le quinte per assicurarsi che il gestore " "sia invocato o atteso come richiesto." -#: docs/en/tutorial/tutorial-8.md:309 +#: docs/en/tutorial/tutorial-8.md:315 #, fuzzy msgid "" "If you save these changes and re-run the app in development mode, there " @@ -489,7 +499,7 @@ msgstr "" "nell'applicazione. Tuttavia, quando si fa clic sul pulsante per attivare la " "finestra di dialogo, si possono notare alcuni sottili miglioramenti:" -#: docs/en/tutorial/tutorial-8.md:314 +#: docs/en/tutorial/tutorial-8.md:320 #, fuzzy msgid "" "The button returns to an \"unclicked\" state, rather than being stuck in a " @@ -498,11 +508,11 @@ msgstr "" "Il pulsante torna a uno stato \"non cliccato\", anziché essere bloccato in " "uno stato \"cliccato\"." -#: docs/en/tutorial/tutorial-8.md:316 +#: docs/en/tutorial/tutorial-8.md:322 msgid "The \"beachball\"/\"spinner\" icon won't appear." msgstr "" -#: docs/en/tutorial/tutorial-8.md:317 +#: docs/en/tutorial/tutorial-8.md:323 #, fuzzy msgid "" "If you move/resize the app window while waiting for the dialog to appear, " @@ -511,14 +521,14 @@ msgstr "" "Se si sposta/ridimensiona la finestra dell'applicazione mentre si attende la " "visualizzazione della finestra di dialogo, la finestra verrà ridisegnata." -#: docs/en/tutorial/tutorial-8.md:319 +#: docs/en/tutorial/tutorial-8.md:325 #, fuzzy msgid "If you try to open an app menu, the menu will appear immediately." msgstr "" "Se si tenta di aprire il menu di un'applicazione, il menu viene visualizzato " "immediatamente." -#: docs/en/tutorial/tutorial-8.md:321 +#: docs/en/tutorial/tutorial-8.md:327 msgid "" "We can now run the full app. However, as we've added an extra requirement " "(`httpx`) we also need to update our app's requirements; we can do this by " @@ -526,65 +536,65 @@ msgid "" "then re-build the app, then launch the app:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:366 +#: docs/en/tutorial/tutorial-8.md:372 msgid "" "You should see you app running, and remaining responsive when you press the " "button and network content is retrieved." msgstr "" -#: docs/en/tutorial/tutorial-8.md:369 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Next steps" msgstr "Prossimi passi" -#: docs/en/tutorial/tutorial-8.md:371 +#: docs/en/tutorial/tutorial-8.md:377 msgid "" "This has been a taste for what you can do with the tools provided by the " "BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:374 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Created a new GUI app project;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:375 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Run that app in development mode;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:376 +#: docs/en/tutorial/tutorial-8.md:382 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:377 +#: docs/en/tutorial/tutorial-8.md:383 msgid "Packaged that project for distribution to others;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:378 +#: docs/en/tutorial/tutorial-8.md:384 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:379 +#: docs/en/tutorial/tutorial-8.md:385 msgid "Run the app as a web app;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:380 +#: docs/en/tutorial/tutorial-8.md:386 msgid "Added a third-party dependency to your app; and" msgstr "" -#: docs/en/tutorial/tutorial-8.md:381 +#: docs/en/tutorial/tutorial-8.md:387 msgid "Modified the app so that it remains responsive." msgstr "" -#: docs/en/tutorial/tutorial-8.md:383 +#: docs/en/tutorial/tutorial-8.md:389 msgid "So - where to from here?" msgstr "" -#: docs/en/tutorial/tutorial-8.md:385 +#: docs/en/tutorial/tutorial-8.md:391 msgid "" -"If you'd like to go further, there are some additional [topic tutorials]" -"[topics] that go into detail on specific aspects of application development." +"If you'd like to go further, there are some additional [topic tutorials]{1} " +"that go into detail on specific aspects of application development." msgstr "" -#: docs/en/tutorial/tutorial-8.md:388 +#: docs/en/tutorial/tutorial-8.md:394 msgid "" "If you'd like to know more about how to build complex user interfaces with " "Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " @@ -592,12 +602,8 @@ msgid "" "{2}." msgstr "" -#: docs/en/tutorial/tutorial-8.md:393 +#: docs/en/tutorial/tutorial-8.md:399 msgid "" "If you'd like to know more about the capabilities of Briefcase, you can dive " "into [Briefcase's documentation]{1}." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 8 - Making it Smooooth" -#~ msgstr "Esercitazione 8 - Renderlo liscio" diff --git a/locales/pt/LC_MESSAGES/SUMMARY.po b/locales/pt/LC_MESSAGES/SUMMARY.po index 974786d4..36984a9c 100644 --- a/locales/pt/LC_MESSAGES/SUMMARY.po +++ b/locales/pt/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/locales/pt/LC_MESSAGES/how-to/index.po index 6c4e3d63..9bd8df65 100644 --- a/locales/pt/LC_MESSAGES/how-to/index.po +++ b/locales/pt/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: pt \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/pt/LC_MESSAGES/index.po b/locales/pt/LC_MESSAGES/index.po index 5e44257a..9c8048b2 100644 --- a/locales/pt/LC_MESSAGES/index.po +++ b/locales/pt/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-03-01 19:00+0000\n" "Last-Translator: joaovitorpmoreira \n" "Language-Team: Portuguese \n" "Language-Team: pt \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/camera-access.md:1 -msgid "Using the camera { id=\"camera-access\" }" +msgid "Using the camera" msgstr "" #: docs/en/tutorial/topics/camera-access.md:3 diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po index 11ddfd00..f2236959 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:06+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Portuguese \n" "Language-Team: pt \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/index.md:1 -msgid "Going further { #topics }" +msgid "Going further" msgstr "" #: docs/en/tutorial/topics/index.md:3 @@ -24,7 +24,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:8 -msgid "[Customizing icons][custom-icons]" +msgid "[Customizing icons]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:10 @@ -34,7 +34,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:13 -msgid "[Using the camera][camera-access]" +msgid "[Using the camera]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:15 @@ -44,7 +44,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:18 -msgid "[Testing times][testing]" +msgid "[Testing times]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:20 diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po index ed884a2a..3b1988b1 100644 --- a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/pt/LC_MESSAGES/tutorial/topics/testing.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:07+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -104,18 +107,18 @@ msgstr "" "Se quiser entender melhor o motivo, o " "[Brett Cannon escreveu um post detalhado no blog dele]{1}." -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 msgid "Bootstrap a new project" msgstr "Iniciar um novo projeto" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 msgid "" "Briefcase will ask us for some details of our new application. For the " "purposes of this tutorial, use the following:" @@ -123,15 +126,15 @@ msgstr "" "O Briefcase solicitará alguns detalhes sobre nosso novo aplicativo. Para os " "propósitos deste tutorial, utilize o seguinte:" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Formal Name** - Aceite o valor padrão: `Hello World`." -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**App Name** - Aceite o valor padrão: `helloworld`." -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " @@ -144,11 +147,11 @@ msgstr "" "`com.cupcakes` como nome do bundle). Se você não possui seu próprio domínio, " "aceite o padrão (`com.example`)." -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Project Name** - Aceite o valor padrão: `Hello World`." -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 msgid "" "**Description** - Accept the default value (or, if you want to be really " "creative, come up with your own description!)" @@ -156,11 +159,11 @@ msgstr "" "**Description** - Aceite o valor padrão (ou, se quiser ser realmente " "criativo, crie sua própria descrição!)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 msgid "**Author** - Enter your own name here." msgstr "**Author** - Insira seu próprio nome." -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "" "**Author's Email** - Enter your own email address. This will be used in the " @@ -171,7 +174,7 @@ msgstr "" "no arquivo de configuração, em textos de ajuda e em qualquer lugar onde um e-" "mail seja necessário ao enviar o aplicativo para uma loja de aplicativos." -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 #, fuzzy msgid "" "**Application URL** - The URL of the landing page for your application. " @@ -187,7 +190,7 @@ msgstr "" "enquanto); ela será usada apenas se você publicar sua aplicação em uma loja " "de aplicativos." -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 #, fuzzy msgid "" "**Project License** - Accept the default license (BSD). This won't affect " @@ -199,7 +202,7 @@ msgstr "" "funcionamento do tutorial. Se você tem preferências particulares em relação " "à escolha de licença, sinta-se à vontade para escolher outra licença." -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " "toolkit)." @@ -207,7 +210,7 @@ msgstr "" "**GUI framework** - Aceite a opção padrão, Toga (a própria biblioteca de " "interface gráfica da BeeWare)." -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " "followed this tutorial so far, and accepted the defaults as described, your " @@ -217,7 +220,7 @@ msgstr "" "você seguiu este tutorial até agora e aceitou as configurações padrão como " "descrito, seu sistema de arquivos deve se parecer com algo assim:" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 msgid "" "This skeleton is actually a fully functioning application without adding " "anything else. The `src` folder contains all the code for the application, " @@ -233,7 +236,7 @@ msgstr "" "`pyproject.toml` em um editor, verá os detalhes de configuração que você " "acabou de fornecer ao Briefcase." -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 msgid "" "Now that we have a stub application, we can use Briefcase to run the " "application." @@ -241,11 +244,11 @@ msgstr "" "Agora que temos um aplicativo inicial, podemos usar o Briefcase para " "executar a aplicação." -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 msgid "Run the app in developer mode" msgstr "Inicie o app no modo de desenvolvedor" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " "project in Developer (or `dev`) mode:" @@ -253,43 +256,49 @@ msgstr "" "Vá para o diretório do projeto `helloworld` e peça ao Briefcase para iniciar " "o projeto no modo de Desenvolvedor (ou `dev`):" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 msgid "This should open a GUI window:" msgstr "Isso deve abrir uma janela GUI:" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 #, fuzzy msgid "" "Close the application - either by pressing the close button on the " @@ -302,21 +311,19 @@ msgstr "" "pronto! Parabéns - você acabou de criar um aplicativo autônomo e nativo em " "Python!" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "Próximos passos" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 +#, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. " "Podemos adicionar alguma lógica própria para tornar nosso aplicativo um " "pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma " "interface de usuário mais útil em nossa aplicação." - -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "Tutorial 1 - Seu primeiro app" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po index 17be875d..77324752 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-07 15:02+0000\n" "Last-Translator: joaovitorpmoreira \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese \n" "Language-Team: Portuguese =37\"`);" msgstr "Um intervalo de versões de biblioteca (por exemplo, `\"httpx>=0.19\"`);" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" @@ -393,7 +406,7 @@ msgstr "" "Um caminho para um repositório git (por exemplo, `" "\"git+https://github.com/encode/httpx\"`); ou" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 #, fuzzy msgid "" "A local file path (However - be warned: if you give your code to someone " @@ -403,7 +416,7 @@ msgstr "" "seu código a outra pessoa, esse caminho provavelmente não existirá no " "computador dela!)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -430,7 +443,7 @@ msgstr "" "bibliotecas necessárias para exibir uma interface de usuário são específicas " "da plataforma." -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -444,7 +457,7 @@ msgstr "" "as dependências específicas da plataforma são instaladas *além* das " "dependências no nível do aplicativo." -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -458,7 +471,7 @@ msgstr "" "novamente - desta vez, passando o sinalizador `-r`. Isso diz ao Briefcase " "para atualizar os requisitos no aplicativo empacotado:" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -467,11 +480,11 @@ msgstr "" "Depois de atualizar, você pode executar `briefcase build` e `briefcase run` " "e verá o aplicativo empacotado com o novo comportamento de diálogo." -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -482,11 +495,11 @@ msgstr "" "`build` e `run`, portanto, se quiser atualizar, compilar e executar em uma " "única etapa, você pode usar `briefcase run -u -r`." -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -496,7 +509,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -508,7 +521,7 @@ msgstr "" "pode ser adicionado aos seus requisitos. Em plataformas móveis e da Web, " "[suas opções são ligeiramente limitadas]{1}." -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -521,7 +534,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -535,7 +548,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -544,7 +557,7 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 #, fuzzy msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " @@ -556,16 +569,13 @@ msgstr "" "compilar pacotes para plataformas móveis, mas isso não é fácil de " "configurar, o que está fora do escopo de um tutorial introdutório como este." -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "Próximos passos" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "Tutorial 7 - Iniciando o uso de bibliotecas externas" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po index a0411042..cc440a11 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-02-13 12:07+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: Portuguese \n" "Language-Team: LANGUAGE \n" diff --git a/locales/templates/how-to/index.pot b/locales/templates/how-to/index.pot index 608c8bf5..e219ec0a 100644 --- a/locales/templates/how-to/index.pot +++ b/locales/templates/how-to/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -46,12 +46,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -70,27 +71,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -99,13 +103,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -114,13 +119,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -136,7 +142,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -201,45 +207,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -248,79 +254,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -328,20 +360,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -349,7 +381,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -359,17 +391,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/templates/index.pot b/locales/templates/index.pot index 66927d82..fe62f928 100644 --- a/locales/templates/index.pot +++ b/locales/templates/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/index.md:1 -msgid "Welcome to the BeeWare Tutorial! { id=tutorial }" +msgid "Welcome to the BeeWare Tutorial!" msgstr "" #: docs/en/index.md:3 @@ -30,7 +30,7 @@ msgid "" msgstr "" #: docs/en/index.md:11 -msgid "{% if config.extra.translation_type == original %}" +msgid "{% if config.extra.translation_type == \"original\" %}" msgstr "" #: docs/en/index.md:13 @@ -57,7 +57,7 @@ msgid "{% endif %}" msgstr "" #: docs/en/index.md:28 -msgid "{% if config.extra.translation_type == machine %}" +msgid "{% if config.extra.translation_type == \"machine\" %}" msgstr "" #: docs/en/index.md:30 @@ -80,7 +80,7 @@ msgid "" msgstr "" #: docs/en/index.md:44 -msgid "{% if config.extra.translation_type == human %}" +msgid "{% if config.extra.translation_type == \"human\" %}" msgstr "" #: docs/en/index.md:46 @@ -148,5 +148,5 @@ msgstr "" #: docs/en/index.md:86 msgid "" "Ready to try BeeWare for yourself? " -"[Let's build a cross-platform application in Python!][tutorial-0]" +"[Let's build a cross-platform application in Python!]{1}" msgstr "" diff --git a/locales/templates/tutorial/topics/camera-access.pot b/locales/templates/tutorial/topics/camera-access.pot index db239e91..63201694 100644 --- a/locales/templates/tutorial/topics/camera-access.pot +++ b/locales/templates/tutorial/topics/camera-access.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/camera-access.md:1 -msgid "Using the camera { id=\"camera-access\" }" +msgid "Using the camera" msgstr "" #: docs/en/tutorial/topics/camera-access.md:3 diff --git a/locales/templates/tutorial/topics/custom-icons.pot b/locales/templates/tutorial/topics/custom-icons.pot index 720483f1..a35fa01b 100644 --- a/locales/templates/tutorial/topics/custom-icons.pot +++ b/locales/templates/tutorial/topics/custom-icons.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/custom-icons.md:1 -msgid "Customizing icons { id=\"custom-icons\" }" +msgid "Customizing icons" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:3 @@ -60,8 +60,8 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:34 -#: docs/en/tutorial/topics/custom-icons.md:213 -#: docs/en/tutorial/topics/custom-icons.md:410 +#: docs/en/tutorial/topics/custom-icons.md:215 +#: docs/en/tutorial/topics/custom-icons.md:412 msgid "/// tab | macOS" msgstr "" @@ -70,42 +70,43 @@ msgstr "" #: docs/en/tutorial/topics/custom-icons.md:94 #: docs/en/tutorial/topics/custom-icons.md:132 #: docs/en/tutorial/topics/custom-icons.md:166 -#: docs/en/tutorial/topics/custom-icons.md:237 -#: docs/en/tutorial/topics/custom-icons.md:269 -#: docs/en/tutorial/topics/custom-icons.md:296 -#: docs/en/tutorial/topics/custom-icons.md:342 +#: docs/en/tutorial/topics/custom-icons.md:201 +#: docs/en/tutorial/topics/custom-icons.md:239 +#: docs/en/tutorial/topics/custom-icons.md:271 +#: docs/en/tutorial/topics/custom-icons.md:298 #: docs/en/tutorial/topics/custom-icons.md:344 -#: docs/en/tutorial/topics/custom-icons.md:380 -#: docs/en/tutorial/topics/custom-icons.md:389 -#: docs/en/tutorial/topics/custom-icons.md:425 -#: docs/en/tutorial/topics/custom-icons.md:442 -#: docs/en/tutorial/topics/custom-icons.md:459 -#: docs/en/tutorial/topics/custom-icons.md:475 -#: docs/en/tutorial/topics/custom-icons.md:491 +#: docs/en/tutorial/topics/custom-icons.md:346 +#: docs/en/tutorial/topics/custom-icons.md:382 +#: docs/en/tutorial/topics/custom-icons.md:391 +#: docs/en/tutorial/topics/custom-icons.md:427 +#: docs/en/tutorial/topics/custom-icons.md:444 +#: docs/en/tutorial/topics/custom-icons.md:461 +#: docs/en/tutorial/topics/custom-icons.md:477 +#: docs/en/tutorial/topics/custom-icons.md:493 msgid "///" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:53 -#: docs/en/tutorial/topics/custom-icons.md:239 -#: docs/en/tutorial/topics/custom-icons.md:427 +#: docs/en/tutorial/topics/custom-icons.md:241 +#: docs/en/tutorial/topics/custom-icons.md:429 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:77 -#: docs/en/tutorial/topics/custom-icons.md:271 -#: docs/en/tutorial/topics/custom-icons.md:444 +#: docs/en/tutorial/topics/custom-icons.md:273 +#: docs/en/tutorial/topics/custom-icons.md:446 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:96 -#: docs/en/tutorial/topics/custom-icons.md:298 -#: docs/en/tutorial/topics/custom-icons.md:461 +#: docs/en/tutorial/topics/custom-icons.md:300 +#: docs/en/tutorial/topics/custom-icons.md:463 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:134 -#: docs/en/tutorial/topics/custom-icons.md:346 -#: docs/en/tutorial/topics/custom-icons.md:477 +#: docs/en/tutorial/topics/custom-icons.md:348 +#: docs/en/tutorial/topics/custom-icons.md:479 msgid "/// tab | iOS" msgstr "" @@ -130,10 +131,14 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/custom-icons.md:197 -msgid "![Icon of green snake with a light blue background]{1} /// caption ///" +msgid "![Icon of green snake with a light blue background]{1}" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:201 +#: docs/en/tutorial/topics/custom-icons.md:199 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/topics/custom-icons.md:203 msgid "" "The only exception will be the icons with `-adaptive-` in their name; these " "will have a transparent background. This represents all the different icon " @@ -141,7 +146,7 @@ msgid "" "supports." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:206 +#: docs/en/tutorial/topics/custom-icons.md:208 msgid "" "Now that we have icons, we can update the application again. However, `" "briefcase update` will only copy the updated resources into the build " @@ -151,19 +156,19 @@ msgid "" "the app's resources, and then start the app:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:336 -#: docs/en/tutorial/topics/custom-icons.md:382 +#: docs/en/tutorial/topics/custom-icons.md:338 +#: docs/en/tutorial/topics/custom-icons.md:384 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:338 +#: docs/en/tutorial/topics/custom-icons.md:340 msgid "" "If you're using a recent version of Android, you may notice that the app " "icon has been changed to a green snake, but the background of the icon is " "*white*, rather than light blue. We'll fix this in the next step." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:384 +#: docs/en/tutorial/topics/custom-icons.md:386 msgid "" "If you get a stack trace referencing `faker` or `httpx` when you run the " "app, it's possible you missed running your app during step 7 or 8 of the " @@ -171,7 +176,7 @@ msgid "" "requirements." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:391 +#: docs/en/tutorial/topics/custom-icons.md:393 msgid "" "When you run the app on iOS or Android, in addition to the icon change, you " "should also notice that the splash screen incorporates the new icon. " @@ -181,7 +186,7 @@ msgid "" "definition to your `pyproject.toml`, just after the `icon` definition:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:403 +#: docs/en/tutorial/topics/custom-icons.md:405 msgid "" "Unfortunately, Briefcase isn't able to apply this change to an already " "generated project, as it requires making modifications to one of the files " @@ -191,14 +196,14 @@ msgid "" "existing project:" msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:494 +#: docs/en/tutorial/topics/custom-icons.md:496 msgid "" "You can then re-build and re-run the app using `briefcase run`. You won't " "notice any changes to the desktop app; but the Android or iOS apps should " "now have a light blue splash screen background." msgstr "" -#: docs/en/tutorial/topics/custom-icons.md:498 +#: docs/en/tutorial/topics/custom-icons.md:500 msgid "" "You'll need to re-create the app like this whenever you make a change to " "your `pyproject.toml` that doesn't relate to source code or dependencies. " diff --git a/locales/templates/tutorial/topics/index.pot b/locales/templates/tutorial/topics/index.pot index 07cb8cad..7904393d 100644 --- a/locales/templates/tutorial/topics/index.pot +++ b/locales/templates/tutorial/topics/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/index.md:1 -msgid "Going further { #topics }" +msgid "Going further" msgstr "" #: docs/en/tutorial/topics/index.md:3 @@ -25,7 +25,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:8 -msgid "[Customizing icons][custom-icons]" +msgid "[Customizing icons]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:10 @@ -35,7 +35,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:13 -msgid "[Using the camera][camera-access]" +msgid "[Using the camera]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:15 @@ -45,7 +45,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:18 -msgid "[Testing times][testing]" +msgid "[Testing times]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:20 diff --git a/locales/templates/tutorial/topics/testing.pot b/locales/templates/tutorial/topics/testing.pot index 15554a56..7f6feedc 100644 --- a/locales/templates/tutorial/topics/testing.pot +++ b/locales/templates/tutorial/topics/testing.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/testing.md:1 -msgid "Testing times { id=\"testing\" }" +msgid "Testing times" msgstr "" #: docs/en/tutorial/topics/testing.md:3 diff --git a/locales/templates/tutorial/tutorial-0.pot b/locales/templates/tutorial/tutorial-0.pot index 4fed6284..6ec004e6 100644 --- a/locales/templates/tutorial/tutorial-0.pot +++ b/locales/templates/tutorial/tutorial-0.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-0.md:1 -msgid "Tutorial 0 - Let's get set up! { id=\"tutorial-0\" }" +msgid "Tutorial 0 - Let's get set up!" msgstr "" #: docs/en/tutorial/tutorial-0.md:3 @@ -23,7 +23,7 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-0.md:6 -msgid "Install Python" +msgid "Install Python { id=\"install-python\" }" msgstr "" #: docs/en/tutorial/tutorial-0.md:8 @@ -31,8 +31,8 @@ msgid "The first thing we'll need is a working Python interpreter." msgstr "" #: docs/en/tutorial/tutorial-0.md:10 -#: docs/en/tutorial/tutorial-0.md:88 -#: docs/en/tutorial/tutorial-0.md:158 +#: docs/en/tutorial/tutorial-0.md:87 +#: docs/en/tutorial/tutorial-0.md:156 msgid "/// tab | macOS" msgstr "" @@ -46,7 +46,7 @@ msgstr "" #: docs/en/tutorial/tutorial-0.md:18 msgid "" -"You can also install Python through [homebrew]{1}, use [pyenv]{2} to manage " +"You can also install Python through [Homebrew]{1}, use [pyenv]{2} to manage " "multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " "matter *how* you've installed Python - it only matters that you can run " "`python3` from your terminal and get a working, supported Python interpreter." @@ -73,20 +73,20 @@ msgstr "" #: docs/en/tutorial/tutorial-0.md:42 #: docs/en/tutorial/tutorial-0.md:62 #: docs/en/tutorial/tutorial-0.md:80 -#: docs/en/tutorial/tutorial-0.md:98 -#: docs/en/tutorial/tutorial-0.md:131 -#: docs/en/tutorial/tutorial-0.md:144 -#: docs/en/tutorial/tutorial-0.md:167 -#: docs/en/tutorial/tutorial-0.md:178 +#: docs/en/tutorial/tutorial-0.md:97 +#: docs/en/tutorial/tutorial-0.md:130 +#: docs/en/tutorial/tutorial-0.md:143 +#: docs/en/tutorial/tutorial-0.md:165 +#: docs/en/tutorial/tutorial-0.md:176 +#: docs/en/tutorial/tutorial-0.md:209 #: docs/en/tutorial/tutorial-0.md:211 -#: docs/en/tutorial/tutorial-0.md:213 -#: docs/en/tutorial/tutorial-0.md:231 +#: docs/en/tutorial/tutorial-0.md:229 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-0.md:44 -#: docs/en/tutorial/tutorial-0.md:100 -#: docs/en/tutorial/tutorial-0.md:169 +#: docs/en/tutorial/tutorial-0.md:99 +#: docs/en/tutorial/tutorial-0.md:167 msgid "/// tab | Linux" msgstr "" @@ -116,8 +116,8 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-0.md:64 -#: docs/en/tutorial/tutorial-0.md:133 -#: docs/en/tutorial/tutorial-0.md:180 +#: docs/en/tutorial/tutorial-0.md:132 +#: docs/en/tutorial/tutorial-0.md:178 msgid "/// tab | Windows" msgstr "" @@ -141,20 +141,20 @@ msgid "" "working, supported Python interpreter." msgstr "" -#: docs/en/tutorial/tutorial-0.md:83 -msgid "Install dependencies" +#: docs/en/tutorial/tutorial-0.md:82 +msgid "Install dependencies { id=\"install-dependencies\" }" msgstr "" -#: docs/en/tutorial/tutorial-0.md:85 +#: docs/en/tutorial/tutorial-0.md:84 msgid "" "Next, install the additional dependencies needed for your operating system:" msgstr "" -#: docs/en/tutorial/tutorial-0.md:90 +#: docs/en/tutorial/tutorial-0.md:89 msgid "Building BeeWare apps on macOS requires:" msgstr "" -#: docs/en/tutorial/tutorial-0.md:92 +#: docs/en/tutorial/tutorial-0.md:91 msgid "" "**Git**, a version control system. This is included with Xcode or the " "command line developer tools, which you installed above. You may need to " @@ -163,50 +163,50 @@ msgid "" "restart your terminal session." msgstr "" -#: docs/en/tutorial/tutorial-0.md:102 +#: docs/en/tutorial/tutorial-0.md:101 msgid "" "To support local development, you'll need to install some system packages. " "The list of packages required varies depending on your distribution:" msgstr "" -#: docs/en/tutorial/tutorial-0.md:106 +#: docs/en/tutorial/tutorial-0.md:105 msgid "**Ubuntu / Debian**" msgstr "" -#: docs/en/tutorial/tutorial-0.md:113 +#: docs/en/tutorial/tutorial-0.md:112 msgid "**Fedora**" msgstr "" -#: docs/en/tutorial/tutorial-0.md:119 +#: docs/en/tutorial/tutorial-0.md:118 msgid "**Arch / Manjaro**" msgstr "" -#: docs/en/tutorial/tutorial-0.md:125 +#: docs/en/tutorial/tutorial-0.md:124 msgid "**OpenSUSE Tumbleweed**" msgstr "" -#: docs/en/tutorial/tutorial-0.md:135 +#: docs/en/tutorial/tutorial-0.md:134 msgid "Building BeeWare apps on Windows requires:" msgstr "" -#: docs/en/tutorial/tutorial-0.md:137 +#: docs/en/tutorial/tutorial-0.md:136 msgid "" -"**Git**, a version control system. You can download Git from from " -"[git-scm.com]{1}." +"**Git**, a version control system. You can download Git from from {1}[git-" +"scm.com]{2}." msgstr "" -#: docs/en/tutorial/tutorial-0.md:140 +#: docs/en/tutorial/tutorial-0.md:139 msgid "" "After installing these tools, you should ensure you restart any terminal " "sessions. Windows will only expose newly installed tools terminals started " "*after* the install has completed." msgstr "" -#: docs/en/tutorial/tutorial-0.md:147 +#: docs/en/tutorial/tutorial-0.md:145 msgid "Set up a virtual environment" msgstr "" -#: docs/en/tutorial/tutorial-0.md:149 +#: docs/en/tutorial/tutorial-0.md:147 msgid "" "We're now going to create a virtual environment - a \"sandbox\" that we can " "use to isolate our work on this tutorial from our main Python installation. " @@ -217,44 +217,44 @@ msgid "" "project on our computer, and without the need to re-install Python." msgstr "" -#: docs/en/tutorial/tutorial-0.md:189 +#: docs/en/tutorial/tutorial-0.md:187 msgid "" "If you're not using Python 3.12, replace the `-3.12` in these instructions " "with the version number that you are using." msgstr "" -#: docs/en/tutorial/tutorial-0.md:192 +#: docs/en/tutorial/tutorial-0.md:190 msgid "/// admonition | Errors running PowerShell Scripts" msgstr "" -#: docs/en/tutorial/tutorial-0.md:194 +#: docs/en/tutorial/tutorial-0.md:192 msgid "If you're using PowerShell, and you receive the error:" msgstr "" -#: docs/en/tutorial/tutorial-0.md:200 +#: docs/en/tutorial/tutorial-0.md:198 msgid "" "Your Windows account doesn't have permissions to run scripts. To fix this:" msgstr "" -#: docs/en/tutorial/tutorial-0.md:203 +#: docs/en/tutorial/tutorial-0.md:201 msgid "Run [Windows PowerShell as Administrator]{1}." msgstr "" -#: docs/en/tutorial/tutorial-0.md:204 +#: docs/en/tutorial/tutorial-0.md:202 msgid "Run `set-executionpolicy RemoteSigned`" msgstr "" -#: docs/en/tutorial/tutorial-0.md:205 +#: docs/en/tutorial/tutorial-0.md:203 msgid "Select `Y` to change the execution policy." msgstr "" -#: docs/en/tutorial/tutorial-0.md:207 +#: docs/en/tutorial/tutorial-0.md:205 msgid "" "Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " "your original PowerShell session (or a new session in the same directory)." msgstr "" -#: docs/en/tutorial/tutorial-0.md:215 +#: docs/en/tutorial/tutorial-0.md:213 msgid "" "If this worked, your prompt should now be changed - it should have a " "`(beeware-venv)` prefix. This lets you know that you're currently in your " @@ -263,11 +263,11 @@ msgid "" "the last command (the `activate` command) to re-activate your environment." msgstr "" -#: docs/en/tutorial/tutorial-0.md:222 +#: docs/en/tutorial/tutorial-0.md:220 msgid "/// admonition | Alternative virtual environments" msgstr "" -#: docs/en/tutorial/tutorial-0.md:224 +#: docs/en/tutorial/tutorial-0.md:222 msgid "" "If you're using Anaconda or miniconda, you may be more familiar with using " "conda environments. You might also have heard of `virtualenv`, a predecessor " @@ -277,12 +277,12 @@ msgid "" "to `venv` and the system Python." msgstr "" -#: docs/en/tutorial/tutorial-0.md:233 +#: docs/en/tutorial/tutorial-0.md:231 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-0.md:235 +#: docs/en/tutorial/tutorial-0.md:233 msgid "" "We've now set up our environment. We're ready to " -"[create our first BeeWare application][tutorial-1]." +"[create our first BeeWare application]{1}." msgstr "" diff --git a/locales/templates/tutorial/tutorial-1.pot b/locales/templates/tutorial/tutorial-1.pot index 406e73fb..ed68e304 100644 --- a/locales/templates/tutorial/tutorial-1.pot +++ b/locales/templates/tutorial/tutorial-1.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-1.md:1 -msgid "Tutorial 1 - Your first app { id=\"tutorial-1\" }" +msgid "Tutorial 1 - Your first app" msgstr "" #: docs/en/tutorial/tutorial-1.md:3 @@ -29,63 +29,65 @@ msgid "" "First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " "can be used to package your application for distribution to end users - but " "it can also be used to bootstrap a new project. Make sure you're in the " -"`beeware-tutorial` directory you created in [Tutorial 0][tutorial-0], with " -"the `beeware-venv` virtual environment activated, and run:" +"`beeware-tutorial` directory you created in [Tutorial 0], with the `beeware-" +"venv` virtual environment activated, and run:" msgstr "" #: docs/en/tutorial/tutorial-1.md:14 -#: docs/en/tutorial/tutorial-1.md:63 -#: docs/en/tutorial/tutorial-1.md:157 -#: docs/en/tutorial/tutorial-1.md:205 +#: docs/en/tutorial/tutorial-1.md:62 +#: docs/en/tutorial/tutorial-1.md:156 +#: docs/en/tutorial/tutorial-1.md:204 msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-1.md:20 -#: docs/en/tutorial/tutorial-1.md:35 -#: docs/en/tutorial/tutorial-1.md:37 -#: docs/en/tutorial/tutorial-1.md:53 -#: docs/en/tutorial/tutorial-1.md:55 -#: docs/en/tutorial/tutorial-1.md:69 -#: docs/en/tutorial/tutorial-1.md:77 -#: docs/en/tutorial/tutorial-1.md:85 -#: docs/en/tutorial/tutorial-1.md:170 -#: docs/en/tutorial/tutorial-1.md:185 -#: docs/en/tutorial/tutorial-1.md:200 -#: docs/en/tutorial/tutorial-1.md:211 -#: docs/en/tutorial/tutorial-1.md:219 -#: docs/en/tutorial/tutorial-1.md:244 -#: docs/en/tutorial/tutorial-1.md:246 +#: docs/en/tutorial/tutorial-1.md:34 +#: docs/en/tutorial/tutorial-1.md:36 +#: docs/en/tutorial/tutorial-1.md:52 +#: docs/en/tutorial/tutorial-1.md:54 +#: docs/en/tutorial/tutorial-1.md:68 +#: docs/en/tutorial/tutorial-1.md:76 +#: docs/en/tutorial/tutorial-1.md:84 +#: docs/en/tutorial/tutorial-1.md:169 +#: docs/en/tutorial/tutorial-1.md:184 +#: docs/en/tutorial/tutorial-1.md:199 +#: docs/en/tutorial/tutorial-1.md:210 +#: docs/en/tutorial/tutorial-1.md:212 +#: docs/en/tutorial/tutorial-1.md:220 +#: docs/en/tutorial/tutorial-1.md:222 +#: docs/en/tutorial/tutorial-1.md:230 +#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:250 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-1.md:22 -#: docs/en/tutorial/tutorial-1.md:71 -#: docs/en/tutorial/tutorial-1.md:172 -#: docs/en/tutorial/tutorial-1.md:213 +#: docs/en/tutorial/tutorial-1.md:70 +#: docs/en/tutorial/tutorial-1.md:171 +#: docs/en/tutorial/tutorial-1.md:214 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-1.md:28 -#: docs/en/tutorial/tutorial-1.md:45 +#: docs/en/tutorial/tutorial-1.md:44 msgid "/// admonition | Possible errors during installation" msgstr "" #: docs/en/tutorial/tutorial-1.md:30 msgid "" "If you see errors during installation, it's almost certainly because some of " -"the system requirements haven't been installed. Make sure you have `" -"installed all the platform pre-requisites `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -93,32 +95,32 @@ msgid "" "to know more, [Brett Cannon has a detailed blog post about the issue]{1}." msgstr "" -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 msgid "Bootstrap a new project" msgstr "" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 msgid "" "Briefcase will ask us for some details of our new application. For the " "purposes of this tutorial, use the following:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "" -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "" -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " "reversed order. (For example, if you own the domain \"cupcakes.com\", enter " @@ -126,28 +128,28 @@ msgid "" "default bundle (`com.example`)." msgstr "" -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "" -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 msgid "" "**Description** - Accept the default value (or, if you want to be really " "creative, come up with your own description!)" msgstr "" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 msgid "**Author** - Enter your own name here." msgstr "" -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 msgid "" "**Author's Email** - Enter your own email address. This will be used in the " "configuration file, in help text, and anywhere that an email is required " "when submitting the app to an app store." msgstr "" -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 msgid "" "**Application URL** - The URL of the landing page for your application. " "Again, if you own your own domain, enter a URL at that domain (including the " @@ -156,7 +158,7 @@ msgid "" "only be used if you publish your application to an app store." msgstr "" -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 msgid "" "**Project License** - Accept the default license (BSD). This won't affect " "anything about the operation of the tutorial, though - so if you have " @@ -164,20 +166,20 @@ msgid "" "another license." msgstr "" -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " "toolkit)." msgstr "" -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " "followed this tutorial so far, and accepted the defaults as described, your " "file system should look something like:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 msgid "" "This skeleton is actually a fully functioning application without adding " "anything else. The `src` folder contains all the code for the application, " @@ -187,59 +189,65 @@ msgid "" "provided to Briefcase." msgstr "" -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 msgid "" "Now that we have a stub application, we can use Briefcase to run the " "application." msgstr "" -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 msgid "Run the app in developer mode" msgstr "" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " "project in Developer (or `dev`) mode:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 msgid "This should open a GUI window:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 msgid "" "Close the application - either by pressing the close button on the " "application window, by selecting Quit/Exit from the application's menu, or " @@ -248,14 +256,14 @@ msgid "" "application in Python!" msgstr "" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" diff --git a/locales/templates/tutorial/tutorial-2.pot b/locales/templates/tutorial/tutorial-2.pot index 595547bc..104364d0 100644 --- a/locales/templates/tutorial/tutorial-2.pot +++ b/locales/templates/tutorial/tutorial-2.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,14 +13,14 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-2.md:1 -msgid "Tutorial 2 - Making it interesting { id=\"tutorial-2\" }" +msgid "Tutorial 2 - Making it interesting" msgstr "" #: docs/en/tutorial/tutorial-2.md:3 msgid "" -"In [Tutorial 1][tutorial-1], we generated a stub project that was able to " -"run, but we didn't write any code ourselves. Let's take a look at what was " -"generated for us." +"In [Tutorial 1]{1}, we generated a stub project that was able to run, but we " +"didn't write any code ourselves. Let's take a look at what was generated for " +"us." msgstr "" #: docs/en/tutorial/tutorial-2.md:7 @@ -142,8 +142,11 @@ msgstr "" #: docs/en/tutorial/tutorial-2.md:313 #: docs/en/tutorial/tutorial-2.md:324 #: docs/en/tutorial/tutorial-2.md:340 -#: docs/en/tutorial/tutorial-2.md:348 -#: docs/en/tutorial/tutorial-2.md:356 +#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:352 +#: docs/en/tutorial/tutorial-2.md:360 +#: docs/en/tutorial/tutorial-2.md:362 msgid "///" msgstr "" @@ -300,12 +303,12 @@ msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-2.md:304 -#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:344 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-2.md:315 -#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:354 msgid "/// tab | Windows" msgstr "" @@ -323,24 +326,30 @@ msgid "This should open a GUI window:" msgstr "" #: docs/en/tutorial/tutorial-2.md:336 -msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 2 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:344 -msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:338 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:358 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-2.md:352 -msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:346 +msgid "![Hello World Tutorial 2 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:358 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "![Hello World Tutorial 2 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:364 msgid "" "If you enter a name in the text box, and press the GUI button, you should " "see output appear in the console where you started the application." msgstr "" -#: docs/en/tutorial/tutorial-2.md:362 +#: docs/en/tutorial/tutorial-2.md:368 msgid "" "Before continuing, close the app. As with Tutorial 1, you can do this by " "pressing the close button on the application window, by selecting Quit/Exit " @@ -348,15 +357,15 @@ msgid "" "you ran `briefcase dev`." msgstr "" -#: docs/en/tutorial/tutorial-2.md:367 +#: docs/en/tutorial/tutorial-2.md:373 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-2.md:369 +#: docs/en/tutorial/tutorial-2.md:375 msgid "" "We've now got an application that does something a little more interesting. " "But it only runs on our own computer. Let's package this application for " -"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " -"a standalone installer that we could send to a friend, a customer, or upload " +"distribution. In [Tutorial 3]{1}, we'll wrap our application up as a " +"standalone installer that we could send to a friend, a customer, or upload " "to an App Store." msgstr "" diff --git a/locales/templates/tutorial/tutorial-3.pot b/locales/templates/tutorial/tutorial-3.pot index 151857a0..96c222b6 100644 --- a/locales/templates/tutorial/tutorial-3.pot +++ b/locales/templates/tutorial/tutorial-3.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-3.md:1 -msgid "Tutorial 3 - Packaging for distribution { id=\"tutorial-3\" }" +msgid "Tutorial 3 - Packaging for distribution" msgstr "" #: docs/en/tutorial/tutorial-3.md:3 @@ -298,7 +298,7 @@ msgstr "" #: docs/en/tutorial/tutorial-3.md:410 msgid "" "The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " -"locate this file in the Finder, and double click on its icon, you'll mount " +"locate this file in the Finder, and double-click on its icon, you'll mount " "the DMG, giving you a copy of the Hello World app, and a link to your " "Applications folder for easy installation. Drag the app file into " "Applications, and you've installed your application. Send the DMG file to a " @@ -431,6 +431,6 @@ msgstr "" msgid "" "We now have our application packaged for distribution on desktop platforms. " "But what happens when we need to update the code in our application? How do " -"we get those updates into our packaged application? Turn to [Tutorial 4]" -"[tutorial-4] to find out..." +"we get those updates into our packaged application? Turn to [Tutorial 4]{1} " +"to find out..." msgstr "" diff --git a/locales/templates/tutorial/tutorial-4.pot b/locales/templates/tutorial/tutorial-4.pot index eead72f5..c85e7879 100644 --- a/locales/templates/tutorial/tutorial-4.pot +++ b/locales/templates/tutorial/tutorial-4.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-4.md:1 -msgid "Tutorial 4 - Updating your application { id=\"tutorial-4\" }" +msgid "Tutorial 4 - Updating your application" msgstr "" #: docs/en/tutorial/tutorial-4.md:3 @@ -50,8 +50,7 @@ msgstr "" msgid "" "We need to make the method `async` so that when we display the dialog, the " "rest of the application continues to run. Don't worry about this detail too " -"much right now -we'll give a more detailed explanation in [Tutorial 8]" -"[tutorial-8]." +"much right now -we'll give a more detailed explanation in [Tutorial 8]{1}." msgstr "" #: docs/en/tutorial/tutorial-4.md:36 @@ -66,52 +65,61 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-4.md:41 -#: docs/en/tutorial/tutorial-4.md:81 -#: docs/en/tutorial/tutorial-4.md:194 +#: docs/en/tutorial/tutorial-4.md:87 +#: docs/en/tutorial/tutorial-4.md:200 msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-4.md:43 -msgid "![Hello World Tutorial 4 dialog, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 4 dialog, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-4.md:47 +#: docs/en/tutorial/tutorial-4.md:45 #: docs/en/tutorial/tutorial-4.md:55 -#: docs/en/tutorial/tutorial-4.md:63 -#: docs/en/tutorial/tutorial-4.md:95 -#: docs/en/tutorial/tutorial-4.md:118 -#: docs/en/tutorial/tutorial-4.md:134 -#: docs/en/tutorial/tutorial-4.md:215 -#: docs/en/tutorial/tutorial-4.md:244 -#: docs/en/tutorial/tutorial-4.md:262 -msgid "///" +#: docs/en/tutorial/tutorial-4.md:65 +msgid "/// caption" msgstr "" +#: docs/en/tutorial/tutorial-4.md:47 #: docs/en/tutorial/tutorial-4.md:49 -#: docs/en/tutorial/tutorial-4.md:97 -#: docs/en/tutorial/tutorial-4.md:217 -msgid "/// tab | Linux" +#: docs/en/tutorial/tutorial-4.md:57 +#: docs/en/tutorial/tutorial-4.md:59 +#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:69 +#: docs/en/tutorial/tutorial-4.md:101 +#: docs/en/tutorial/tutorial-4.md:124 +#: docs/en/tutorial/tutorial-4.md:140 +#: docs/en/tutorial/tutorial-4.md:221 +#: docs/en/tutorial/tutorial-4.md:250 +#: docs/en/tutorial/tutorial-4.md:268 +msgid "///" msgstr "" #: docs/en/tutorial/tutorial-4.md:51 -msgid "![Hello World Tutorial 4 dialog, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-4.md:103 +#: docs/en/tutorial/tutorial-4.md:223 +msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-4.md:57 -#: docs/en/tutorial/tutorial-4.md:120 -#: docs/en/tutorial/tutorial-4.md:246 +#: docs/en/tutorial/tutorial-4.md:53 +msgid "![Hello World Tutorial 4 dialog, on Linux]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-4.md:61 +#: docs/en/tutorial/tutorial-4.md:126 +#: docs/en/tutorial/tutorial-4.md:252 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-4.md:59 -msgid "![Hello World Tutorial 4 dialog, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-4.md:63 +msgid "![Hello World Tutorial 4 dialog, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-4.md:65 +#: docs/en/tutorial/tutorial-4.md:71 msgid "However, if you run `briefcase run`, the dialog box won't appear." msgstr "" -#: docs/en/tutorial/tutorial-4.md:67 +#: docs/en/tutorial/tutorial-4.md:73 msgid "" "Why is this? Well, `briefcase dev` operates by running your code in place -" "it tries to produce as realistic runtime environment for your code as " @@ -121,7 +129,7 @@ msgid "" "the moment, your application still has the old code in it." msgstr "" -#: docs/en/tutorial/tutorial-4.md:75 +#: docs/en/tutorial/tutorial-4.md:81 msgid "" "So - we need to tell briefcase to update your app, copying in the new " "version of the code. We *could* do this by deleting the old platform " @@ -129,32 +137,32 @@ msgid "" "way - you can update the code for your existing bundled application:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:136 +#: docs/en/tutorial/tutorial-4.md:142 msgid "" "If Briefcase can't find the scaffolded template, it will automatically " "invoke `create` to generate a fresh scaffold." msgstr "" -#: docs/en/tutorial/tutorial-4.md:139 +#: docs/en/tutorial/tutorial-4.md:145 msgid "" "Now that we've updated the installer code, we can then run `briefcase build` " "to re-compile the app, `briefcase run` to run the updated app, and `" "briefcase package` to repackage the application for distribution." msgstr "" -#: docs/en/tutorial/tutorial-4.md:144 +#: docs/en/tutorial/tutorial-4.md:150 msgid "" -"(macOS users, remember that as noted in [Tutorial 3][tutorial-3], for the " -"tutorial we recommend running `briefcase package` with the `--adhoc-sign` " -"flag to avoid the complexity of setting up a code signing identity and keep " -"the tutorial as simple as possible.)" +"(macOS users, remember that as noted in [Tutorial 3]{1}, for the tutorial we " +"recommend running `briefcase package` with the `--adhoc-sign` flag to avoid " +"the complexity of setting up a code signing identity and keep the tutorial " +"as simple as possible.)" msgstr "" -#: docs/en/tutorial/tutorial-4.md:149 +#: docs/en/tutorial/tutorial-4.md:155 msgid "Update and run in one step" msgstr "" -#: docs/en/tutorial/tutorial-4.md:151 +#: docs/en/tutorial/tutorial-4.md:157 msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " "change, update the application, and immediately re-run your application. For " @@ -167,50 +175,50 @@ msgid "" "pattern - the `-u` (or `--update`) option on the `run` command." msgstr "" -#: docs/en/tutorial/tutorial-4.md:162 +#: docs/en/tutorial/tutorial-4.md:168 msgid "" "Let's try making another change. You may have noticed that if you don't type " "a name in the text input box, the dialog will say \"Hello, \". Let's modify " "the `say_hello` function again to handle this edge case." msgstr "" -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:172 msgid "" "At the top of the file, between the imports and the `class HelloWorld` " "definition, add a utility method to generate an appropriate greeting " "depending on the value of the name that has been provided:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:178 +#: docs/en/tutorial/tutorial-4.md:184 msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:190 +#: docs/en/tutorial/tutorial-4.md:196 msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " "new logic works; then update, build and run the app with one command:" msgstr "" -#: docs/en/tutorial/tutorial-4.md:264 +#: docs/en/tutorial/tutorial-4.md:270 msgid "" "The package command also accepts the `-u` argument, so if you make a change " "to your application code and want to repackage immediately, you can run `" "briefcase package -u`." msgstr "" -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:274 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-4.md:270 +#: docs/en/tutorial/tutorial-4.md:276 msgid "" "We now have our application packaged for distribution on desktop platforms, " "and we've been able to update the code in our application." msgstr "" -#: docs/en/tutorial/tutorial-4.md:273 +#: docs/en/tutorial/tutorial-4.md:279 msgid "" -"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " -"application into a mobile application, and deploy it onto a device " -"simulator, and onto a phone." +"But what about mobile? In [Tutorial 5]{1}, we'll convert our application " +"into a mobile application, and deploy it onto a device simulator, and onto a " +"phone." msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/android.pot b/locales/templates/tutorial/tutorial-5/android.pot index d45ff9d6..8d8504c1 100644 --- a/locales/templates/tutorial/tutorial-5/android.pot +++ b/locales/templates/tutorial/tutorial-5/android.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/android.md:1 -msgid "Tutorial 5 - Taking it mobile: Android { id=\"mobile-android\" }" +msgid "Tutorial 5 - Taking it mobile: Android" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:3 @@ -43,7 +43,7 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:16 #: docs/en/tutorial/tutorial-5/android.md:121 #: docs/en/tutorial/tutorial-5/android.md:204 -#: docs/en/tutorial/tutorial-5/android.md:336 +#: docs/en/tutorial/tutorial-5/android.md:340 msgid "/// tab | macOS" msgstr "" @@ -57,29 +57,29 @@ msgstr "" #: docs/en/tutorial/tutorial-5/android.md:216 #: docs/en/tutorial/tutorial-5/android.md:230 #: docs/en/tutorial/tutorial-5/android.md:244 -#: docs/en/tutorial/tutorial-5/android.md:258 -#: docs/en/tutorial/tutorial-5/android.md:268 -#: docs/en/tutorial/tutorial-5/android.md:278 -#: docs/en/tutorial/tutorial-5/android.md:290 -#: docs/en/tutorial/tutorial-5/android.md:301 -#: docs/en/tutorial/tutorial-5/android.md:350 -#: docs/en/tutorial/tutorial-5/android.md:366 -#: docs/en/tutorial/tutorial-5/android.md:382 -#: docs/en/tutorial/tutorial-5/android.md:402 +#: docs/en/tutorial/tutorial-5/android.md:259 +#: docs/en/tutorial/tutorial-5/android.md:270 +#: docs/en/tutorial/tutorial-5/android.md:281 +#: docs/en/tutorial/tutorial-5/android.md:293 +#: docs/en/tutorial/tutorial-5/android.md:305 +#: docs/en/tutorial/tutorial-5/android.md:354 +#: docs/en/tutorial/tutorial-5/android.md:370 +#: docs/en/tutorial/tutorial-5/android.md:386 +#: docs/en/tutorial/tutorial-5/android.md:406 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:45 #: docs/en/tutorial/tutorial-5/android.md:141 #: docs/en/tutorial/tutorial-5/android.md:218 -#: docs/en/tutorial/tutorial-5/android.md:352 +#: docs/en/tutorial/tutorial-5/android.md:356 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:74 #: docs/en/tutorial/tutorial-5/android.md:161 #: docs/en/tutorial/tutorial-5/android.md:232 -#: docs/en/tutorial/tutorial-5/android.md:368 +#: docs/en/tutorial/tutorial-5/android.md:372 msgid "/// tab | Windows" msgstr "" @@ -155,47 +155,52 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-5/android.md:253 -msgid "![Android virtual device booting]{1} /// caption" +msgid "![Android virtual device booting]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:256 +#: docs/en/tutorial/tutorial-5/android.md:255 +#: docs/en/tutorial/tutorial-5/android.md:266 +#: docs/en/tutorial/tutorial-5/android.md:277 +#: docs/en/tutorial/tutorial-5/android.md:301 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/android.md:257 msgid "Android virtual device booting" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:260 +#: docs/en/tutorial/tutorial-5/android.md:261 msgid "" "Once the device has finished booting, Briefcase will install your app on the " "device. You will briefly see a launcher screen:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:263 -msgid "" -"![Android virtual device fully started, on the launcher screen]{1} /// " -"caption" +#: docs/en/tutorial/tutorial-5/android.md:264 +msgid "![Android virtual device fully started, on the launcher screen]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:266 +#: docs/en/tutorial/tutorial-5/android.md:268 msgid "Android virtual device fully started, on the launcher screen" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:270 +#: docs/en/tutorial/tutorial-5/android.md:272 msgid "" "The app will then start. You'll see a splash screen while the app starts up:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:273 -msgid "![App splash screen]{1} /// caption" +#: docs/en/tutorial/tutorial-5/android.md:275 +msgid "![App splash screen]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:276 +#: docs/en/tutorial/tutorial-5/android.md:279 msgid "App splash screen" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:280 +#: docs/en/tutorial/tutorial-5/android.md:283 msgid "/// admonition | The emulator didn't start!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:282 +#: docs/en/tutorial/tutorial-5/android.md:285 msgid "" "The Android emulator is a complex piece of software that relies on a number " "of hardware and operating system features - features that may not be " @@ -204,28 +209,28 @@ msgid "" "{1} section of the Android developer documentation." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:292 +#: docs/en/tutorial/tutorial-5/android.md:295 msgid "" "The first time the app starts, it needs to unpack itself onto the device. " "This may take a few seconds. Once it's unpacked, you'll see the Android " "version of our desktop app:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:296 -msgid "![Demo app fully launched]{1} /// caption" +#: docs/en/tutorial/tutorial-5/android.md:299 +msgid "![Demo app fully launched]{1}" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:299 +#: docs/en/tutorial/tutorial-5/android.md:303 msgid "Demo app fully launched" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:303 +#: docs/en/tutorial/tutorial-5/android.md:307 msgid "" "If you fail to see your app launching, you may need to check your terminal " "where you ran `briefcase run` and look for any error messages." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:306 +#: docs/en/tutorial/tutorial-5/android.md:310 msgid "" "While the app is running, you'll see a lot of messages being streamed in the " "console. This is a stream of the application's logs from the emulator. " @@ -234,51 +239,51 @@ msgid "" "changes without restarting the emulator." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:312 +#: docs/en/tutorial/tutorial-5/android.md:316 msgid "" "In future, if you want to run on this device without using the menu, you can " "provide the emulator's name to Briefcase, using `briefcase run android -d " "\"@beePhone\"` to run on the virtual device directly." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:317 +#: docs/en/tutorial/tutorial-5/android.md:321 msgid "Run the app on a physical device" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:319 +#: docs/en/tutorial/tutorial-5/android.md:323 msgid "" "If you have a physical Android phone or tablet, you can connect it to your " "computer with a USB cable, and then use the Briefcase to target your " "physical device." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:323 +#: docs/en/tutorial/tutorial-5/android.md:327 msgid "" "Android requires that you prepare your device before it can be used for " "development. You will need to make 2 changes to the options on your device:" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:327 +#: docs/en/tutorial/tutorial-5/android.md:331 msgid "Enable developer options" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:328 +#: docs/en/tutorial/tutorial-5/android.md:332 msgid "Enable USB debugging" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:330 +#: docs/en/tutorial/tutorial-5/android.md:334 msgid "" "Details on how to make these changes can be found " "[in the Android developer documentation]{1}." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:333 +#: docs/en/tutorial/tutorial-5/android.md:337 msgid "" "Once these steps have been completed, your device should appear in the list " "of available devices when you run `briefcase run android`." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:384 +#: docs/en/tutorial/tutorial-5/android.md:388 msgid "" "Here we can see a new physical device with it's serial number on the " "deployment list - in this case, a Pixel 3a. In the future, if you want to " @@ -287,17 +292,17 @@ msgid "" "94ZZY0LNE8`). This will run on the device directly, without prompting." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:391 +#: docs/en/tutorial/tutorial-5/android.md:395 msgid "/// admonition | My device doesn't appear!" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:393 +#: docs/en/tutorial/tutorial-5/android.md:397 msgid "" "If your device doesn't appear on this list at all, either you haven't " "enabled USB debugging, (or the device isn't plugged in!)." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:396 +#: docs/en/tutorial/tutorial-5/android.md:400 msgid "" "If your device appears, but is listed as " "\"Unknown device (not authorized for development)\", developer mode hasn't " @@ -305,12 +310,12 @@ msgid "" "and re-run `briefcase run android`." msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:404 +#: docs/en/tutorial/tutorial-5/android.md:408 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-5/android.md:406 +#: docs/en/tutorial/tutorial-5/android.md:410 msgid "" "We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/iOS.pot b/locales/templates/tutorial/tutorial-5/iOS.pot index 43246080..8c85890e 100644 --- a/locales/templates/tutorial/tutorial-5/iOS.pot +++ b/locales/templates/tutorial/tutorial-5/iOS.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/iOS.md:1 -msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" +msgid "Tutorial 5 - Taking it mobile: iOS" msgstr "" #: docs/en/tutorial/tutorial-5/iOS.md:3 @@ -73,6 +73,14 @@ msgid "![Hello World Tutorial 5 window, on iOS]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:124 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:126 msgid "" "While the app is running, you'll see a series of Simulator log output " "messages in the console. Typing Ctrl+C into the terminal will halt the " @@ -80,7 +88,7 @@ msgid "" "can test new changes without restarting the simulator." msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:127 +#: docs/en/tutorial/tutorial-5/iOS.md:131 msgid "" "If you know ahead of time which iOS simulator you want to target, you can " "tell Briefcase to use that simulator by providing a `-d` (or `--device`) " @@ -88,23 +96,23 @@ msgid "" "application, run:" msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:136 +#: docs/en/tutorial/tutorial-5/iOS.md:140 msgid "" "If you have multiple iOS versions available, Briefcase will pick the highest " "iOS version; if you want to pick a particular iOS version, you tell it to " "use that specific version:" msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:144 +#: docs/en/tutorial/tutorial-5/iOS.md:148 msgid "Or, you can name a specific device UDID:" msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:150 +#: docs/en/tutorial/tutorial-5/iOS.md:154 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:152 +#: docs/en/tutorial/tutorial-5/iOS.md:156 msgid "" "We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/index.pot b/locales/templates/tutorial/tutorial-5/index.pot index 64c11240..603e4eef 100644 --- a/locales/templates/tutorial/tutorial-5/index.pot +++ b/locales/templates/tutorial/tutorial-5/index.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/index.md:1 -msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" +msgid "Tutorial 5 - Taking it Mobile" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:3 @@ -24,7 +24,7 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:7 -msgid "[Android][mobile-android]" +msgid "[Android]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:9 @@ -32,7 +32,7 @@ msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "" #: docs/en/tutorial/tutorial-5/index.md:11 -msgid "[iOS][mobile-ios]" +msgid "[iOS]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:13 diff --git a/locales/templates/tutorial/tutorial-6.pot b/locales/templates/tutorial/tutorial-6.pot index a4a5cf59..a6ce09ec 100644 --- a/locales/templates/tutorial/tutorial-6.pot +++ b/locales/templates/tutorial/tutorial-6.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-6.md:1 -msgid "Tutorial 6 - Put it on the web! { id=\"tutorial-6\" }" +msgid "Tutorial 6 - Put it on the web!" msgstr "" #: docs/en/tutorial/tutorial-6.md:3 @@ -122,5 +122,5 @@ msgid "" "Although we've now deployed this app on desktop, mobile and the web, the app " "is fairly simple, and doesn't involve any third-party libraries. Can we " "include libraries from the Python Package Index (PyPI) in our app? Turn to " -"[Tutorial 7][tutorial-7] to find out..." +"[Tutorial 7]{1} to find out..." msgstr "" diff --git a/locales/templates/tutorial/tutorial-7.pot b/locales/templates/tutorial/tutorial-7.pot index 5e11b6ce..7c38af8a 100644 --- a/locales/templates/tutorial/tutorial-7.pot +++ b/locales/templates/tutorial/tutorial-7.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-7.md:1 -msgid "Tutorial 7 - Get this (third-)party started { id=\"tutorial-7\" }" +msgid "Tutorial 7 - Get this (third-)party started" msgstr "" #: docs/en/tutorial/tutorial-7.md:3 @@ -65,8 +65,8 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:46 #: docs/en/tutorial/tutorial-7.md:130 -#: docs/en/tutorial/tutorial-7.md:201 -#: docs/en/tutorial/tutorial-7.md:545 +#: docs/en/tutorial/tutorial-7.md:207 +#: docs/en/tutorial/tutorial-7.md:555 msgid "/// tab | macOS" msgstr "" @@ -76,61 +76,66 @@ msgstr "" #: docs/en/tutorial/tutorial-7.md:117 #: docs/en/tutorial/tutorial-7.md:124 #: docs/en/tutorial/tutorial-7.md:144 -#: docs/en/tutorial/tutorial-7.md:160 -#: docs/en/tutorial/tutorial-7.md:176 -#: docs/en/tutorial/tutorial-7.md:183 -#: docs/en/tutorial/tutorial-7.md:190 -#: docs/en/tutorial/tutorial-7.md:239 -#: docs/en/tutorial/tutorial-7.md:294 -#: docs/en/tutorial/tutorial-7.md:334 -#: docs/en/tutorial/tutorial-7.md:409 -#: docs/en/tutorial/tutorial-7.md:457 -#: docs/en/tutorial/tutorial-7.md:566 -#: docs/en/tutorial/tutorial-7.md:595 -#: docs/en/tutorial/tutorial-7.md:618 -#: docs/en/tutorial/tutorial-7.md:637 -#: docs/en/tutorial/tutorial-7.md:661 -#: docs/en/tutorial/tutorial-7.md:672 +#: docs/en/tutorial/tutorial-7.md:146 +#: docs/en/tutorial/tutorial-7.md:162 +#: docs/en/tutorial/tutorial-7.md:164 +#: docs/en/tutorial/tutorial-7.md:180 +#: docs/en/tutorial/tutorial-7.md:182 +#: docs/en/tutorial/tutorial-7.md:189 +#: docs/en/tutorial/tutorial-7.md:196 +#: docs/en/tutorial/tutorial-7.md:245 +#: docs/en/tutorial/tutorial-7.md:247 +#: docs/en/tutorial/tutorial-7.md:302 +#: docs/en/tutorial/tutorial-7.md:342 +#: docs/en/tutorial/tutorial-7.md:344 +#: docs/en/tutorial/tutorial-7.md:419 +#: docs/en/tutorial/tutorial-7.md:467 +#: docs/en/tutorial/tutorial-7.md:576 +#: docs/en/tutorial/tutorial-7.md:605 +#: docs/en/tutorial/tutorial-7.md:628 +#: docs/en/tutorial/tutorial-7.md:647 +#: docs/en/tutorial/tutorial-7.md:671 +#: docs/en/tutorial/tutorial-7.md:682 msgid "///" msgstr "" #: docs/en/tutorial/tutorial-7.md:68 -#: docs/en/tutorial/tutorial-7.md:146 -#: docs/en/tutorial/tutorial-7.md:241 -#: docs/en/tutorial/tutorial-7.md:568 +#: docs/en/tutorial/tutorial-7.md:148 +#: docs/en/tutorial/tutorial-7.md:249 +#: docs/en/tutorial/tutorial-7.md:578 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-7.md:90 -#: docs/en/tutorial/tutorial-7.md:162 -#: docs/en/tutorial/tutorial-7.md:296 -#: docs/en/tutorial/tutorial-7.md:597 +#: docs/en/tutorial/tutorial-7.md:166 +#: docs/en/tutorial/tutorial-7.md:304 +#: docs/en/tutorial/tutorial-7.md:607 msgid "/// tab | Windows" msgstr "" #: docs/en/tutorial/tutorial-7.md:112 -#: docs/en/tutorial/tutorial-7.md:178 -#: docs/en/tutorial/tutorial-7.md:336 -#: docs/en/tutorial/tutorial-7.md:620 +#: docs/en/tutorial/tutorial-7.md:184 +#: docs/en/tutorial/tutorial-7.md:346 +#: docs/en/tutorial/tutorial-7.md:630 msgid "/// tab | Android" msgstr "" #: docs/en/tutorial/tutorial-7.md:114 -#: docs/en/tutorial/tutorial-7.md:180 +#: docs/en/tutorial/tutorial-7.md:186 msgid "" "You can't run an Android app in developer mode - use the instructions for " "your chosen desktop platform." msgstr "" #: docs/en/tutorial/tutorial-7.md:119 -#: docs/en/tutorial/tutorial-7.md:185 -#: docs/en/tutorial/tutorial-7.md:411 -#: docs/en/tutorial/tutorial-7.md:639 +#: docs/en/tutorial/tutorial-7.md:191 +#: docs/en/tutorial/tutorial-7.md:421 +#: docs/en/tutorial/tutorial-7.md:649 msgid "/// tab | iOS" msgstr "" #: docs/en/tutorial/tutorial-7.md:121 -#: docs/en/tutorial/tutorial-7.md:187 +#: docs/en/tutorial/tutorial-7.md:193 msgid "" "You can't run an iOS app in developer mode - use the instructions for your " "chosen desktop platform." @@ -144,100 +149,108 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-7.md:137 -#: docs/en/tutorial/tutorial-7.md:153 -#: docs/en/tutorial/tutorial-7.md:169 +#: docs/en/tutorial/tutorial-7.md:155 +#: docs/en/tutorial/tutorial-7.md:173 msgid "" "When you enter a name and press the button, you should see a dialog that " "looks something like:" msgstr "" #: docs/en/tutorial/tutorial-7.md:140 -msgid "![Hello World Tutorial 7 dialog, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 7 dialog, on macOS]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-7.md:142 +#: docs/en/tutorial/tutorial-7.md:160 +#: docs/en/tutorial/tutorial-7.md:178 +#: docs/en/tutorial/tutorial-7.md:243 +#: docs/en/tutorial/tutorial-7.md:340 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-7.md:156 -msgid "![Hello World Tutorial 7 dialog, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:158 +msgid "![Hello World Tutorial 7 dialog, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:172 -msgid "![Hello World Tutorial 7 dialog, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:176 +msgid "![Hello World Tutorial 7 dialog, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:192 +#: docs/en/tutorial/tutorial-7.md:198 msgid "" "We've now got a working app, using a third party library, running in " "development mode!" msgstr "" -#: docs/en/tutorial/tutorial-7.md:195 +#: docs/en/tutorial/tutorial-7.md:201 msgid "Running the updated app" msgstr "" -#: docs/en/tutorial/tutorial-7.md:197 +#: docs/en/tutorial/tutorial-7.md:203 msgid "" "Let's get this updated application code packaged as a standalone app. Since " "we've made code changes, we need to follow the same steps as in [Tutorial 4]" -"[tutorial-4]:" +"{1}:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:203 -#: docs/en/tutorial/tutorial-7.md:243 -#: docs/en/tutorial/tutorial-7.md:298 -#: docs/en/tutorial/tutorial-7.md:338 -#: docs/en/tutorial/tutorial-7.md:413 +#: docs/en/tutorial/tutorial-7.md:209 +#: docs/en/tutorial/tutorial-7.md:251 +#: docs/en/tutorial/tutorial-7.md:306 +#: docs/en/tutorial/tutorial-7.md:348 +#: docs/en/tutorial/tutorial-7.md:423 msgid "Update the code in the packaged app:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:214 -#: docs/en/tutorial/tutorial-7.md:254 -#: docs/en/tutorial/tutorial-7.md:309 -#: docs/en/tutorial/tutorial-7.md:349 -#: docs/en/tutorial/tutorial-7.md:424 +#: docs/en/tutorial/tutorial-7.md:220 +#: docs/en/tutorial/tutorial-7.md:262 +#: docs/en/tutorial/tutorial-7.md:317 +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 msgid "Rebuild the app:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:223 -#: docs/en/tutorial/tutorial-7.md:268 -#: docs/en/tutorial/tutorial-7.md:318 +#: docs/en/tutorial/tutorial-7.md:229 +#: docs/en/tutorial/tutorial-7.md:276 +#: docs/en/tutorial/tutorial-7.md:326 msgid "And finally, run the app:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:232 -#: docs/en/tutorial/tutorial-7.md:327 +#: docs/en/tutorial/tutorial-7.md:238 +#: docs/en/tutorial/tutorial-7.md:335 msgid "" "However, when the app runs, you'll see an error in the console, plus a crash " "dialog:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:235 -msgid "![Hello World Tutorial 7 app crash, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:241 +msgid "![Hello World Tutorial 7 app crash, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:277 -#: docs/en/tutorial/tutorial-7.md:368 +#: docs/en/tutorial/tutorial-7.md:285 +#: docs/en/tutorial/tutorial-7.md:378 msgid "However, when the app runs, you'll see an error in the console:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:330 -msgid "![Hello World Tutorial 7 app crash, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:338 +msgid "![Hello World Tutorial 7 app crash, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:359 -#: docs/en/tutorial/tutorial-7.md:434 +#: docs/en/tutorial/tutorial-7.md:369 +#: docs/en/tutorial/tutorial-7.md:444 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: docs/en/tutorial/tutorial-7.md:444 +#: docs/en/tutorial/tutorial-7.md:454 msgid "However, when the app runs, you'll see an error in the console" msgstr "" -#: docs/en/tutorial/tutorial-7.md:459 +#: docs/en/tutorial/tutorial-7.md:469 msgid "" "Once again, the app has failed to start because `faker` has not been " "installed -but why? Haven't we already installed `faker`?" msgstr "" -#: docs/en/tutorial/tutorial-7.md:462 +#: docs/en/tutorial/tutorial-7.md:472 msgid "" "We have - but only in the development environment. Your development " "environment is entirely local to your machine - and is only enabled when you " @@ -246,7 +259,7 @@ msgid "" "someone else." msgstr "" -#: docs/en/tutorial/tutorial-7.md:468 +#: docs/en/tutorial/tutorial-7.md:478 msgid "" "The only way to guarantee that someone else will have a Python environment " "that contains everything it needs is to build a completely isolated Python " @@ -257,66 +270,66 @@ msgid "" "*development* environment, but not in the packaged app." msgstr "" -#: docs/en/tutorial/tutorial-7.md:477 +#: docs/en/tutorial/tutorial-7.md:487 msgid "So - we need to tell Briefcase that our app has an external dependency." msgstr "" -#: docs/en/tutorial/tutorial-7.md:479 +#: docs/en/tutorial/tutorial-7.md:489 msgid "Updating dependencies" msgstr "" -#: docs/en/tutorial/tutorial-7.md:481 +#: docs/en/tutorial/tutorial-7.md:491 msgid "" "In the root directory of your app, there is a file named `pyproject.toml`. " "This file contains all the app configuration details that you provided when " "you originally ran `briefcase new`." msgstr "" -#: docs/en/tutorial/tutorial-7.md:485 +#: docs/en/tutorial/tutorial-7.md:495 msgid "" "`pyproject.toml` is broken up into sections; one of the sections describes " "the settings for your app:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:498 +#: docs/en/tutorial/tutorial-7.md:508 msgid "" "The `requires` option describes the dependencies of our application. It is a " "list of strings, specifying libraries (and, optionally, versions) of " "libraries that you want to be included with your app." msgstr "" -#: docs/en/tutorial/tutorial-7.md:502 +#: docs/en/tutorial/tutorial-7.md:512 msgid "Modify the `requires` setting so that it reads:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:510 +#: docs/en/tutorial/tutorial-7.md:520 msgid "" "By adding this setting, we're telling Briefcase \"when you build my app, run " "`pip install faker` into the application bundle\". Anything that would be " "legal input to `pip install` can be used here - so, you could specify:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:515 +#: docs/en/tutorial/tutorial-7.md:525 msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "" -#: docs/en/tutorial/tutorial-7.md:516 +#: docs/en/tutorial/tutorial-7.md:526 msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" "`); or" msgstr "" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 msgid "" "A local file path (However - be warned: if you give your code to someone " "else, this path probably won't exist on their machine!)" msgstr "" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " "operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " @@ -330,7 +343,7 @@ msgid "" "libraries needed to display a user interface are platform specific." msgstr "" -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " "app-level `requires` setting. The app-level dependencies will always be " @@ -338,7 +351,7 @@ msgid "" "the app-level ones." msgstr "" -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 msgid "" "Now that we've told Briefcase about our additional requirements, we can try " "packaging our app again. Ensure that you've saved your changes to " @@ -346,28 +359,28 @@ msgid "" "`-r` flag. This tells Briefcase to update requirements in the packaged app:" msgstr "" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " "you should see your packaged app, with the new dialog behavior." msgstr "" -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 msgid "" "The `-r` option for updating requirements is also honored by the `build` and " "`run` command, so if you want to update, build, and run in one step, you " "could use `briefcase run -u -r`." msgstr "" -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -377,7 +390,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " "PyPI package can be installed into your virtual environment, or added to " @@ -385,7 +398,7 @@ msgid "" "platforms, [your options are slightly limited]{1}." msgstr "" -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -398,7 +411,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -412,7 +425,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -421,20 +434,20 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " "it's not easy to set up -- well outside the scope of an introductory " "tutorial like this one." msgstr "" -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" diff --git a/locales/templates/tutorial/tutorial-8.pot b/locales/templates/tutorial/tutorial-8.pot index dc212d3b..72dc8149 100644 --- a/locales/templates/tutorial/tutorial-8.pot +++ b/locales/templates/tutorial/tutorial-8.pot @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -13,7 +13,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-8.md:1 -msgid "Tutorial 8 - Making it Smooooth { id=\"tutorial-8\" }" +msgid "Tutorial 8 - Making it Smooooth" msgstr "" #: docs/en/tutorial/tutorial-8.md:3 @@ -71,9 +71,9 @@ msgid "" "As a result, people have developed third-party libraries that wrap the built-" "in APIs and provide a simpler API that is a closer match for the everyday " "browser experience. We're going to use one of those libraries to access the " -"{JSON} Placeholder API - a library called [httpx]{1}. Briefcase uses `httpx` " -"internally, so it's already in your local environment -you don't need to " -"install it separately to use it here." +"{JSON} Placeholder API - a library called [`httpx`]{1}. Briefcase uses " +"`httpx` internally, so it's already in your local environment -you don't " +"need to install it separately to use it here." msgstr "" #: docs/en/tutorial/tutorial-8.md:49 @@ -122,76 +122,85 @@ msgid "" msgstr "" #: docs/en/tutorial/tutorial-8.md:96 -#: docs/en/tutorial/tutorial-8.md:326 +#: docs/en/tutorial/tutorial-8.md:332 msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-8.md:107 -#: docs/en/tutorial/tutorial-8.md:127 -#: docs/en/tutorial/tutorial-8.md:147 +#: docs/en/tutorial/tutorial-8.md:129 +#: docs/en/tutorial/tutorial-8.md:151 msgid "" "When you enter a name and press the button, you should see a dialog that " "looks something like:" msgstr "" #: docs/en/tutorial/tutorial-8.md:110 -msgid "![Hello World Tutorial 8 dialog, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 8 dialog, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-8.md:114 +#: docs/en/tutorial/tutorial-8.md:112 #: docs/en/tutorial/tutorial-8.md:134 -#: docs/en/tutorial/tutorial-8.md:154 -#: docs/en/tutorial/tutorial-8.md:161 -#: docs/en/tutorial/tutorial-8.md:168 -#: docs/en/tutorial/tutorial-8.md:332 -#: docs/en/tutorial/tutorial-8.md:340 -#: docs/en/tutorial/tutorial-8.md:348 -#: docs/en/tutorial/tutorial-8.md:356 -#: docs/en/tutorial/tutorial-8.md:364 -msgid "///" +#: docs/en/tutorial/tutorial-8.md:156 +msgid "/// caption" msgstr "" +#: docs/en/tutorial/tutorial-8.md:114 #: docs/en/tutorial/tutorial-8.md:116 -#: docs/en/tutorial/tutorial-8.md:334 +#: docs/en/tutorial/tutorial-8.md:136 +#: docs/en/tutorial/tutorial-8.md:138 +#: docs/en/tutorial/tutorial-8.md:158 +#: docs/en/tutorial/tutorial-8.md:160 +#: docs/en/tutorial/tutorial-8.md:167 +#: docs/en/tutorial/tutorial-8.md:174 +#: docs/en/tutorial/tutorial-8.md:338 +#: docs/en/tutorial/tutorial-8.md:346 +#: docs/en/tutorial/tutorial-8.md:354 +#: docs/en/tutorial/tutorial-8.md:362 +#: docs/en/tutorial/tutorial-8.md:370 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-8.md:118 +#: docs/en/tutorial/tutorial-8.md:340 msgid "/// tab | Linux" msgstr "" -#: docs/en/tutorial/tutorial-8.md:130 -msgid "![Hello World Tutorial 8 dialog, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-8.md:132 +msgid "![Hello World Tutorial 8 dialog, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-8.md:136 -#: docs/en/tutorial/tutorial-8.md:342 +#: docs/en/tutorial/tutorial-8.md:140 +#: docs/en/tutorial/tutorial-8.md:348 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-8.md:150 -msgid "![Hello World Tutorial 8 dialog, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-8.md:154 +msgid "![Hello World Tutorial 8 dialog, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-8.md:156 -#: docs/en/tutorial/tutorial-8.md:350 +#: docs/en/tutorial/tutorial-8.md:162 +#: docs/en/tutorial/tutorial-8.md:356 msgid "/// tab | Android" msgstr "" -#: docs/en/tutorial/tutorial-8.md:158 +#: docs/en/tutorial/tutorial-8.md:164 msgid "" "You can't run an Android app in developer mode - use the instructions for " "your chosen desktop platform." msgstr "" -#: docs/en/tutorial/tutorial-8.md:163 -#: docs/en/tutorial/tutorial-8.md:358 +#: docs/en/tutorial/tutorial-8.md:169 +#: docs/en/tutorial/tutorial-8.md:364 msgid "/// tab | iOS" msgstr "" -#: docs/en/tutorial/tutorial-8.md:165 +#: docs/en/tutorial/tutorial-8.md:171 msgid "" "You can't run an iOS app in developer mode - use the instructions for your " "chosen desktop platform." msgstr "" -#: docs/en/tutorial/tutorial-8.md:170 +#: docs/en/tutorial/tutorial-8.md:176 msgid "" "Unless you've got a *really* fast internet connection, you may notice that " "when you press the button, the GUI for your app locks up for a little bit. " @@ -199,7 +208,7 @@ msgid "" "\"spinner\" cursor to indicate that the app is being unresponsive." msgstr "" -#: docs/en/tutorial/tutorial-8.md:176 +#: docs/en/tutorial/tutorial-8.md:182 msgid "" "This is because the web request we have made is *synchronous*. When our " "application makes the web request, it waits for the API to return a response " @@ -207,11 +216,11 @@ msgid "" "to redraw - and as a result, the application locks up." msgstr "" -#: docs/en/tutorial/tutorial-8.md:181 +#: docs/en/tutorial/tutorial-8.md:187 msgid "GUI Event Loops" msgstr "" -#: docs/en/tutorial/tutorial-8.md:183 +#: docs/en/tutorial/tutorial-8.md:189 msgid "" "To understand why this happens, we need to dig into the details of how a GUI " "application works. The specifics vary depending on the platform; but the " @@ -219,17 +228,17 @@ msgid "" "you're using." msgstr "" -#: docs/en/tutorial/tutorial-8.md:188 +#: docs/en/tutorial/tutorial-8.md:194 msgid "A GUI app is, fundamentally, a single loop that looks something like:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:196 +#: docs/en/tutorial/tutorial-8.md:202 msgid "" "This loop is called the *Event Loop*. (These aren't actual method names - " "it's an illustration of what is going on using \"pseudo-code\")." msgstr "" -#: docs/en/tutorial/tutorial-8.md:199 +#: docs/en/tutorial/tutorial-8.md:205 msgid "" "When you click on a button, or drag a scroll bar, or type a key, you are " "generating an \"event\". That \"event\" is put onto a queue, and the app " @@ -239,7 +248,7 @@ msgid "" "call." msgstr "" -#: docs/en/tutorial/tutorial-8.md:206 +#: docs/en/tutorial/tutorial-8.md:212 msgid "" "Once an app has processed all the available events, it will `redraw()` the " "GUI. This takes into account any changes that the events have caused to the " @@ -249,13 +258,13 @@ msgid "" "the portion of the window that is currently visible." msgstr "" -#: docs/en/tutorial/tutorial-8.md:213 +#: docs/en/tutorial/tutorial-8.md:219 msgid "" "The important detail to notice: while an application is processing an event, " "*it can't redraw*, and *it can't process other events*." msgstr "" -#: docs/en/tutorial/tutorial-8.md:216 +#: docs/en/tutorial/tutorial-8.md:222 msgid "" "This means any user logic contained in an event handler needs to complete " "quickly. Any delay in completing the event handler will be observed by the " @@ -265,7 +274,7 @@ msgid "" "app is taking too long in an event handler." msgstr "" -#: docs/en/tutorial/tutorial-8.md:224 +#: docs/en/tutorial/tutorial-8.md:230 msgid "" "Simple operations like \"update a label\", or " "\"recompute the total of the inputs\" are easy to complete quickly. However, " @@ -275,15 +284,15 @@ msgid "" "\"just do it quickly\" - the operations are inherently slow." msgstr "" -#: docs/en/tutorial/tutorial-8.md:231 +#: docs/en/tutorial/tutorial-8.md:237 msgid "So - how do we perform long-lived operations in a GUI application?" msgstr "" -#: docs/en/tutorial/tutorial-8.md:233 +#: docs/en/tutorial/tutorial-8.md:239 msgid "Asynchronous programming" msgstr "" -#: docs/en/tutorial/tutorial-8.md:235 +#: docs/en/tutorial/tutorial-8.md:241 msgid "" "What we need is a way to tell an app in the middle of a long-lived event " "handler that it is OK to temporarily release control back to the event loop, " @@ -293,7 +302,7 @@ msgid "" "responsive UI." msgstr "" -#: docs/en/tutorial/tutorial-8.md:242 +#: docs/en/tutorial/tutorial-8.md:248 msgid "" "We can do this by using *asynchronous programming*. Asynchronous programming " "is a way to describe a program that allows the interpreter to run multiple " @@ -301,14 +310,14 @@ msgid "" "running functions." msgstr "" -#: docs/en/tutorial/tutorial-8.md:247 +#: docs/en/tutorial/tutorial-8.md:253 msgid "" "Asynchronous functions (known as *coroutines*) need to be explicitly " "declared as being asynchronous. They also need to internally declare when an " "opportunity exists to change context to another coroutine." msgstr "" -#: docs/en/tutorial/tutorial-8.md:251 +#: docs/en/tutorial/tutorial-8.md:257 msgid "" "In Python, asynchronous programming is implemented using the `async` and " "`await` keywords, and the [asyncio]{1} module in the standard library. The " @@ -318,36 +327,36 @@ msgid "" "provides some other useful tools and primitives for asynchronous coding." msgstr "" -#: docs/en/tutorial/tutorial-8.md:261 +#: docs/en/tutorial/tutorial-8.md:267 msgid "Making the tutorial asynchronous" msgstr "" -#: docs/en/tutorial/tutorial-8.md:263 +#: docs/en/tutorial/tutorial-8.md:269 msgid "" "To make our tutorial asynchronous, modify the `say_hello()` event handler so " "it looks like this:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:282 +#: docs/en/tutorial/tutorial-8.md:288 msgid "" "There are only three changes to this callback from the previous version:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:284 +#: docs/en/tutorial/tutorial-8.md:290 msgid "" "The client that is created is an asynchronous `AsyncClient()`, rather than a " "synchronous `Client()`. This tells `httpx` that it should operate in " "asynchronous mode, rather than synchronous mode." msgstr "" -#: docs/en/tutorial/tutorial-8.md:287 +#: docs/en/tutorial/tutorial-8.md:293 msgid "" "The context manager used to create the client is marked as `async`. This " "tells Python that there is an opportunity to release control as the context " "manager is entered and exited." msgstr "" -#: docs/en/tutorial/tutorial-8.md:290 +#: docs/en/tutorial/tutorial-8.md:296 msgid "" "The `get` call is made with an `await` keyword. This instructs the app that " "while we are waiting for the response from the network, the app can release " @@ -358,7 +367,7 @@ msgid "" "OK to release control back to the event loop." msgstr "" -#: docs/en/tutorial/tutorial-8.md:299 +#: docs/en/tutorial/tutorial-8.md:305 msgid "" "It's also important to note that the handler itself is defined as `async def`" ", rather than just `def`. This tells Python that the method is an " @@ -367,41 +376,41 @@ msgid "" "declared as `async def`." msgstr "" -#: docs/en/tutorial/tutorial-8.md:305 +#: docs/en/tutorial/tutorial-8.md:311 msgid "" "Toga allows you to use regular methods or asynchronous coroutines as " "handlers; Toga manages everything behind the scenes to make sure the handler " "is invoked or awaited as required." msgstr "" -#: docs/en/tutorial/tutorial-8.md:309 +#: docs/en/tutorial/tutorial-8.md:315 msgid "" "If you save these changes and re-run the app in development mode, there " "won't be any obvious changes to the app. However, when you click on the " "button to trigger the dialog, you may notice a number of subtle improvements:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:314 +#: docs/en/tutorial/tutorial-8.md:320 msgid "" "The button returns to an \"unclicked\" state, rather than being stuck in a " "\"clicked\" state." msgstr "" -#: docs/en/tutorial/tutorial-8.md:316 +#: docs/en/tutorial/tutorial-8.md:322 msgid "The \"beachball\"/\"spinner\" icon won't appear." msgstr "" -#: docs/en/tutorial/tutorial-8.md:317 +#: docs/en/tutorial/tutorial-8.md:323 msgid "" "If you move/resize the app window while waiting for the dialog to appear, " "the window will redraw." msgstr "" -#: docs/en/tutorial/tutorial-8.md:319 +#: docs/en/tutorial/tutorial-8.md:325 msgid "If you try to open an app menu, the menu will appear immediately." msgstr "" -#: docs/en/tutorial/tutorial-8.md:321 +#: docs/en/tutorial/tutorial-8.md:327 msgid "" "We can now run the full app. However, as we've added an extra requirement " "(`httpx`) we also need to update our app's requirements; we can do this by " @@ -409,65 +418,65 @@ msgid "" "then re-build the app, then launch the app:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:366 +#: docs/en/tutorial/tutorial-8.md:372 msgid "" "You should see you app running, and remaining responsive when you press the " "button and network content is retrieved." msgstr "" -#: docs/en/tutorial/tutorial-8.md:369 +#: docs/en/tutorial/tutorial-8.md:375 msgid "Next steps" msgstr "" -#: docs/en/tutorial/tutorial-8.md:371 +#: docs/en/tutorial/tutorial-8.md:377 msgid "" "This has been a taste for what you can do with the tools provided by the " "BeeWare project. Over the course of this tutorial, you have:" msgstr "" -#: docs/en/tutorial/tutorial-8.md:374 +#: docs/en/tutorial/tutorial-8.md:380 msgid "Created a new GUI app project;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:375 +#: docs/en/tutorial/tutorial-8.md:381 msgid "Run that app in development mode;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:376 +#: docs/en/tutorial/tutorial-8.md:382 msgid "Built the app as a standalone binary for a desktop operating system;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:377 +#: docs/en/tutorial/tutorial-8.md:383 msgid "Packaged that project for distribution to others;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:378 +#: docs/en/tutorial/tutorial-8.md:384 msgid "Run the app on a mobile simulator and/or device;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:379 +#: docs/en/tutorial/tutorial-8.md:385 msgid "Run the app as a web app;" msgstr "" -#: docs/en/tutorial/tutorial-8.md:380 +#: docs/en/tutorial/tutorial-8.md:386 msgid "Added a third-party dependency to your app; and" msgstr "" -#: docs/en/tutorial/tutorial-8.md:381 +#: docs/en/tutorial/tutorial-8.md:387 msgid "Modified the app so that it remains responsive." msgstr "" -#: docs/en/tutorial/tutorial-8.md:383 +#: docs/en/tutorial/tutorial-8.md:389 msgid "So - where to from here?" msgstr "" -#: docs/en/tutorial/tutorial-8.md:385 +#: docs/en/tutorial/tutorial-8.md:391 msgid "" -"If you'd like to go further, there are some additional [topic tutorials]" -"[topics] that go into detail on specific aspects of application development." +"If you'd like to go further, there are some additional [topic tutorials]{1} " +"that go into detail on specific aspects of application development." msgstr "" -#: docs/en/tutorial/tutorial-8.md:388 +#: docs/en/tutorial/tutorial-8.md:394 msgid "" "If you'd like to know more about how to build complex user interfaces with " "Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " @@ -475,7 +484,7 @@ msgid "" "{2}." msgstr "" -#: docs/en/tutorial/tutorial-8.md:393 +#: docs/en/tutorial/tutorial-8.md:399 msgid "" "If you'd like to know more about the capabilities of Briefcase, you can dive " "into [Briefcase's documentation]{1}." diff --git a/locales/zh_CN/LC_MESSAGES/SUMMARY.po b/locales/zh_CN/LC_MESSAGES/SUMMARY.po index 974786d4..36984a9c 100644 --- a/locales/zh_CN/LC_MESSAGES/SUMMARY.po +++ b/locales/zh_CN/LC_MESSAGES/SUMMARY.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/locales/zh_CN/LC_MESSAGES/how-to/index.po index 50422d7d..a49473d4 100644 --- a/locales/zh_CN/LC_MESSAGES/how-to/index.po +++ b/locales/zh_CN/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_CN \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/locales/zh_CN/LC_MESSAGES/index.po index 227f4aa3..6124be09 100644 --- a/locales/zh_CN/LC_MESSAGES/index.po +++ b/locales/zh_CN/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-07-07 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -101,32 +104,32 @@ msgstr "" "无法自我更新。如果您想了解更多,[Brett Cannon 有一篇关于这个问题的详细博文]" "{1}。" -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 msgid "Bootstrap a new project" msgstr "引导新项目" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 msgid "" "Briefcase will ask us for some details of our new application. For the " "purposes of this tutorial, use the following:" msgstr "Briefcase会要求我们提供新应用程序的一些详细信息。在本教程中,请使用以下内容:" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**Formal Name** - 接受默认值:`Hello World`。" -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**App Name** - 接受默认值:`helloworld`。" -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " "reversed order. (For example, if you own the domain \"cupcakes.com\", enter " @@ -138,22 +141,22 @@ msgstr "" "\"cupcakes.com\",则输入 `com.cupcakes` " "作为捆绑标识符)。如果您没有自己的域名,请接受默认值(`com.example`)。" -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**Project Name** - 接受默认值:`Hello World`。" -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 msgid "" "**Description** - Accept the default value (or, if you want to be really " "creative, come up with your own description!)" msgstr "**描述** - " "接受默认值(或者,如果您想发挥自己的创造力,也可以提出自己的描述!)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 msgid "**Author** - Enter your own name here." msgstr "**Author** - 在此处输入您自己的名字。" -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 msgid "" "**Author's Email** - Enter your own email address. This will be used in the " "configuration file, in help text, and anywhere that an email is required " @@ -163,7 +166,7 @@ msgstr "" "输入您自己的电子邮件地址。这将用于配置文件、帮助文本以及向应用程序商店提交应" "用程序时需要电子邮件的任何地方。" -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 msgid "" "**Application URL** - The URL of the landing page for your application. " "Again, if you own your own domain, enter a URL at that domain (including the " @@ -176,7 +179,7 @@ msgstr "" " 即可。此 " "URL(暂时)不需要实际存在;只有在您将应用程序发布到应用程序商店时才会使用。" -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 msgid "" "**Project License** - Accept the default license (BSD). This won't affect " "anything about the operation of the tutorial, though - so if you have " @@ -187,13 +190,13 @@ msgstr "" "接受默认许可证(BSD)。这不会影响本教程的任何操作,因此,如果您对许可证选择有" "特别强烈的意见,请随意选择其他许可证。" -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " "toolkit)." msgstr "**GUI Framework** - 接受默认选项 Toga(BeeWare 自己的图形用户界面工具包)。" -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " "followed this tutorial so far, and accepted the defaults as described, your " @@ -203,7 +206,7 @@ msgstr "" "会生成一个项目骨架供你使用。如果你到目前为止都已经跟着这个教程走的话,并接受" "了所述的默认设置,那么你的文件系统应该是这样的:" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 msgid "" "This skeleton is actually a fully functioning application without adding " "anything else. The `src` folder contains all the code for the application, " @@ -218,60 +221,66 @@ msgstr "" "如果您用编辑器打开 `pyproject.toml`,就会看到刚才提供给 Briefcase " "的配置详细信息。" -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 msgid "" "Now that we have a stub application, we can use Briefcase to run the " "application." msgstr "现在我们有了一个包含占位代码的应用程序,可以使用 Briefcase 来运行它。" -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 msgid "Run the app in developer mode" msgstr "在开发者模式下运行应用程序" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " "project in Developer (or `dev`) mode:" msgstr "移动到 `helloworld` 项目目录,告诉 Briefcase 以开发者(或 " "`dev`)模式启动项目:" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 msgid "This should open a GUI window:" msgstr "这将打开一个图形用户界面 (GUI) 窗口:" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "如果您遇到错误:" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "如果您的 Python 版本\\ *不*\\ 被支持,则需重新开始本教程。" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 msgid "" "Close the application - either by pressing the close button on the " "application window, by selecting Quit/Exit from the application's menu, or " @@ -284,20 +293,18 @@ msgstr "" "或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** -- 就完成了!恭喜您," "您刚刚使用 Python 编写了一个独立、原生的应用程序!" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 +#, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "现在,我们有了一个在开发者模式下运行的应用程序。现在我们可以添加一些自己的逻" "辑,让应用程序做更有趣一些的事情。在\\ :doc:`教程 2` " "中,我们将为应用程序添加一个更有用的用户界面。" - -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "教程 1 - 您的第一个应用程序" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po index aa8b4992..7e91fe4b 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-07-07 01:02+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) ` " "中,我们生成了一个可以运行的基础项目,但我们自己并没有编写任何代码。" @@ -167,8 +168,11 @@ msgstr "" #: docs/en/tutorial/tutorial-2.md:313 #: docs/en/tutorial/tutorial-2.md:324 #: docs/en/tutorial/tutorial-2.md:340 -#: docs/en/tutorial/tutorial-2.md:348 -#: docs/en/tutorial/tutorial-2.md:356 +#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:352 +#: docs/en/tutorial/tutorial-2.md:360 +#: docs/en/tutorial/tutorial-2.md:362 msgid "///" msgstr "" @@ -350,12 +354,12 @@ msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-2.md:304 -#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:344 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-2.md:315 -#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:354 msgid "/// tab | Windows" msgstr "" @@ -377,25 +381,31 @@ msgid "This should open a GUI window:" msgstr "这将打开一个图形用户界面 (GUI) 窗口:" #: docs/en/tutorial/tutorial-2.md:336 -msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 2 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:344 -msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:338 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:358 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-2.md:352 -msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:346 +msgid "![Hello World Tutorial 2 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:358 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "![Hello World Tutorial 2 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:364 msgid "" "If you enter a name in the text box, and press the GUI button, you should " "see output appear in the console where you started the application." msgstr "如果在文本框中输入名称,并按下图形用户界面中的按钮,就会在启动程序的控制台中" "看到输出结果。" -#: docs/en/tutorial/tutorial-2.md:362 +#: docs/en/tutorial/tutorial-2.md:368 msgid "" "Before continuing, close the app. As with Tutorial 1, you can do this by " "pressing the close button on the application window, by selecting Quit/Exit " @@ -406,18 +416,15 @@ msgstr "" "一样,您可以使用应用程序窗口上的关闭按钮、从应用程序的菜单栏选择关闭/退出、" "或在您运行 `briefcase dev` 的命令行窗口中按 **Ctrl+C** 以关闭应用程序。" -#: docs/en/tutorial/tutorial-2.md:367 +#: docs/en/tutorial/tutorial-2.md:373 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-2.md:369 +#: docs/en/tutorial/tutorial-2.md:375 msgid "" "We've now got an application that does something a little more interesting. " "But it only runs on our own computer. Let's package this application for " -"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " -"a standalone installer that we could send to a friend, a customer, or upload " +"distribution. In [Tutorial 3]{1}, we'll wrap our application up as a " +"standalone installer that we could send to a friend, a customer, or upload " "to an App Store." msgstr "" - -#~ msgid "Tutorial 2 - Making it interesting" -#~ msgstr "教程 2 - 使之更有趣" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po index 9870a33f..1ae17800 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-07-21 22:03+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) ` 中所述,我们建议在运行 `" "briefcase package` 时使用 `--adhoc-sign` " "标志,以避免设置代码签名身份的复杂性,并使教程尽可能简单)" -#: docs/en/tutorial/tutorial-4.md:149 +#: docs/en/tutorial/tutorial-4.md:155 msgid "Update and run in one step" msgstr "更新和运行一步到位" -#: docs/en/tutorial/tutorial-4.md:151 +#: docs/en/tutorial/tutorial-4.md:157 msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " "change, update the application, and immediately re-run your application. For " @@ -188,7 +197,7 @@ msgstr "" "briefcase run`。为了简化更新和运行打包应用程序的过程,Briefcase " "提供了支持这种使用模式的快捷方式 - `run` 命令上的 `-u`(或 `--update`)选项。" -#: docs/en/tutorial/tutorial-4.md:162 +#: docs/en/tutorial/tutorial-4.md:168 msgid "" "Let's try making another change. You may have noticed that if you don't type " "a name in the text input box, the dialog will say \"Hello, \". Let's modify " @@ -198,7 +207,7 @@ msgstr "" "对话框就会显示 \"Hello, \"。 让我们再次修改 `say_hello` " "函数,以处理这种边缘情况。" -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:172 msgid "" "At the top of the file, between the imports and the `class HelloWorld` " "definition, add a utility method to generate an appropriate greeting " @@ -206,18 +215,18 @@ msgid "" msgstr "在文件顶部,在导入和 `class HelloWorld` " "定义之间,添加一个实用程序方法,以根据所提供的名称值生成适当的问候语:" -#: docs/en/tutorial/tutorial-4.md:178 +#: docs/en/tutorial/tutorial-4.md:184 msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "然后,修改 `say_hello` 回调,以使用这个新的实用程序方法:" -#: docs/en/tutorial/tutorial-4.md:190 +#: docs/en/tutorial/tutorial-4.md:196 msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " "new logic works; then update, build and run the app with one command:" msgstr "在开发模式下运行应用程序(使用 `briefcase " "dev`),以确认新逻辑是否有效;然后使用一条命令更新、构建和运行应用程序:" -#: docs/en/tutorial/tutorial-4.md:264 +#: docs/en/tutorial/tutorial-4.md:270 msgid "" "The package command also accepts the `-u` argument, so if you make a change " "to your application code and want to repackage immediately, you can run `" @@ -227,23 +236,20 @@ msgstr "" "参数,因此如果你修改了应用程序代码并希望立即重新打包,可以运行 `briefcase " "package -u`。" -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:274 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-4.md:270 +#: docs/en/tutorial/tutorial-4.md:276 msgid "" "We now have our application packaged for distribution on desktop platforms, " "and we've been able to update the code in our application." msgstr "现在,我们的应用程序已经打包,可以在桌面平台上发布,我们也可以更新应用程序中" "的代码。" -#: docs/en/tutorial/tutorial-4.md:273 +#: docs/en/tutorial/tutorial-4.md:279 msgid "" -"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " -"application into a mobile application, and deploy it onto a device " -"simulator, and onto a phone." +"But what about mobile? In [Tutorial 5]{1}, we'll convert our application " +"into a mobile application, and deploy it onto a device simulator, and onto a " +"phone." msgstr "" - -#~ msgid "Tutorial 4 - Updating your application" -#~ msgstr "教程 4 - 更新应用程序" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po index 4fa40b40..1cb772f0 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-07-08 19:04+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: Chinese (Simplified Han script) ` 中的相同步骤:" -#: docs/en/tutorial/tutorial-7.md:203 -#: docs/en/tutorial/tutorial-7.md:243 -#: docs/en/tutorial/tutorial-7.md:298 -#: docs/en/tutorial/tutorial-7.md:338 -#: docs/en/tutorial/tutorial-7.md:413 +#: docs/en/tutorial/tutorial-7.md:209 +#: docs/en/tutorial/tutorial-7.md:251 +#: docs/en/tutorial/tutorial-7.md:306 +#: docs/en/tutorial/tutorial-7.md:348 +#: docs/en/tutorial/tutorial-7.md:423 #, fuzzy msgid "Update the code in the packaged app:" msgstr "更新打包应用程序中的代码:" -#: docs/en/tutorial/tutorial-7.md:214 -#: docs/en/tutorial/tutorial-7.md:254 -#: docs/en/tutorial/tutorial-7.md:309 -#: docs/en/tutorial/tutorial-7.md:349 -#: docs/en/tutorial/tutorial-7.md:424 +#: docs/en/tutorial/tutorial-7.md:220 +#: docs/en/tutorial/tutorial-7.md:262 +#: docs/en/tutorial/tutorial-7.md:317 +#: docs/en/tutorial/tutorial-7.md:359 +#: docs/en/tutorial/tutorial-7.md:434 #, fuzzy msgid "Rebuild the app:" msgstr "重建应用程序:" -#: docs/en/tutorial/tutorial-7.md:223 -#: docs/en/tutorial/tutorial-7.md:268 -#: docs/en/tutorial/tutorial-7.md:318 +#: docs/en/tutorial/tutorial-7.md:229 +#: docs/en/tutorial/tutorial-7.md:276 +#: docs/en/tutorial/tutorial-7.md:326 #, fuzzy msgid "And finally, run the app:" msgstr "最后,运行应用程序:" -#: docs/en/tutorial/tutorial-7.md:232 -#: docs/en/tutorial/tutorial-7.md:327 +#: docs/en/tutorial/tutorial-7.md:238 +#: docs/en/tutorial/tutorial-7.md:335 #, fuzzy msgid "" "However, when the app runs, you'll see an error in the console, plus a crash " "dialog:" msgstr "但是,当程序运行时,你会在控制台中看到一个错误,还有一个崩溃对话框:" -#: docs/en/tutorial/tutorial-7.md:235 -msgid "![Hello World Tutorial 7 app crash, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:241 +msgid "![Hello World Tutorial 7 app crash, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:277 -#: docs/en/tutorial/tutorial-7.md:368 +#: docs/en/tutorial/tutorial-7.md:285 +#: docs/en/tutorial/tutorial-7.md:378 #, fuzzy msgid "However, when the app runs, you'll see an error in the console:" msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" -#: docs/en/tutorial/tutorial-7.md:330 -msgid "![Hello World Tutorial 7 app crash, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-7.md:338 +msgid "![Hello World Tutorial 7 app crash, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-7.md:359 -#: docs/en/tutorial/tutorial-7.md:434 +#: docs/en/tutorial/tutorial-7.md:369 +#: docs/en/tutorial/tutorial-7.md:444 msgid "And finally, run the app (selecting a simulator when prompted):" msgstr "" -#: docs/en/tutorial/tutorial-7.md:444 +#: docs/en/tutorial/tutorial-7.md:454 #, fuzzy msgid "However, when the app runs, you'll see an error in the console" msgstr "但是,当应用程序运行时,您会在控制台中看到一个错误:" -#: docs/en/tutorial/tutorial-7.md:459 +#: docs/en/tutorial/tutorial-7.md:469 msgid "" "Once again, the app has failed to start because `faker` has not been " "installed -but why? Haven't we already installed `faker`?" msgstr "" -#: docs/en/tutorial/tutorial-7.md:462 +#: docs/en/tutorial/tutorial-7.md:472 #, fuzzy msgid "" "We have - but only in the development environment. Your development " @@ -267,7 +280,7 @@ msgstr "" "时才会启用。虽然公文包有开发模式,但使用公文包的主要原因是打包你的代码,这样" "你就可以把它交给别人。" -#: docs/en/tutorial/tutorial-7.md:468 +#: docs/en/tutorial/tutorial-7.md:478 #, fuzzy msgid "" "The only way to guarantee that someone else will have a Python environment " @@ -284,17 +297,17 @@ msgstr "" "Python 环境。这也解释了为什么没有安装 `httpx` - " "它已经安装在你的开发环境中,但没有安装在打包的应用程序中。" -#: docs/en/tutorial/tutorial-7.md:477 +#: docs/en/tutorial/tutorial-7.md:487 #, fuzzy msgid "So - we need to tell Briefcase that our app has an external dependency." msgstr "因此,我们需要告诉 Briefcase,我们的应用程序有一个外部依赖关系。" -#: docs/en/tutorial/tutorial-7.md:479 +#: docs/en/tutorial/tutorial-7.md:489 #, fuzzy msgid "Updating dependencies" msgstr "更新依赖项" -#: docs/en/tutorial/tutorial-7.md:481 +#: docs/en/tutorial/tutorial-7.md:491 #, fuzzy msgid "" "In the root directory of your app, there is a file named `pyproject.toml`. " @@ -304,14 +317,14 @@ msgstr "" "在应用程序的根目录中,有一个名为 `pyproject.toml` 的文件。" "该文件包含您最初运行 `briefcase new` 时提供的所有应用程序配置详细信息。" -#: docs/en/tutorial/tutorial-7.md:485 +#: docs/en/tutorial/tutorial-7.md:495 #, fuzzy msgid "" "`pyproject.toml` is broken up into sections; one of the sections describes " "the settings for your app:" msgstr "pyproject.toml \"分为多个部分,其中一部分描述了应用程序的设置::" -#: docs/en/tutorial/tutorial-7.md:498 +#: docs/en/tutorial/tutorial-7.md:508 #, fuzzy msgid "" "The `requires` option describes the dependencies of our application. It is a " @@ -320,12 +333,12 @@ msgid "" msgstr "requires \"选项描述了应用程序的依赖关系" "。它是一个字符串列表,其中指定了您希望应用程序包含的库(以及可选的版本)。" -#: docs/en/tutorial/tutorial-7.md:502 +#: docs/en/tutorial/tutorial-7.md:512 #, fuzzy msgid "Modify the `requires` setting so that it reads:" msgstr "修改 `requires` 设置为::" -#: docs/en/tutorial/tutorial-7.md:510 +#: docs/en/tutorial/tutorial-7.md:520 #, fuzzy msgid "" "By adding this setting, we're telling Briefcase \"when you build my app, run " @@ -336,31 +349,31 @@ msgstr "" "\"当你构建我的应用程序时,运行 `pip install httpx` 到应用程序捆绑包中\"。" "任何可以合法输入到 `pip install` 的内容都可以在这里使用--因此,你可以指定:" -#: docs/en/tutorial/tutorial-7.md:515 +#: docs/en/tutorial/tutorial-7.md:525 #, fuzzy msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" msgstr "特定的库版本(例如, `\"httpx===0.19.0\"` );" -#: docs/en/tutorial/tutorial-7.md:516 +#: docs/en/tutorial/tutorial-7.md:526 #, fuzzy msgid "A range of library versions (e.g., `\"faker>=37\"`);" msgstr "一系列库版本(例如, `\"httpx>=0.19\"` );" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" "`); or" msgstr "指向 git 仓库的路径(例如,`\"git+https://github.com/encode/httpx\"`);或" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 msgid "" "A local file path (However - be warned: if you give your code to someone " "else, this path probably won't exist on their machine!)" msgstr "本地文件路径(不过需要注意的是:如果你把代码交给别人,这个路径很可能不存在于" "他们的机器上!)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -383,7 +396,7 @@ msgstr "" "库都是在特定平台的 `requires` " "部分中指定的,这是因为显示用户界面所需的库都是特定平台的。" -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -396,7 +409,7 @@ msgstr "" "设置。应用程序级的依赖项始终会被安装;特定平台的依赖项会在应用程序级的依赖项" "之外*安装。" -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -409,7 +422,7 @@ msgstr "" "`pyproject.toml`,然后再次更新应用程序--这一次,传递 `-r` 标志。这将告诉 " "Briefcase 更新打包应用程序中的需求:" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -418,11 +431,11 @@ msgstr "" "更新完成后,您可以运行 `briefcase build` 和 `briefcase run` - " "您应该会看到打包后的应用程序,并带有新的对话框行为。" -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -433,11 +446,11 @@ msgstr "" "命令接受,因此如果你想一步完成更新、编译和运行,可以使用 `briefcase run -u " "-r`。" -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -447,7 +460,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -458,7 +471,7 @@ msgstr "" "在桌面平台(macOS、Windows、Linux)上,任何可安装的 \"pip \"" "都可以添加到您的需求中。在移动和网络平台上,[您的选择略显有限]{1}。" -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -471,7 +484,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -485,7 +498,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -494,7 +507,7 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " "it's not easy to set up -- well outside the scope of an introductory " @@ -503,16 +516,13 @@ msgstr "*通常*\\ " "可以为移动平台编译二进制软件包,但是不容易设置,且远超出了本教程这样的入门教" "程涵盖的范围。" -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "教程 7 - 使用第三方库" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po index 7fc7a33e..1a17e587 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-08-09 01:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Simplified Han script) \n" "Language-Team: LANGUAGE \n" diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/locales/zh_TW/LC_MESSAGES/how-to/index.po index a163ac99..a9204208 100644 --- a/locales/zh_TW/LC_MESSAGES/how-to/index.po +++ b/locales/zh_TW/LC_MESSAGES/how-to/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: zh_TW \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial { id=contributing }" +msgid "Contributing to this tutorial" msgstr "" #: docs/en/how-to/index.md:3 @@ -45,12 +45,13 @@ msgstr "" #: docs/en/how-to/index.md:135 #: docs/en/how-to/index.md:169 #: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:288 -#: docs/en/how-to/index.md:360 -#: docs/en/how-to/index.md:392 -#: docs/en/how-to/index.md:427 -#: docs/en/how-to/index.md:472 -#: docs/en/how-to/index.md:535 +#: docs/en/how-to/index.md:264 +#: docs/en/how-to/index.md:318 +#: docs/en/how-to/index.md:350 +#: docs/en/how-to/index.md:385 +#: docs/en/how-to/index.md:435 +#: docs/en/how-to/index.md:468 +#: docs/en/how-to/index.md:532 msgid "/// tab | macOS" msgstr "" @@ -69,27 +70,30 @@ msgstr "" #: docs/en/how-to/index.md:176 #: docs/en/how-to/index.md:185 #: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:227 -#: docs/en/how-to/index.md:255 -#: docs/en/how-to/index.md:283 +#: docs/en/how-to/index.md:219 +#: docs/en/how-to/index.md:239 +#: docs/en/how-to/index.md:259 +#: docs/en/how-to/index.md:278 +#: docs/en/how-to/index.md:294 #: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:330 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:374 -#: docs/en/how-to/index.md:382 -#: docs/en/how-to/index.md:398 -#: docs/en/how-to/index.md:406 -#: docs/en/how-to/index.md:414 -#: docs/en/how-to/index.md:433 +#: docs/en/how-to/index.md:324 +#: docs/en/how-to/index.md:332 +#: docs/en/how-to/index.md:340 +#: docs/en/how-to/index.md:356 +#: docs/en/how-to/index.md:364 +#: docs/en/how-to/index.md:372 +#: docs/en/how-to/index.md:391 +#: docs/en/how-to/index.md:399 +#: docs/en/how-to/index.md:407 #: docs/en/how-to/index.md:441 #: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:478 -#: docs/en/how-to/index.md:486 -#: docs/en/how-to/index.md:494 -#: docs/en/how-to/index.md:541 -#: docs/en/how-to/index.md:549 -#: docs/en/how-to/index.md:557 +#: docs/en/how-to/index.md:457 +#: docs/en/how-to/index.md:474 +#: docs/en/how-to/index.md:482 +#: docs/en/how-to/index.md:490 +#: docs/en/how-to/index.md:538 +#: docs/en/how-to/index.md:546 +#: docs/en/how-to/index.md:554 msgid "///" msgstr "" @@ -98,13 +102,14 @@ msgstr "" #: docs/en/how-to/index.md:104 #: docs/en/how-to/index.md:144 #: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:229 -#: docs/en/how-to/index.md:310 -#: docs/en/how-to/index.md:368 -#: docs/en/how-to/index.md:400 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:480 -#: docs/en/how-to/index.md:543 +#: docs/en/how-to/index.md:221 +#: docs/en/how-to/index.md:280 +#: docs/en/how-to/index.md:326 +#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:393 +#: docs/en/how-to/index.md:443 +#: docs/en/how-to/index.md:476 +#: docs/en/how-to/index.md:540 msgid "/// tab | Linux" msgstr "" @@ -113,13 +118,14 @@ msgstr "" #: docs/en/how-to/index.md:116 #: docs/en/how-to/index.md:153 #: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:257 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:376 -#: docs/en/how-to/index.md:408 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:488 -#: docs/en/how-to/index.md:551 +#: docs/en/how-to/index.md:241 +#: docs/en/how-to/index.md:296 +#: docs/en/how-to/index.md:334 +#: docs/en/how-to/index.md:366 +#: docs/en/how-to/index.md:401 +#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:484 +#: docs/en/how-to/index.md:548 msgid "/// tab | Windows" msgstr "" @@ -135,7 +141,7 @@ msgid "" msgstr "" #: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(venv)` prefix in front of it." +msgid "Your prompt should now have a `(.venv)` prefix in front of it." msgstr "" #: docs/en/how-to/index.md:80 @@ -200,45 +206,45 @@ msgid "" "has found:" msgstr "" -#: docs/en/how-to/index.md:285 +#: docs/en/how-to/index.md:261 msgid "" "You can then re-add any files that were modified as a result of the pre-" "commit checks, and re-commit the change." msgstr "" -#: docs/en/how-to/index.md:352 +#: docs/en/how-to/index.md:310 msgid "Now you are ready to start hacking on BeeWare docs!" msgstr "" -#: docs/en/how-to/index.md:354 -msgid "Building BeeWare's documentation" +#: docs/en/how-to/index.md:312 +msgid "Building the BeeWare Tutorial" msgstr "" -#: docs/en/how-to/index.md:356 -msgid "Build documentation locally" +#: docs/en/how-to/index.md:314 +msgid "Build the Tutorial locally" msgstr "" -#: docs/en/how-to/index.md:358 +#: docs/en/how-to/index.md:316 msgid "Once your development environment is set up, run:" msgstr "" -#: docs/en/how-to/index.md:384 +#: docs/en/how-to/index.md:342 msgid "" "The output of the file should be in the `docs/_build/html` folder. If there " "are any markup problems, they'll raise an error." msgstr "" -#: docs/en/how-to/index.md:387 -msgid "Live documentation preview" +#: docs/en/how-to/index.md:345 +msgid "Live Tutorial preview" msgstr "" -#: docs/en/how-to/index.md:389 +#: docs/en/how-to/index.md:347 msgid "" "To support rapid editing of documentation, BeeWare also has a " "\"live preview\" mode:" msgstr "" -#: docs/en/how-to/index.md:416 +#: docs/en/how-to/index.md:374 msgid "" "This will build the documentation, start a web server to serve the build " "documentation, and watch the file system for any changes to the " @@ -247,79 +253,105 @@ msgid "" "refreshed." msgstr "" -#: docs/en/how-to/index.md:422 -msgid "Documentation linting" +#: docs/en/how-to/index.md:380 +msgid "Tutorial linting" msgstr "" -#: docs/en/how-to/index.md:424 +#: docs/en/how-to/index.md:382 msgid "" "The build process will identify reStructuredText problems, but BeeWare " "performs some additional \"lint\" checks. To run the lint checks:" msgstr "" -#: docs/en/how-to/index.md:451 +#: docs/en/how-to/index.md:409 msgid "This will validate the documentation does not contain:" msgstr "" -#: docs/en/how-to/index.md:453 +#: docs/en/how-to/index.md:411 msgid "dead hyperlinks" msgstr "" -#: docs/en/how-to/index.md:454 +#: docs/en/how-to/index.md:412 msgid "misspelled words" msgstr "" -#: docs/en/how-to/index.md:456 +#: docs/en/how-to/index.md:414 msgid "" "If a valid spelling of a word is identified as misspelled, then add the word " "to the list in `docs/spelling_wordlist`. This will add the word to the " "spellchecker's dictionary. When adding to this list, remember:" msgstr "" -#: docs/en/how-to/index.md:460 +#: docs/en/how-to/index.md:418 msgid "" "We prefer US spelling, with some liberties for programming-specific " "colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" msgstr "" -#: docs/en/how-to/index.md:462 +#: docs/en/how-to/index.md:420 msgid "" "Any reference to a product name should use the product's preferred " "capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " "\"PyScript\")." msgstr "" -#: docs/en/how-to/index.md:465 +#: docs/en/how-to/index.md:423 msgid "" "If a term is being used \"as code\", then it should be quoted as inline code " "rather than being added to the dictionary." msgstr "" -#: docs/en/how-to/index.md:468 -msgid "Rebuilding all documentation" +#: docs/en/how-to/index.md:426 +msgid "Building translations" msgstr "" -#: docs/en/how-to/index.md:470 -msgid "To force a rebuild for all the documentation:" +#: docs/en/how-to/index.md:428 +msgid "" +"The BeeWare tutorial is available in multiple languages, which you can build " +"individually or all at the same time." msgstr "" -#: docs/en/how-to/index.md:496 +#: docs/en/how-to/index.md:431 msgid "" -"The documentation should be fully rebuilt in the `docs/_build/html` folder. " -"If there are any markup problems, they'll raise an error." +"To build a single translation, you run the `docs` command with the language " +"code for the translation you wish to build. For example, to build French:" msgstr "" -#: docs/en/how-to/index.md:499 +#: docs/en/how-to/index.md:459 +msgid "" +"The French translation should be built in the `docs/_build/html` folder. If " +"there are any markup problems, they'll raise an error." +msgstr "" + +#: docs/en/how-to/index.md:462 +msgid "" +"An error is also raised if you enter a language code for an unavailable " +"language. If this happens, verify that you are using the proper language " +"code." +msgstr "" + +#: docs/en/how-to/index.md:466 +msgid "To build all the translations at the same time:" +msgstr "" + +#: docs/en/how-to/index.md:492 +msgid "" +"This will build all available translations in the `docs/_build/html` " +"directory, inside a language-specific subdirectory. For example, the French " +"translation would be available in `docs/_build/html/fr`." +msgstr "" + +#: docs/en/how-to/index.md:496 msgid "What to work on?" msgstr "" -#: docs/en/how-to/index.md:501 +#: docs/en/how-to/index.md:498 msgid "" "If you're looking for specific areas to improve, there are " "[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." msgstr "" -#: docs/en/how-to/index.md:505 +#: docs/en/how-to/index.md:502 msgid "" "However, you don't need to be constrained by these tickets. If you can " "identify an error in the tutorial, or an improvement that can be made, start " @@ -327,20 +359,20 @@ msgid "" "change." msgstr "" -#: docs/en/how-to/index.md:510 +#: docs/en/how-to/index.md:507 msgid "Submitting a pull request" msgstr "" -#: docs/en/how-to/index.md:512 +#: docs/en/how-to/index.md:509 msgid "" "Before you submit a pull request, there's a few bits of housekeeping to do." msgstr "" -#: docs/en/how-to/index.md:515 +#: docs/en/how-to/index.md:512 msgid "Submit from a feature branch, not your `main` branch" msgstr "" -#: docs/en/how-to/index.md:517 +#: docs/en/how-to/index.md:514 msgid "" "Before you start working on your change, make sure you've created a branch. " "By default, when you clone your repository fork, you'll be checked out on " @@ -348,7 +380,7 @@ msgid "" "contribute to BeeWare itself, not the docs, please review the repo README." msgstr "" -#: docs/en/how-to/index.md:523 +#: docs/en/how-to/index.md:520 msgid "" "While you *can* submit a pull request from your `main` branch, it's " "preferable if you *don't* do this. If you submit a pull request that is " @@ -358,17 +390,17 @@ msgid "" "branch, reviewers are prevented from making modifications." msgstr "" -#: docs/en/how-to/index.md:530 +#: docs/en/how-to/index.md:527 msgid "" "Instead, you should make your changes on a *feature branch*. A feature " "branch has a simple name to identify the change that you've made." msgstr "" -#: docs/en/how-to/index.md:533 +#: docs/en/how-to/index.md:530 msgid "To create a feature branch, run:" msgstr "" -#: docs/en/how-to/index.md:559 +#: docs/en/how-to/index.md:556 msgid "" "Commit your changes to this branch, then push to GitHub and create a pull " "request." diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/locales/zh_TW/LC_MESSAGES/index.po index b459539d..8c86b62a 100644 --- a/locales/zh_TW/LC_MESSAGES/index.po +++ b/locales/zh_TW/LC_MESSAGES/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-11 10:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: zh_TW \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/camera-access.md:1 -msgid "Using the camera { id=\"camera-access\" }" +msgid "Using the camera" msgstr "" #: docs/en/tutorial/topics/camera-access.md:3 diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po index ab9439b4..d5552e4e 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: zh_TW \n" @@ -12,7 +12,7 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/topics/index.md:1 -msgid "Going further { #topics }" +msgid "Going further" msgstr "" #: docs/en/tutorial/topics/index.md:3 @@ -24,7 +24,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:8 -msgid "[Customizing icons][custom-icons]" +msgid "[Customizing icons]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:10 @@ -34,7 +34,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:13 -msgid "[Using the camera][camera-access]" +msgid "[Using the camera]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:15 @@ -44,7 +44,7 @@ msgid "" msgstr "" #: docs/en/tutorial/topics/index.md:18 -msgid "[Testing times][testing]" +msgid "[Testing times]{1}" msgstr "" #: docs/en/tutorial/topics/index.md:20 diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po index 0352bfd2..dc250977 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) [。" -#~ msgid "Tutorial 0 - Let's get set up!" -#~ msgstr "教學 0 - 讓我們開始設定吧!" +#~ msgid "Install Python" +#~ msgstr "安裝Python" + +#~ msgid "Install dependencies" +#~ msgstr "安裝依賴項" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po index 24aa4459..d896a2c4 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) `{.interpreted-text role=\"ref\"}." +"the system requirements haven't been installed. Make sure you have " +"[installed all the platform pre-requisites][install-dependencies]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:39 -#: docs/en/tutorial/tutorial-1.md:79 -#: docs/en/tutorial/tutorial-1.md:187 -#: docs/en/tutorial/tutorial-1.md:221 +#: docs/en/tutorial/tutorial-1.md:38 +#: docs/en/tutorial/tutorial-1.md:78 +#: docs/en/tutorial/tutorial-1.md:186 +#: docs/en/tutorial/tutorial-1.md:224 msgid "/// tab | Windows" msgstr "" -#: docs/en/tutorial/tutorial-1.md:47 +#: docs/en/tutorial/tutorial-1.md:46 msgid "" "It is important that you use `python -m pip`, rather than a bare `pip`. " "Briefcase needs to ensure that it has an up-to-date version of `pip` and " @@ -101,33 +104,33 @@ msgstr "" "無法自我更新。如果您想了解更多信息," "[Brett Cannon 有一篇關於該問題的詳細博客文章]{1} 。" -#: docs/en/tutorial/tutorial-1.md:57 +#: docs/en/tutorial/tutorial-1.md:56 msgid "Bootstrap a new project" msgstr "開始一個新項目" -#: docs/en/tutorial/tutorial-1.md:59 +#: docs/en/tutorial/tutorial-1.md:58 msgid "" "Let's start our first BeeWare project! We're going to use the Briefcase `new`" " command to create an application called **Hello World**. Run the following " "from your command prompt:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:87 +#: docs/en/tutorial/tutorial-1.md:86 msgid "" "Briefcase will ask us for some details of our new application. For the " "purposes of this tutorial, use the following:" msgstr "Briefcase " "將詢問我們新應用程式的一些詳細資訊。出於本教學的目的,請使用以下內容:" -#: docs/en/tutorial/tutorial-1.md:90 +#: docs/en/tutorial/tutorial-1.md:89 msgid "**Formal Name** - Accept the default value: `Hello World`." msgstr "**正式名稱** - 接受預設值: `Hello World` 。" -#: docs/en/tutorial/tutorial-1.md:91 +#: docs/en/tutorial/tutorial-1.md:90 msgid "**App Name** - Accept the default value: `helloworld`." msgstr "**應用程式名稱** - 接受預設值: `helloworld` 。" -#: docs/en/tutorial/tutorial-1.md:92 +#: docs/en/tutorial/tutorial-1.md:91 #, fuzzy msgid "" "**Bundle Identifier** - If you own your own domain, enter that domain in " @@ -139,21 +142,21 @@ msgstr "" "如果您擁有網域名稱 `cupcakes.com` ,請輸入 `com.cupcakes` " "作為捆綁包)。如果您不擁有自己的網域,請接受預設捆綁包( `com.example` )。" -#: docs/en/tutorial/tutorial-1.md:96 +#: docs/en/tutorial/tutorial-1.md:95 msgid "**Project Name** - Accept the default value: `Hello World`." msgstr "**項目名稱** - 接受預設值: `Hello World` 。" -#: docs/en/tutorial/tutorial-1.md:97 +#: docs/en/tutorial/tutorial-1.md:96 msgid "" "**Description** - Accept the default value (or, if you want to be really " "creative, come up with your own description!)" msgstr "**描述** - 接受預設值(或者,如果您想真正發揮創意,請提出您自己的描述!)" -#: docs/en/tutorial/tutorial-1.md:99 +#: docs/en/tutorial/tutorial-1.md:98 msgid "**Author** - Enter your own name here." msgstr "**作者** - 在此輸入您自己的姓名。" -#: docs/en/tutorial/tutorial-1.md:100 +#: docs/en/tutorial/tutorial-1.md:99 #, fuzzy msgid "" "**Author's Email** - Enter your own email address. This will be used in the " @@ -163,7 +166,7 @@ msgstr "**作者的電子郵件** - " "輸入您自己的電子郵件地址。這將用在設定檔、說明文字以及將應用程式提交到應用程" "式商店時需要電子郵件的任何地方。" -#: docs/en/tutorial/tutorial-1.md:103 +#: docs/en/tutorial/tutorial-1.md:102 #, fuzzy msgid "" "**Application URL** - The URL of the landing page for your application. " @@ -177,7 +180,7 @@ msgstr "" "example.com/helloworld`)。該 URL " "不需要實際存在(目前);只有當您將應用程式發佈到應用程式商店時才會使用它。" -#: docs/en/tutorial/tutorial-1.md:109 +#: docs/en/tutorial/tutorial-1.md:108 #, fuzzy msgid "" "**Project License** - Accept the default license (BSD). This won't affect " @@ -188,13 +191,13 @@ msgstr "" "**許可證** - 接受預設許可證 (BSD)。不過,這不會影響本教學的操作 - " "因此,如果您對許可證選擇有特別強烈的感覺,請隨意選擇其他許可證。" -#: docs/en/tutorial/tutorial-1.md:113 +#: docs/en/tutorial/tutorial-1.md:112 msgid "" "**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " "toolkit)." msgstr "**GUI 框架** - 接受預設選項 Toga(BeeWare 自己的 GUI 工具)。" -#: docs/en/tutorial/tutorial-1.md:116 +#: docs/en/tutorial/tutorial-1.md:115 msgid "" "Briefcase will then generate a project skeleton for you to use. If you've " "followed this tutorial so far, and accepted the defaults as described, your " @@ -203,7 +206,7 @@ msgstr "然後,Briefcase " "將產生一個專案框架供您使用。如果您到目前為止已經遵循了本教學,並接受了所描述" "的預設設置,您的資料夾應該類似於:" -#: docs/en/tutorial/tutorial-1.md:142 +#: docs/en/tutorial/tutorial-1.md:141 msgid "" "This skeleton is actually a fully functioning application without adding " "anything else. The `src` folder contains all the code for the application, " @@ -217,59 +220,65 @@ msgstr "" "`pyproject.toml` 檔案描述如何打包應用程式以進行分發。如果您在編輯器中開啟 " "`pyproject.toml` ,您將看到剛剛提供給 `Briefcase` 的設定詳細資訊。" -#: docs/en/tutorial/tutorial-1.md:149 +#: docs/en/tutorial/tutorial-1.md:148 msgid "" "Now that we have a stub application, we can use Briefcase to run the " "application." msgstr "現在我們有了一個未打包的應用程式,我們可以使用 Briefcase 來運行該應用程式。" -#: docs/en/tutorial/tutorial-1.md:152 +#: docs/en/tutorial/tutorial-1.md:151 msgid "Run the app in developer mode" msgstr "在開發者模式下運行應用程式" -#: docs/en/tutorial/tutorial-1.md:154 +#: docs/en/tutorial/tutorial-1.md:153 msgid "" "Move into the `helloworld` project directory and tell briefcase to start the " "project in Developer (or `dev`) mode:" msgstr "進入 `helloworld` 專案目錄並告訴公事包以開發人員(或 `dev` )模式啟動專案:" -#: docs/en/tutorial/tutorial-1.md:203 +#: docs/en/tutorial/tutorial-1.md:202 msgid "This should open a GUI window:" msgstr "這應該打開一個 GUI 視窗:" -#: docs/en/tutorial/tutorial-1.md:207 -msgid "![Hello World Tutorial 1 window, on macOS]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:206 +msgid "![Hello World Tutorial 1 window, on macOS]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-1.md:208 +#: docs/en/tutorial/tutorial-1.md:218 +#: docs/en/tutorial/tutorial-1.md:228 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-1.md:215 -msgid "![Hello World Tutorial 1 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:216 +msgid "![Hello World Tutorial 1 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:223 -msgid "![Hello World Tutorial 1 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-1.md:226 +msgid "![Hello World Tutorial 1 window, on Windows]{1}" msgstr "" -#: docs/en/tutorial/tutorial-1.md:227 +#: docs/en/tutorial/tutorial-1.md:232 msgid "/// admonition | Invalid requirements or pip unable to connect" msgstr "" -#: docs/en/tutorial/tutorial-1.md:229 +#: docs/en/tutorial/tutorial-1.md:234 msgid "If you encounter the error:" msgstr "" -#: docs/en/tutorial/tutorial-1.md:237 +#: docs/en/tutorial/tutorial-1.md:242 msgid "" -"Confirm that you are running a `version of python that this tutorial " -"supports `{.interpreted-text role=\"ref\"}." +"Confirm that you are running a " +"[version of python that this tutorial supports][install-python]." msgstr "" -#: docs/en/tutorial/tutorial-1.md:241 +#: docs/en/tutorial/tutorial-1.md:245 msgid "" "If your version of python is *not* a supported version, you will have to " "restart the tutorial." msgstr "" -#: docs/en/tutorial/tutorial-1.md:248 +#: docs/en/tutorial/tutorial-1.md:252 #, fuzzy msgid "" "Close the application - either by pressing the close button on the " @@ -280,20 +289,18 @@ msgid "" msgstr "按下關閉按鈕(或從應用程式的選單中選擇退出),就完成了!恭喜 - 您剛剛用 " "Python 編寫了一個獨立的本機應用程式!" -#: docs/en/tutorial/tutorial-1.md:254 +#: docs/en/tutorial/tutorial-1.md:258 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-1.md:256 +#: docs/en/tutorial/tutorial-1.md:260 +#, fuzzy msgid "" "We now have a working application, running in developer mode. Now we can add " "some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2][tutorial-2], we'll put a more useful user " -"interface onto our application." +"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " +"our application." msgstr "" "我們現在有了一個可以運行的應用程序,在開發人員模式下運行。現在我們可以添加一" "些我們自己的邏輯,使我們的應用程式做一些更有趣的事情。在 :doc:`教程 2 " "中`,我們將在我們的應用程式中放置一個更有用的使用者介面。" - -#~ msgid "Tutorial 1 - Your first app" -#~ msgstr "教學 1 - 您的第一個應用程式" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po index f6f7316f..856ad8cd 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2025-04-20 22:01+0000\n" "Last-Translator: John \n" "Language-Team: Chinese (Traditional Han script) `,我們產生了一個能夠運行的存根項目,但我們自己沒有寫任何程式碼" "。讓我們看看為我們產生了什麼。" @@ -177,8 +178,11 @@ msgstr "" #: docs/en/tutorial/tutorial-2.md:313 #: docs/en/tutorial/tutorial-2.md:324 #: docs/en/tutorial/tutorial-2.md:340 -#: docs/en/tutorial/tutorial-2.md:348 -#: docs/en/tutorial/tutorial-2.md:356 +#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:352 +#: docs/en/tutorial/tutorial-2.md:360 +#: docs/en/tutorial/tutorial-2.md:362 msgid "///" msgstr "" @@ -376,12 +380,12 @@ msgid "/// tab | macOS" msgstr "" #: docs/en/tutorial/tutorial-2.md:304 -#: docs/en/tutorial/tutorial-2.md:342 +#: docs/en/tutorial/tutorial-2.md:344 msgid "/// tab | Linux" msgstr "" #: docs/en/tutorial/tutorial-2.md:315 -#: docs/en/tutorial/tutorial-2.md:350 +#: docs/en/tutorial/tutorial-2.md:354 msgid "/// tab | Windows" msgstr "" @@ -403,18 +407,24 @@ msgid "This should open a GUI window:" msgstr "這應該打開一個 GUI 視窗:" #: docs/en/tutorial/tutorial-2.md:336 -msgid "![Hello World Tutorial 2 window, on macOS]{1} /// caption ///" +msgid "![Hello World Tutorial 2 window, on macOS]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:344 -msgid "![Hello World Tutorial 2 window, on Linux]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:338 +#: docs/en/tutorial/tutorial-2.md:348 +#: docs/en/tutorial/tutorial-2.md:358 +msgid "/// caption" msgstr "" -#: docs/en/tutorial/tutorial-2.md:352 -msgid "![Hello World Tutorial 2 window, on Windows]{1} /// caption ///" +#: docs/en/tutorial/tutorial-2.md:346 +msgid "![Hello World Tutorial 2 window, on Linux]{1}" msgstr "" -#: docs/en/tutorial/tutorial-2.md:358 +#: docs/en/tutorial/tutorial-2.md:356 +msgid "![Hello World Tutorial 2 window, on Windows]{1}" +msgstr "" + +#: docs/en/tutorial/tutorial-2.md:364 #, fuzzy msgid "" "If you enter a name in the text box, and press the GUI button, you should " @@ -422,7 +432,7 @@ msgid "" msgstr "如果您在文字方塊中輸入名稱,然後按 GUI " "按鈕,您應該會看到啟動應用程式的控制台中出現輸出。" -#: docs/en/tutorial/tutorial-2.md:362 +#: docs/en/tutorial/tutorial-2.md:368 msgid "" "Before continuing, close the app. As with Tutorial 1, you can do this by " "pressing the close button on the application window, by selecting Quit/Exit " @@ -430,24 +440,20 @@ msgid "" "you ran `briefcase dev`." msgstr "" -#: docs/en/tutorial/tutorial-2.md:367 +#: docs/en/tutorial/tutorial-2.md:373 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-2.md:369 +#: docs/en/tutorial/tutorial-2.md:375 #, fuzzy msgid "" "We've now got an application that does something a little more interesting. " "But it only runs on our own computer. Let's package this application for " -"distribution. In [Tutorial 3][tutorial-3], we'll wrap our application up as " -"a standalone installer that we could send to a friend, a customer, or upload " +"distribution. In [Tutorial 3]{1}, we'll wrap our application up as a " +"standalone installer that we could send to a friend, a customer, or upload " "to an App Store." msgstr "" "我們現在有了一個可以做一些更有趣的事情的應用程式。但它只能在我們自己的計算機" "上運行。讓我們打包這個應用程式以進行分發。在 :doc:`教程 3 " "中`,我們將把我們的應用程式打包為一個獨立的安裝程序,我們可以將其" "發送給朋友、客戶,或上傳到應用程式商店。" - -#, fuzzy -#~ msgid "Tutorial 2 - Making it interesting" -#~ msgstr "教學 2 - 讓它變得有趣" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po index ede41832..12cb7a9f 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: Chinese (Traditional) `,對於本教程,我們建議使用" "`--adhoc-sign`標誌運行`briefcase " "package`,以避免設置代碼簽名身份的複雜性,並使教程盡可能簡單。)" -#: docs/en/tutorial/tutorial-4.md:149 +#: docs/en/tutorial/tutorial-4.md:155 #, fuzzy msgid "Update and run in one step" msgstr "一步更新並運行" -#: docs/en/tutorial/tutorial-4.md:151 +#: docs/en/tutorial/tutorial-4.md:157 #, fuzzy msgid "" "If you're rapidly iterating code changes, you'll likely want to make a code " @@ -204,7 +213,7 @@ msgstr "" "需要重複調用`briefcase run`。為了簡化更新和執行捆綁應用程式的過程,Briefcase " "有一個快捷方式來支援這種使用模式 - `run` 命令上的`-u`(或`--update`)選項。" -#: docs/en/tutorial/tutorial-4.md:162 +#: docs/en/tutorial/tutorial-4.md:168 #, fuzzy msgid "" "Let's try making another change. You may have noticed that if you don't type " @@ -215,7 +224,7 @@ msgstr "" ",則對話方塊將顯示 \"Hello,\"。讓我們再次修改 `say_hello` " "函數來處理這種邊緣情況。" -#: docs/en/tutorial/tutorial-4.md:166 +#: docs/en/tutorial/tutorial-4.md:172 #, fuzzy msgid "" "At the top of the file, between the imports and the `class HelloWorld` " @@ -224,12 +233,12 @@ msgid "" msgstr "在檔案頂部的匯入和`class " "HelloWorld`定義之間,新增實用程式方法以根據已提供的名稱值產生適當的問候語:" -#: docs/en/tutorial/tutorial-4.md:178 +#: docs/en/tutorial/tutorial-4.md:184 #, fuzzy msgid "Then, modify the `say_hello` callback to use this new utility method:" msgstr "然後,修改`say_hello`回調以使用這個新的實用方法:" -#: docs/en/tutorial/tutorial-4.md:190 +#: docs/en/tutorial/tutorial-4.md:196 #, fuzzy msgid "" "Run your app in development mode (with `briefcase dev`) to confirm that the " @@ -237,7 +246,7 @@ msgid "" msgstr "在開發模式下運行您的應用程式(使用`briefcase " "dev`)以確認新邏輯有效;然後使用一個命令更新、建置和運行應用程式:" -#: docs/en/tutorial/tutorial-4.md:264 +#: docs/en/tutorial/tutorial-4.md:270 #, fuzzy msgid "" "The package command also accepts the `-u` argument, so if you make a change " @@ -248,11 +257,11 @@ msgstr "" "命令也接受`-u`參數,因此如果您對應用程式程式碼進行了更改並希望立即重新打包," "則可以運行`briefcase package -u`。" -#: docs/en/tutorial/tutorial-4.md:268 +#: docs/en/tutorial/tutorial-4.md:274 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-4.md:270 +#: docs/en/tutorial/tutorial-4.md:276 #, fuzzy msgid "" "We now have our application packaged for distribution on desktop platforms, " @@ -260,13 +269,9 @@ msgid "" msgstr "現在,我們已經將應用程式打包以便在桌面平台上分發,並且我們已經能夠更新應用程" "式中的程式碼。" -#: docs/en/tutorial/tutorial-4.md:273 +#: docs/en/tutorial/tutorial-4.md:279 msgid "" -"But what about mobile? In [Tutorial 5][tutorial-5], we'll convert our " -"application into a mobile application, and deploy it onto a device " -"simulator, and onto a phone." +"But what about mobile? In [Tutorial 5]{1}, we'll convert our application " +"into a mobile application, and deploy it onto a device simulator, and onto a " +"phone." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 4 - Updating your application" -#~ msgstr "教程 4 - 更新您的應用程式" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po index f569bb5b..02e5efe9 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) \n" "Language-Team: zh_TW \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/iOS.md:1 -msgid "Tutorial 5 - Taking it mobile: iOS { id=\"mobile-ios\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 5 - Taking it mobile: iOS" +msgstr "教學 5 - 行動裝置:iOS" #: docs/en/tutorial/tutorial-5/iOS.md:3 msgid "" @@ -85,6 +86,14 @@ msgid "![Hello World Tutorial 5 window, on iOS]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/iOS.md:122 +msgid "/// caption" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:124 +msgid "///" +msgstr "" + +#: docs/en/tutorial/tutorial-5/iOS.md:126 msgid "" "While the app is running, you'll see a series of Simulator log output " "messages in the console. Typing Ctrl+C into the terminal will halt the " @@ -92,7 +101,7 @@ msgid "" "can test new changes without restarting the simulator." msgstr "" -#: docs/en/tutorial/tutorial-5/iOS.md:127 +#: docs/en/tutorial/tutorial-5/iOS.md:131 #, fuzzy msgid "" "If you know ahead of time which iOS simulator you want to target, you can " @@ -104,7 +113,7 @@ msgstr "" "選項來告訴 Briefcase " "使用該模擬器。使用您在建立應用程式時選擇的設備名稱,運行:" -#: docs/en/tutorial/tutorial-5/iOS.md:136 +#: docs/en/tutorial/tutorial-5/iOS.md:140 #, fuzzy msgid "" "If you have multiple iOS versions available, Briefcase will pick the highest " @@ -113,21 +122,17 @@ msgid "" msgstr "如果您有多個可用的 iOS 版本,公事包將選擇最高的 iOS 版本;" "如果你想選擇一個特定的 iOS 版本,你可以告訴它使用該特定版本:" -#: docs/en/tutorial/tutorial-5/iOS.md:144 +#: docs/en/tutorial/tutorial-5/iOS.md:148 #, fuzzy msgid "Or, you can name a specific device UDID:" msgstr "或者,您可以命名特定設備 UDID:" -#: docs/en/tutorial/tutorial-5/iOS.md:150 +#: docs/en/tutorial/tutorial-5/iOS.md:154 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-5/iOS.md:152 +#: docs/en/tutorial/tutorial-5/iOS.md:156 msgid "" "We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6][tutorial-6] to find out..." +"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." msgstr "" - -#, fuzzy -#~ msgid "Tutorial 5 - Taking it mobile: iOS" -#~ msgstr "教學 5 - 行動裝置:iOS" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po index 58847636..d1461997 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-08 11:58+0800\n" "Last-Translator: Russell Keith-Magee \n" "Language-Team: zh_TW \n" @@ -12,8 +12,9 @@ msgstr "" "X-Generator: Translate Toolkit 3.15.6\n" #: docs/en/tutorial/tutorial-5/index.md:1 -msgid "Tutorial 5 - Taking it Mobile { id=\"tutorial-5\" }" -msgstr "" +#, fuzzy +msgid "Tutorial 5 - Taking it Mobile" +msgstr "教程 5 - 移動使用" #: docs/en/tutorial/tutorial-5/index.md:3 #, fuzzy @@ -25,7 +26,7 @@ msgstr "到目前為止,我們已經在桌面上運行和測試我們的應用 "還支援行動平台 - 我們編寫的應用程式也可以部署到您的行動裝置!" #: docs/en/tutorial/tutorial-5/index.md:7 -msgid "[Android][mobile-android]" +msgid "[Android]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:9 @@ -34,14 +35,10 @@ msgid "Android applications can be compiled on macOS, Windows or Linux." msgstr "Android 應用程式可以在 macOS、Windows 或 Linux 上編譯。" #: docs/en/tutorial/tutorial-5/index.md:11 -msgid "[iOS][mobile-ios]" +msgid "[iOS]{1}" msgstr "" #: docs/en/tutorial/tutorial-5/index.md:13 #, fuzzy msgid "iOS applications can only be compiled on macOS." msgstr "iOS 應用程式只能在 macOS 上編譯。" - -#, fuzzy -#~ msgid "Tutorial 5 - Taking it Mobile" -#~ msgstr "教程 5 - 移動使用" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po index 79af7ce1..bf0e27e3 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) ` 找出..." - -#~ msgid "Tutorial 6 - Put it on the web!" -#~ msgstr "教程 6 - 將其放在網路上!" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po index 92a24236..711193b5 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-10 21:02+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) =37\"`);" msgstr "一系列庫版本(例如`httpx>=0.19`);" -#: docs/en/tutorial/tutorial-7.md:517 +#: docs/en/tutorial/tutorial-7.md:527 #, fuzzy msgid "" "A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" "`); or" msgstr "git 儲存庫的路徑(例如,`\"git+https://github.com/encode/httpx\"`);或者" -#: docs/en/tutorial/tutorial-7.md:519 +#: docs/en/tutorial/tutorial-7.md:529 #, fuzzy msgid "" "A local file path (However - be warned: if you give your code to someone " @@ -371,7 +384,7 @@ msgid "" msgstr "本機檔案路徑(但是 - " "請注意:如果您將程式碼提供給其他人,則該路徑可能不會存在於他們的電腦上!)" -#: docs/en/tutorial/tutorial-7.md:522 +#: docs/en/tutorial/tutorial-7.md:532 #, fuzzy msgid "" "Further down in `pyproject.toml`, you'll notice other sections that are " @@ -395,7 +408,7 @@ msgstr "" "都是在特定於平台的`requires`部分中指定的 - " "這是因為顯示使用者介面所需的庫是特定於平台的。" -#: docs/en/tutorial/tutorial-7.md:534 +#: docs/en/tutorial/tutorial-7.md:544 #, fuzzy msgid "" "In our case, we want `faker` to be installed on all platforms, so we use the " @@ -407,7 +420,7 @@ msgstr "" "uires`設定。應用程式級相依性將始終被安裝;除了*應用程式層級的依賴項之外,還會" "安裝特定於平台的依賴項。" -#: docs/en/tutorial/tutorial-7.md:539 +#: docs/en/tutorial/tutorial-7.md:549 #, fuzzy msgid "" "Now that we've told Briefcase about our additional requirements, we can try " @@ -420,7 +433,7 @@ msgstr "" "oject.toml`,然後再次更新您的應用程式 - 這次傳入`-r`標誌。這告訴 Briefcase " "更新打包應用程式中的要求:" -#: docs/en/tutorial/tutorial-7.md:663 +#: docs/en/tutorial/tutorial-7.md:673 #, fuzzy msgid "" "Once you've updated, you can run `briefcase build` and `briefcase run` - and " @@ -428,11 +441,11 @@ msgid "" msgstr "更新後,您可以運行`briefcase build`和`briefcase run` - " "您應該會看到打包的應用程序,具有新的對話框行為。" -#: docs/en/tutorial/tutorial-7.md:666 +#: docs/en/tutorial/tutorial-7.md:676 msgid "/// note | Note" msgstr "" -#: docs/en/tutorial/tutorial-7.md:668 +#: docs/en/tutorial/tutorial-7.md:678 #, fuzzy msgid "" "The `-r` option for updating requirements is also honored by the `build` and " @@ -442,11 +455,11 @@ msgstr "" "用於更新需求的`-r`選項也受到`build`和`run`命令的支持,因此如果您想一步更新、" "構建和運行,您可以使用`briefcase`運行-u -r`。" -#: docs/en/tutorial/tutorial-7.md:674 +#: docs/en/tutorial/tutorial-7.md:684 msgid "Third-Party Python Packages for Mobile and Web" msgstr "" -#: docs/en/tutorial/tutorial-7.md:676 +#: docs/en/tutorial/tutorial-7.md:686 msgid "" "Faker is just one example of a third-party Python package - a collection of " "code that isn't part what Python provides out of the box. These third-party " @@ -456,7 +469,7 @@ msgid "" "options." msgstr "" -#: docs/en/tutorial/tutorial-7.md:683 +#: docs/en/tutorial/tutorial-7.md:693 #, fuzzy msgid "" "On desktop platforms (macOS, Windows, Linux), essentially any package on " @@ -467,7 +480,7 @@ msgstr "" "在桌面平台(macOS、Windows、Linux)上,任何可安裝的`pip`都可以加入您的需求。" "在行動和網路平台上,[您的選擇略有限制]{1}。" -#: docs/en/tutorial/tutorial-7.md:689 +#: docs/en/tutorial/tutorial-7.md:699 msgid "" "In short; any *pure Python* package (i.e. any package created from a project " "written *only* in Python) can be used without difficulty. Some packages, " @@ -480,7 +493,7 @@ msgid "" "compiled binaries for mobile and web platforms." msgstr "" -#: docs/en/tutorial/tutorial-7.md:700 +#: docs/en/tutorial/tutorial-7.md:710 msgid "" "On PyPI, packages are often provided in a pre-built distribution format " "called *wheels*. To check whether a package is pure Python, look at the PyPI " @@ -494,7 +507,7 @@ msgid "" "been provided." msgstr "" -#: docs/en/tutorial/tutorial-7.md:713 +#: docs/en/tutorial/tutorial-7.md:723 msgid "" "At this time, *most* binary packages on PyPI don't provide mobile- or web-" "compatible wheels. To fill this gap, BeeWare provides binaries for some " @@ -503,7 +516,7 @@ msgid "" "wheels if they're available." msgstr "" -#: docs/en/tutorial/tutorial-7.md:719 +#: docs/en/tutorial/tutorial-7.md:729 #, fuzzy msgid "" "It's *usually* possible to compile binary packages for mobile platforms, but " @@ -516,16 +529,13 @@ msgstr "" "可以為行動平台編譯軟體包,但設定起來並不容易——這遠遠超出了像本教程這樣的介紹" "性教程的範圍。" -#: docs/en/tutorial/tutorial-7.md:723 +#: docs/en/tutorial/tutorial-7.md:733 msgid "Next steps" msgstr "下一步" -#: docs/en/tutorial/tutorial-7.md:725 +#: docs/en/tutorial/tutorial-7.md:735 msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]" -"[tutorial-8] we'll learn how to ensure our app remains responsive as we add " -"more complex application logic." +"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " +"we'll learn how to ensure our app remains responsive as we add more complex " +"application logic." msgstr "" - -#~ msgid "Tutorial 7 - Get this (third-)party started" -#~ msgstr "教學 7 - 啟動此(第三方)" diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po index 5f6b84e8..e14a22da 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po @@ -2,7 +2,7 @@ msgid "" msgstr "" "Project-Id-Version: BeeWare 0.3\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-15 23:26-0400\n" +"POT-Creation-Date: 2025-08-21 16:18-0400\n" "PO-Revision-Date: 2024-04-11 22:01+0000\n" "Last-Translator: sus \n" "Language-Team: Chinese (Traditional) Date: Thu, 21 Aug 2025 16:33:19 -0400 Subject: [PATCH 11/24] Update links in PO files. --- docs/en/tutorial/tutorial-1.md | 2 +- locales/de/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/de/LC_MESSAGES/tutorial/tutorial-1.po | 4 ++-- locales/de/LC_MESSAGES/tutorial/tutorial-2.po | 4 ++-- locales/de/LC_MESSAGES/tutorial/tutorial-4.po | 2 +- locales/de/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/de/LC_MESSAGES/tutorial/tutorial-7.po | 4 ++-- locales/es/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-1.po | 4 ++-- locales/es/LC_MESSAGES/tutorial/tutorial-2.po | 4 ++-- locales/es/LC_MESSAGES/tutorial/tutorial-4.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/es/LC_MESSAGES/tutorial/tutorial-7.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-1.po | 4 ++-- locales/fr/LC_MESSAGES/tutorial/tutorial-2.po | 4 ++-- locales/fr/LC_MESSAGES/tutorial/tutorial-4.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/fr/LC_MESSAGES/tutorial/tutorial-7.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-1.po | 4 ++-- locales/it/LC_MESSAGES/tutorial/tutorial-2.po | 4 ++-- locales/it/LC_MESSAGES/tutorial/tutorial-4.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/it/LC_MESSAGES/tutorial/tutorial-7.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-1.po | 4 ++-- locales/pt/LC_MESSAGES/tutorial/tutorial-2.po | 4 ++-- locales/pt/LC_MESSAGES/tutorial/tutorial-4.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/pt/LC_MESSAGES/tutorial/tutorial-7.po | 2 +- locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 2 +- locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 2 +- locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 2 +- locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 2 +- locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 2 +- 36 files changed, 47 insertions(+), 47 deletions(-) diff --git a/docs/en/tutorial/tutorial-1.md b/docs/en/tutorial/tutorial-1.md index 8fb692aa..78e98e6e 100644 --- a/docs/en/tutorial/tutorial-1.md +++ b/docs/en/tutorial/tutorial-1.md @@ -8,7 +8,7 @@ First, we need to install **Briefcase**. Briefcase is a BeeWare tool that can be used to package your application for distribution to end users - but it can also be used to bootstrap a new project. Make sure you're in the `beeware-tutorial` directory you created in -[Tutorial 0], with the +[Tutorial 0](tutorial-0.md), with the `beeware-venv` virtual environment activated, and run: /// tab | macOS diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po index fafe8cb0..969c9672 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-0.po @@ -372,7 +372,7 @@ msgid "" "[create our first BeeWare application]{1}." msgstr "" "Wir haben jetzt unsere Umgebung eingerichtet. Wir sind bereit, " -"[unsere erste BeeWare-Anwendung zu erstellen][tutorial-1]." +"[unsere erste BeeWare-Anwendung zu erstellen]{1}." #~ msgid "Install Python" #~ msgstr "Python installieren" diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po index 7a63adb5..d9dac9e1 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-1.po @@ -37,7 +37,7 @@ msgstr "" "Werkzeug, das verwendet werden kann, um Ihre Anwendung für die Verteilung an " "Endbenutzer zu verpacken - aber es kann auch verwendet werden, um ein neues " "Projekt zu starten. Vergewissern Sie sich, dass Sie sich in dem Verzeichnis " -"`beeware-tutorial` befinden, das Sie in [Tutorial 0][tutorial-0] erstellt " +"`beeware-tutorial` befinden, das Sie in [Tutorial 0]{1} erstellt " "haben, und dass die virtuelle Umgebung `beeware-venv` aktiviert ist, und " "starten Sie:" @@ -332,5 +332,5 @@ msgid "" msgstr "" "Wir haben jetzt eine funktionierende Anwendung, die im Entwicklermodus " "läuft. Jetzt können wir unsere eigene Logik hinzufügen, damit unsere " -"Anwendung etwas Interessanteres tut. In [Tutorial 2][tutorial-2] werden wir " +"Anwendung etwas Interessanteres tut. In [Tutorial 2]{1} werden wir " "unserer Anwendung eine nützlichere Benutzeroberfläche geben." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po index 6d88409d..53e68cc8 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-2.po @@ -23,7 +23,7 @@ msgid "" "didn't write any code ourselves. Let's take a look at what was generated for " "us." msgstr "" -"In [Tutorial 1][tutorial-1] haben wir ein lauffähiges Rumpfprojekt erstellt, " +"In [Tutorial 1]{1} haben wir ein lauffähiges Rumpfprojekt erstellt, " "aber eigenen Code haben wir nicht geschrieben. Schauen wir uns an, was für " "uns generiert wurde." @@ -509,6 +509,6 @@ msgid "" msgstr "" "Wir haben jetzt eine Anwendung, die etwas Interessanteres macht. Aber sie " "läuft nur auf unserem eigenen Computer. Lassen Sie uns diese Anwendung für " -"die Verteilung verpacken. In [Tutorial 3][tutorial-3] werden wir unsere " +"die Verteilung verpacken. In [Tutorial 3]{1} werden wir unsere " "Anwendung als eigenständiges Installationsprogramm verpacken, das wir an " "einen Freund oder Kunden schicken oder in einen App Store hochladen können." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po index 0075d4dc..6b4e2216 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-4.po @@ -194,7 +194,7 @@ msgid "" "the complexity of setting up a code signing identity and keep the tutorial " "as simple as possible.)" msgstr "" -"(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3][tutorial-3] " +"(macOS-Benutzer sollten bedenken, dass wir, wie in [Tutorial 3]{1} " "erwähnt, für das Tutorial empfehlen, `briefcase package` mit dem `--adhoc-" "sign`-Flag auszuführen, um die Komplexität der Einrichtung einer Code-" "Signatur-Identität zu vermeiden und das Tutorial so einfach wie möglich zu " diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po index ba90df11..296da46e 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-6.po @@ -169,4 +169,4 @@ msgstr "" "bereitgestellt haben, ist die App recht einfach und enthält keine " "Bibliotheken von Drittanbietern. Können wir Bibliotheken aus dem Python " "Package Index (PyPI) in unsere App einbinden? Schauen Sie sich [Tutorial 7]" -"[tutorial-7] an, um das herauszufinden..." +"{1} an, um das herauszufinden..." diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po index bce0b454..3c55bf78 100644 --- a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/de/LC_MESSAGES/tutorial/tutorial-7.po @@ -223,7 +223,7 @@ msgid "" msgstr "" "Lassen Sie uns diesen aktualisierten Anwendungscode als eigenständige " "Anwendung verpacken. Da wir Änderungen am Code vorgenommen haben, müssen wir " -"die gleichen Schritte wie in [Tutorial 4][tutorial-4] ausführen:" +"die gleichen Schritte wie in [Tutorial 4]{1} ausführen:" #: docs/en/tutorial/tutorial-7.md:209 #: docs/en/tutorial/tutorial-7.md:251 @@ -621,6 +621,6 @@ msgid "" "application logic." msgstr "" "Wir haben jetzt eine App, die eine Bibliothek eines Drittanbieters " -"verwendet! In [Tutorial 8][tutorial-8] lernen wir, wie wir sicherstellen " +"verwendet! In [Tutorial 8]{1} lernen wir, wie wir sicherstellen " "können, dass unsere App auch dann reaktionsschnell bleibt, wenn wir " "komplexere Anwendungslogik hinzufügen." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po index e4e8388e..51f74c9b 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-0.po @@ -354,7 +354,7 @@ msgid "" "[create our first BeeWare application]{1}." msgstr "" "Ya hemos configurado nuestro entorno. Estamos listos para " -"[crear nuestra primera aplicación BeeWare][tutorial-1]." +"[crear nuestra primera aplicación BeeWare]{1}." #~ msgid "Install Python" #~ msgstr "Instalar Python" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po index fd8e651a..35e0462a 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-1.po @@ -37,7 +37,7 @@ msgstr "" "herramienta de BeeWare que se puede utilizar para empaquetar su aplicación " "para la distribución a los usuarios finales - pero también se puede utilizar " "para arrancar un nuevo proyecto. Asegúrate de que estás en el directorio " -"`beeware-tutorial` que creaste en [Tutorial 0][tutorial-0], con el entorno " +"`beeware-tutorial` que creaste en [Tutorial 0]{1}, con el entorno " "virtual `beeware-venv` activado, y ejecuta:" #: docs/en/tutorial/tutorial-1.md:14 @@ -342,5 +342,5 @@ msgstr "" "Ahora tenemos una aplicación que funciona, ejecutándose en modo " "desarrollador. Ahora podemos añadir algo de lógica propia para hacer que " "nuestra aplicación haga algo un poco más interesante. En [Tutorial 2]" -"[tutorial-2], pondremos una interfaz de usuario más útil en nuestra " +"{1}, pondremos una interfaz de usuario más útil en nuestra " "aplicación." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po index 508c114f..494b5c25 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-2.po @@ -24,7 +24,7 @@ msgid "" "didn't write any code ourselves. Let's take a look at what was generated for " "us." msgstr "" -"En [Tutorial 1][tutorial-1], generamos un proyecto stub que era capaz de " +"En [Tutorial 1]{1}, generamos un proyecto stub que era capaz de " "ejecutarse, pero no escribimos ningún código nosotros mismos. Echemos un " "vistazo a lo que se generó para nosotros." @@ -500,6 +500,6 @@ msgid "" msgstr "" "Ahora tenemos una aplicación que hace algo un poco más interesante. Pero " "sólo se ejecuta en nuestro propio ordenador. Vamos a empaquetar esta " -"aplicación para su distribución. En [Tutorial 3][tutorial-3], vamos a " +"aplicación para su distribución. En [Tutorial 3]{1}, vamos a " "empaquetar nuestra aplicación como un instalador independiente que podríamos " "enviar a un amigo, un cliente, o subir a una App Store." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po index 3d6bcb6c..39f1a3a0 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-4.po @@ -199,7 +199,7 @@ msgid "" "the complexity of setting up a code signing identity and keep the tutorial " "as simple as possible.)" msgstr "" -"(usuarios de macOS, recordad que como se indica en [Tutorial 3][tutorial-3], " +"(usuarios de macOS, recordad que como se indica en [Tutorial 3]{1}, " "para el tutorial recomendamos ejecutar `briefcase package` con la bandera " "`--adhoc-sign` para evitar la complejidad de configurar una identidad de " "firma de código y mantener el tutorial lo más simple posible)" diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po index 2702ca84..ff79f465 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-6.po @@ -172,5 +172,5 @@ msgstr "" "Aunque ya hemos desplegado esta aplicación en ordenadores de sobremesa, " "dispositivos móviles y la web, la aplicación es bastante sencilla y no " "incluye bibliotecas de terceros. ¿Podemos incluir librerías del Python " -"Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7][tutorial-7] " +"Package Index (PyPI) en nuestra aplicación? Visita [Tutorial 7]{1} " "para averiguarlo..." diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po index 241bf140..33151da5 100644 --- a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/es/LC_MESSAGES/tutorial/tutorial-7.po @@ -220,7 +220,7 @@ msgid "" msgstr "" "Vamos a empaquetar este código de aplicación actualizado como una aplicación " "independiente. Como hemos hecho cambios en el código, tenemos que seguir los " -"mismos pasos que en [Tutorial 4][tutorial-4]:" +"mismos pasos que en [Tutorial 4]{1}:" #: docs/en/tutorial/tutorial-7.md:209 #: docs/en/tutorial/tutorial-7.md:251 diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po index 1b969182..08b874c4 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po @@ -359,7 +359,7 @@ msgid "" "[create our first BeeWare application]{1}." msgstr "" "Nous avons maintenant mis en place notre environnement. Nous sommes prêts à " -"[créer notre première application BeeWare][tutorial-1]." +"[créer notre première application BeeWare]{1}." #~ msgid "Install Python" #~ msgstr "Installer Python" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po index f58128cb..f0063c3a 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po @@ -37,7 +37,7 @@ msgstr "" "BeeWare qui peut être utilisé pour empaqueter votre application afin de la " "distribuer aux utilisateurs finaux – mais il peut également être utilisé " "pour démarrer un nouveau projet. Assurez-vous d'être dans le répertoire " -"`beeware-tutorial` que vous avez créé lors du [Tutorial 0][tutorial-0], avec " +"`beeware-tutorial` que vous avez créé lors du [Tutorial 0]{1}, avec " "l'environnement virtuel `beeware-venv` activé, et exécutez :" #: docs/en/tutorial/tutorial-1.md:14 @@ -330,5 +330,5 @@ msgstr "" "Nous avons maintenant une application fonctionnelle, s'exécutant en mode " "développeur. Nous pouvons maintenant ajouter notre propre logique pour que " "notre application fasse quelque chose d'un peu plus intéressant. Dans " -"[Tutoriel 2][tutorial-2], nous allons ajouter à notre application une " +"[Tutoriel 2]{1}, nous allons ajouter à notre application une " "interface utilisateur plus utile." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po index 2e60bbf6..3da7c289 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po @@ -23,7 +23,7 @@ msgid "" "didn't write any code ourselves. Let's take a look at what was generated for " "us." msgstr "" -"Dans le [Tutoriel 1][tutorial-1], nous avons généré une ébauche de projet " +"Dans le [Tutoriel 1]{1}, nous avons généré une ébauche de projet " "capable de s'exécuter, mais nous n'avons pas écrit de code nous-mêmes. " "Jetons un coup d'œil à ce qui a été généré pour nous." @@ -483,6 +483,6 @@ msgstr "" "Nous avons maintenant une application qui fait quelque chose d'un peu plus " "intéressant. Mais elle ne fonctionne que sur notre propre ordinateur. Allons " "empaqueter cette application pour la distribuer. Dans [Tutoriel 3]" -"[tutorial-3], nous allons empaqueter notre application sous la forme d'un " +"{1}, nous allons empaqueter notre application sous la forme d'un " "programme d'installation autonome que nous pourrons envoyer à un ami, un " "client, ou télécharger sur un App Store." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po index 472bb2a6..1793c56e 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po @@ -201,7 +201,7 @@ msgid "" "as simple as possible.)" msgstr "" "(Utilisateurs de macOS, rappelez-vous que comme indiqué dans [Tutoriel 3]" -"[tutorial-3], pour le tutoriel nous recommandons d'exécuter `briefcase " +"{1}, pour le tutoriel nous recommandons d'exécuter `briefcase " "package` avec le drapeau `--adhoc-sign` pour éviter la complexité de la mise " "en place d'une identité de signature de code et garder le tutoriel aussi " "simple que possible)" diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po index 3bc01327..2837db0a 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po @@ -176,4 +176,4 @@ msgstr "" "de bureau, les téléphones portables et le web, l'application est assez " "simple et n'implique pas de bibliothèques tierces. Pouvons-nous inclure des " "bibliothèques du Python Package Index (PyPI) dans notre application ? " -"Consultez [Tutoriel 7][tutorial-7] pour le savoir..." +"Consultez [Tutoriel 7]{1} pour le savoir..." diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po index 45c2d0d4..31a13fde 100644 --- a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po @@ -221,7 +221,7 @@ msgid "" msgstr "" "Nous allons faire en sorte que ce code d'application mis à jour soit " "empaqueté en tant qu'application autonome. Puisque nous avons modifié le " -"code, nous devons suivre les mêmes étapes que dans [Tutoriel 4][tutorial-4] :" +"code, nous devons suivre les mêmes étapes que dans [Tutoriel 4]{1} :" #: docs/en/tutorial/tutorial-7.md:209 #: docs/en/tutorial/tutorial-7.md:251 diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po index 38da7a2b..0d56885a 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-0.po @@ -372,7 +372,7 @@ msgid "" "[create our first BeeWare application]{1}." msgstr "" "Ora abbiamo configurato il nostro ambiente. Siamo pronti a " -"[creare la nostra prima applicazione BeeWare][tutorial-1]." +"[creare la nostra prima applicazione BeeWare]{1}." #, fuzzy #~ msgid "Install Python" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po index 13e0b3f5..8269ccd1 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-1.po @@ -39,7 +39,7 @@ msgstr "" "strumento di BeeWare che può essere usato per confezionare l'applicazione da " "distribuire agli utenti finali, ma può anche essere usato per avviare un " "nuovo progetto. Assicuratevi di essere nella cartella `beeware-tutorial` " -"creata in [Tutorial 0][tutorial-0], con l'ambiente virtuale `beeware-venv` " +"creata in [Tutorial 0]{1}, con l'ambiente virtuale `beeware-venv` " "attivato ed eseguite:" #: docs/en/tutorial/tutorial-1.md:14 @@ -343,5 +343,5 @@ msgid "" msgstr "" "Ora abbiamo un'applicazione funzionante, eseguita in modalità sviluppatore. " "Ora possiamo aggiungere un po' di logica per far fare alla nostra " -"applicazione qualcosa di più interessante. In [Tutorial 2][tutorial-2], " +"applicazione qualcosa di più interessante. In [Tutorial 2]{1}, " "realizzeremo un'interfaccia utente più utile per la nostra applicazione." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po index 01420a54..cfec3b2e 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-2.po @@ -23,7 +23,7 @@ msgid "" "didn't write any code ourselves. Let's take a look at what was generated for " "us." msgstr "" -"In [Tutorial 1][tutorial-1], abbiamo generato un progetto stub in grado di " +"In [Tutorial 1]{1}, abbiamo generato un progetto stub in grado di " "funzionare, ma non abbiamo scritto alcun codice. Diamo un'occhiata a ciò che " "è stato generato per noi." @@ -507,6 +507,6 @@ msgid "" msgstr "" "Ora abbiamo un'applicazione che fa qualcosa di più interessante. Ma funziona " "solo sul nostro computer. Impacchettiamo questa applicazione per la " -"distribuzione. In [Tutorial 3][tutorial-3], impacchetteremo la nostra " +"distribuzione. In [Tutorial 3]{1}, impacchetteremo la nostra " "applicazione come un programma di installazione autonomo da inviare a un " "amico, a un cliente o da caricare su un App Store." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po index 20799f47..c9da144c 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-4.po @@ -199,7 +199,7 @@ msgid "" "as simple as possible.)" msgstr "" "(Per gli utenti di macOS, ricordate che, come indicato in [Tutorial 3]" -"[tutorial-3], per il tutorial si consiglia di eseguire il pacchetto " +"{1}, per il tutorial si consiglia di eseguire il pacchetto " "`briefcase` con il flag `--adhoc-sign` per evitare la complessità di " "impostare un'identità di firma del codice e mantenere il tutorial il più " "semplice possibile)" diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po index b6f80e7e..16c4f395 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-6.po @@ -171,4 +171,4 @@ msgstr "" "Anche se abbiamo distribuito questa applicazione su desktop, mobile e web, " "l'applicazione è piuttosto semplice e non coinvolge librerie di terze parti. " "Possiamo includere nella nostra applicazione le librerie del Python Package " -"Index (PyPI)? Consultate [Tutorial 7][tutorial-7] per scoprirlo..." +"Index (PyPI)? Consultate [Tutorial 7]{1} per scoprirlo..." diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po index b8cb472f..88a832d1 100644 --- a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/it/LC_MESSAGES/tutorial/tutorial-7.po @@ -222,7 +222,7 @@ msgid "" msgstr "" "Facciamo in modo che il codice aggiornato dell'applicazione venga " "confezionato come applicazione autonoma. Poiché abbiamo apportato modifiche " -"al codice, dobbiamo seguire gli stessi passi di [Tutorial 4][tutorial-4]:" +"al codice, dobbiamo seguire gli stessi passi di [Tutorial 4]{1}:" #: docs/en/tutorial/tutorial-7.md:209 #: docs/en/tutorial/tutorial-7.md:251 diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po index d09afcef..6f5d3567 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po @@ -356,7 +356,7 @@ msgid "" "[create our first BeeWare application]{1}." msgstr "" "Agora que configuramos nosso ambiente, estamos prontos para " -"[criar nossa primeira aplicação BeeWare][tutorial-1]." +"[criar nossa primeira aplicação BeeWare]{1}." #~ msgid "Install Python" #~ msgstr "Instalando o Python" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po index a39aafbc..634c1afe 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po @@ -37,7 +37,7 @@ msgstr "" "BeeWare que pode ser usada para empacotar sua aplicação para distribuição " "aos usuários finais - mas também pode ser usada para iniciar um novo " "projeto. Certifique-se de estar no diretório `beeware-tutorial` que você " -"criou no [Tutorial 0][tutorial-0], com o ambiente virtual `beeware-venv` " +"criou no [Tutorial 0]{1}, com o ambiente virtual `beeware-venv` " "ativado, e execute:" #: docs/en/tutorial/tutorial-1.md:14 @@ -325,5 +325,5 @@ msgid "" msgstr "" "Agora temos um aplicativo funcional, em execução no modo de desenvolvedor. " "Podemos adicionar alguma lógica própria para tornar nosso aplicativo um " -"pouco mais interessante. No [Tutorial 2][tutorial-2], vamos colocar uma " +"pouco mais interessante. No [Tutorial 2]{1}, vamos colocar uma " "interface de usuário mais útil em nossa aplicação." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po index 77324752..c970884f 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po @@ -23,7 +23,7 @@ msgid "" "didn't write any code ourselves. Let's take a look at what was generated for " "us." msgstr "" -"No [Tutorial 1][tutorial-1], geramos um projeto inicial que executava, mas " +"No [Tutorial 1]{1}, geramos um projeto inicial que executava, mas " "não escrevemos nenhum código por conta própria. Vamos dar uma olhada no que " "foi criado para nós." @@ -478,6 +478,6 @@ msgid "" msgstr "" "Criamos uma aplicação com recursos mais interessantes. Porém, ela somente " "funciona em nosso computador. Vamos empacotar esta aplicação para " -"distribuição. No [Tutorial 3][tutorial-3], encapsularemos nossa aplicação em " +"distribuição. No [Tutorial 3]{1}, encapsularemos nossa aplicação em " "um instalador independente, que poderemos enviar a amigos, clientes ou " "publicar em uma App Store." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po index 886fc99e..70db9484 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po @@ -202,7 +202,7 @@ msgid "" "as simple as possible.)" msgstr "" "(Usuários do macOS, lembrem-se de que, conforme observado em [Tutorial 3]" -"[tutorial-3], para o tutorial, recomendamos executar o `briefcase package` " +"{1}, para o tutorial, recomendamos executar o `briefcase package` " "com o sinalizador `--adhoc-sign` para evitar a complexidade da configuração " "de uma identidade de assinatura de código e manter o tutorial o mais simples " "possível)" diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po index ac353d43..ad730e2a 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po @@ -171,4 +171,4 @@ msgstr "" "Embora já tenhamos implantado esse aplicativo no desktop, em dispositivos " "móveis e na Web, ele é bastante simples e não envolve bibliotecas de " "terceiros. Podemos incluir bibliotecas do Python Package Index (PyPI) em " -"nosso aplicativo? Consulte o [Tutorial 7][tutorial-7] para descobrir..." +"nosso aplicativo? Consulte o [Tutorial 7]{1} para descobrir..." diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po index 46064b67..fcce1ace 100644 --- a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po @@ -223,7 +223,7 @@ msgid "" msgstr "" "Vamos empacotar esse código de aplicativo atualizado como um aplicativo " "autônomo. Como fizemos alterações no código, precisamos seguir as mesmas " -"etapas do [Tutorial 4][tutorial-4]:" +"etapas do [Tutorial 4]{1}:" #: docs/en/tutorial/tutorial-7.md:209 #: docs/en/tutorial/tutorial-7.md:251 diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po index 9d3e9ef8..6ecee8b1 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po @@ -327,7 +327,7 @@ msgstr "下一步" msgid "" "We've now set up our environment. We're ready to " "[create our first BeeWare application]{1}." -msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序][tutorial-1]" +msgstr "现在我们已经设置好了环境。我们已经准备创建\\ [您的第一个应用程序]{1}" "\\ 了。" #~ msgid "Install Python" diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po index 98b6358f..52c48a51 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po @@ -35,7 +35,7 @@ msgid "" msgstr "" "首先,我们需要安装 **Briefcase**。Briefcase 是一款 BeeWare " "工具,可用于打包应用程序,以便分发给最终用户;但它也可用于引导新项目。" -"确保您在 [教程0][tutorial-0] 中创建的 `beeware-tutorial` 目录中,并已激活 " +"确保您在 [教程0]{1} 中创建的 `beeware-tutorial` 目录中,并已激活 " "`beeware-venv` 虚拟环境,然后运行:" #: docs/en/tutorial/tutorial-1.md:14 diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po index dd13a621..abdcd2cc 100644 --- a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po +++ b/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po @@ -143,4 +143,4 @@ msgid "" msgstr "" "虽然我们现在已经在桌面、手机和网络上部署了这个应用程序,但该应用程序相当简单" ",不涉及任何第三方库。我们可以在应用程序中包含 Python 包索引 (PyPI) " -"中的库吗?请访问 [教程7][tutorial-7] 了解详情..." +"中的库吗?请访问 [教程7]{1} 了解详情..." diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po index d896a2c4..71cb93c1 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po @@ -35,7 +35,7 @@ msgid "" msgstr "" "首先,我們需要安裝 **Briefcase**。 它是一個 BeeWare 工具," "可用於打包應用程式以分發給最終用戶 - 但它也可用於引導新專案。確保您位於 " -"[教學 0][tutorial-0] 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` " +"[教學 0]{1} 中建立的 `beeware-tutorial` 目錄中,啟動 `beeware-venv` " "虛擬環境,然後執行:" #: docs/en/tutorial/tutorial-1.md:14 diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po index 711193b5..f00a524b 100644 --- a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po +++ b/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po @@ -210,7 +210,7 @@ msgid "" "{1}:" msgstr "" "讓我們將此更新的應用程式程式碼打包為獨立應用程式。由於我們已經更改了程式碼," -"因此我們需要遵循 [教程 4][tutorial-4] 中的相同步驟:" +"因此我們需要遵循 [教程 4]{1} 中的相同步驟:" #: docs/en/tutorial/tutorial-7.md:209 #: docs/en/tutorial/tutorial-7.md:251 From 7231186f1b54e5bbf8e6346376aba239611ffa9c Mon Sep 17 00:00:00 2001 From: Kattni Date: Fri, 22 Aug 2025 00:30:09 -0400 Subject: [PATCH 12/24] Requested changes. --- .gitignore | 1 - docs/en/SUMMARY.md | 2 +- docs/en/how-to/index.md | 52 +- docs/en/tutorial/topics/camera-access.md | 8 +- docs/en/tutorial/tutorial-4.md | 12 +- .../locales}/de/LC_MESSAGES/SUMMARY.po | 0 .../locales}/de/LC_MESSAGES/how-to/index.po | 0 .../locales}/de/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../de/LC_MESSAGES/tutorial/topics/index.po | 0 .../de/LC_MESSAGES/tutorial/topics/testing.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../de/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../locales}/es/LC_MESSAGES/SUMMARY.po | 0 .../locales}/es/LC_MESSAGES/how-to/index.po | 0 .../locales}/es/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../es/LC_MESSAGES/tutorial/topics/index.po | 0 .../es/LC_MESSAGES/tutorial/topics/testing.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../es/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../locales}/fr/LC_MESSAGES/SUMMARY.po | 0 .../locales}/fr/LC_MESSAGES/how-to/index.po | 0 .../locales}/fr/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../fr/LC_MESSAGES/tutorial/topics/index.po | 0 .../fr/LC_MESSAGES/tutorial/topics/testing.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../fr/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../locales}/it/LC_MESSAGES/SUMMARY.po | 0 .../locales}/it/LC_MESSAGES/how-to/index.po | 0 .../locales}/it/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../it/LC_MESSAGES/tutorial/topics/index.po | 0 .../it/LC_MESSAGES/tutorial/topics/testing.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../it/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../locales}/pt/LC_MESSAGES/SUMMARY.po | 0 .../locales}/pt/LC_MESSAGES/how-to/index.po | 0 .../locales}/pt/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../pt/LC_MESSAGES/tutorial/topics/index.po | 0 .../pt/LC_MESSAGES/tutorial/topics/testing.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../pt/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../locales}/zh_CN/LC_MESSAGES/SUMMARY.po | 0 .../zh_CN/LC_MESSAGES/how-to/index.po | 0 .../locales}/zh_CN/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../LC_MESSAGES/tutorial/topics/index.po | 0 .../LC_MESSAGES/tutorial/topics/testing.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../zh_CN/LC_MESSAGES/tutorial/tutorial-8.po | 0 .../locales}/zh_TW/LC_MESSAGES/SUMMARY.po | 0 .../zh_TW/LC_MESSAGES/how-to/index.po | 0 .../locales}/zh_TW/LC_MESSAGES/index.po | 0 .../tutorial/topics/camera-access.po | 0 .../tutorial/topics/custom-icons.po | 0 .../LC_MESSAGES/tutorial/topics/index.po | 0 .../LC_MESSAGES/tutorial/topics/testing.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-0.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-1.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-2.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-3.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-4.po | 0 .../tutorial/tutorial-5/android.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/iOS.po | 0 .../LC_MESSAGES/tutorial/tutorial-5/index.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-6.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-7.po | 0 .../zh_TW/LC_MESSAGES/tutorial/tutorial-8.po | 0 locales/templates/SUMMARY.pot | 85 --- locales/templates/how-to/index.pot | 408 --------------- locales/templates/index.pot | 152 ------ .../tutorial/topics/camera-access.pot | 193 ------- .../tutorial/topics/custom-icons.pot | 217 -------- locales/templates/tutorial/topics/index.pot | 55 -- locales/templates/tutorial/topics/testing.pot | 189 ------- locales/templates/tutorial/tutorial-0.pot | 288 ---------- locales/templates/tutorial/tutorial-1.pot | 269 ---------- locales/templates/tutorial/tutorial-2.pot | 371 ------------- locales/templates/tutorial/tutorial-3.pot | 436 ---------------- locales/templates/tutorial/tutorial-4.pot | 224 -------- .../templates/tutorial/tutorial-5/android.pot | 321 ------------ locales/templates/tutorial/tutorial-5/iOS.pot | 118 ----- .../templates/tutorial/tutorial-5/index.pot | 40 -- locales/templates/tutorial/tutorial-6.pot | 126 ----- locales/templates/tutorial/tutorial-7.pot | 453 ---------------- locales/templates/tutorial/tutorial-8.pot | 491 ------------------ tox.ini | 8 +- 150 files changed, 60 insertions(+), 4459 deletions(-) rename {locales => docs/locales}/de/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/de/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/es/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/fr/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/it/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/pt/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/SUMMARY.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/how-to/index.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/index.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/topics/index.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/topics/testing.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po (100%) rename {locales => docs/locales}/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po (100%) delete mode 100644 locales/templates/SUMMARY.pot delete mode 100644 locales/templates/how-to/index.pot delete mode 100644 locales/templates/index.pot delete mode 100644 locales/templates/tutorial/topics/camera-access.pot delete mode 100644 locales/templates/tutorial/topics/custom-icons.pot delete mode 100644 locales/templates/tutorial/topics/index.pot delete mode 100644 locales/templates/tutorial/topics/testing.pot delete mode 100644 locales/templates/tutorial/tutorial-0.pot delete mode 100644 locales/templates/tutorial/tutorial-1.pot delete mode 100644 locales/templates/tutorial/tutorial-2.pot delete mode 100644 locales/templates/tutorial/tutorial-3.pot delete mode 100644 locales/templates/tutorial/tutorial-4.pot delete mode 100644 locales/templates/tutorial/tutorial-5/android.pot delete mode 100644 locales/templates/tutorial/tutorial-5/iOS.pot delete mode 100644 locales/templates/tutorial/tutorial-5/index.pot delete mode 100644 locales/templates/tutorial/tutorial-6.pot delete mode 100644 locales/templates/tutorial/tutorial-7.pot delete mode 100644 locales/templates/tutorial/tutorial-8.pot diff --git a/.gitignore b/.gitignore index be2298e5..a6def56e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ # MkDocs _build -comment.md # Translations *.mo diff --git a/docs/en/SUMMARY.md b/docs/en/SUMMARY.md index 76c39a52..90509f0d 100644 --- a/docs/en/SUMMARY.md +++ b/docs/en/SUMMARY.md @@ -7,7 +7,7 @@ - [Tutorial 5 - Taking it Mobile](tutorial/tutorial-5/index.md) - [Tutorial 5 - Taking it mobile: Android](tutorial/tutorial-5/android.md) - [Tutorial 5 - Taking it mobile: iOS](tutorial/tutorial-5/iOS.md) -- [Tutorial 6 -Put it on the web!](tutorial/tutorial-6.md) +- [Tutorial 6 - Put it on the web!](tutorial/tutorial-6.md) - [Tutorial 7 - Get this (third-)party started](tutorial/tutorial-7.md) - [Tutorial 8 - Making it Smooooth](tutorial/tutorial-8.md) - Going further diff --git a/docs/en/how-to/index.md b/docs/en/how-to/index.md index 3f8d701f..633887b1 100644 --- a/docs/en/how-to/index.md +++ b/docs/en/how-to/index.md @@ -136,7 +136,7 @@ packages, so we have to manually install each package: ```console (.venv) $ cd beeware -(.venv) $ python -m pip install -e ".[dev]" +(.venv) $ python -m pip install -r requirements.dev.txt ``` /// @@ -145,7 +145,7 @@ packages, so we have to manually install each package: ```console (.venv) $ cd beeware -(.venv) $ python -m pip install -e .[dev] +(.venv) $ python -m pip install -r requirements.dev.txt ``` /// @@ -154,7 +154,7 @@ packages, so we have to manually install each package: ```doscon (.venv) C:\...>cd beeware -(.venv) C:\...>python -m pip install -e .[dev] +(.venv) C:\...>python -m pip install -r requirements.dev.txt ``` /// @@ -339,7 +339,7 @@ Once your development environment is set up, run: /// -The output of the file should be in the `docs/_build/html` folder. If +The output of the file should be in the `_build/html` folder. If there are any markup problems, they'll raise an error. ### Live Tutorial preview @@ -379,7 +379,7 @@ refreshed. ### Tutorial linting -The build process will identify reStructuredText problems, but BeeWare +The build process will identify most Markdown problems, but BeeWare performs some additional "lint" checks. To run the lint checks: /// tab | macOS @@ -423,11 +423,45 @@ the spellchecker's dictionary. When adding to this list, remember: - If a term is being used "as code", then it should be quoted as inline code rather than being added to the dictionary. -### Building translations +### Translations The BeeWare tutorial is available in multiple languages, which you can build individually or all at the same time. +#### Updating translations + +If you have made changes to the English content, the first step to +building the translations is to update the translation files. To +update the translations: + +/// tab | macOS + +```console +(.venv) $ tox -e docs-translate +``` + +/// + +/// tab | Linux + +```console +(.venv) $ tox -e docs-translate +``` + +/// + +/// tab | Windows + +```doscon +(.venv) C:\...>tox -e docs-translate +``` + +/// + +This will update the + +#### Building translations + To build a single translation, you run the `docs` command with the language code for the translation you wish to build. For example, to build French: @@ -456,7 +490,7 @@ to build French: /// -The French translation should be built in the `docs/_build/html` +The French translation should be built in the `_build/html` folder. If there are any markup problems, they'll raise an error. An error is also raised if you enter a language code for an @@ -489,9 +523,9 @@ To build all the translations at the same time: /// -This will build all available translations in the `docs/_build/html` +This will build all available translations in the `_build/html` directory, inside a language-specific subdirectory. For example, the -French translation would be available in `docs/_build/html/fr`. +French translation would be available in `_build/html/fr`. ## What to work on? diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index 1ab12367..e50a688d 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -159,8 +159,8 @@ We can now generate and run the app: /// tab | macOS ```console -(beeware-venv)\$ briefcase create (beeware-venv)\$ briefcase build -(beeware-venv)\$ briefcase run +(beeware-venv) $ briefcase create (beeware-venv) $ briefcase build +(beeware-venv) $ briefcase run ``` /// @@ -168,8 +168,8 @@ We can now generate and run the app: /// tab | Android ```console -(beeware-venv)\$ briefcase create android (beeware-venv)\$ briefcase -build android (beeware-venv)\$ briefcase run android +(beeware-venv) $ briefcase create android (beeware-venv) $ briefcase +build android (beeware-venv) $ briefcase run android ``` /// diff --git a/docs/en/tutorial/tutorial-4.md b/docs/en/tutorial/tutorial-4.md index 3f6b58c7..28ed571c 100644 --- a/docs/en/tutorial/tutorial-4.md +++ b/docs/en/tutorial/tutorial-4.md @@ -30,7 +30,7 @@ async def say_hello(self, widget): We need to make the method `async` so that when we display the dialog, the rest of the application continues to run. Don't worry about this -detail too much right now -we'll give a more detailed explanation in +detail too much right now - we'll give a more detailed explanation in [Tutorial 8](tutorial-8.md). This directs Toga to open a modal dialog box when the button is pressed. @@ -71,7 +71,7 @@ see the new dialog box: However, if you run `briefcase run`, the dialog box won't appear. Why is this? Well, `briefcase dev` operates by running your code in -place -it tries to produce as realistic runtime environment for your +place - it tries to produce as realistic runtime environment for your code as possible, but it doesn't provide or use any of the platform infrastructure for wrapping your code as an application. Part of the process of packaging your app involves copying your code *into* the @@ -147,10 +147,14 @@ Now that we've updated the installer code, we can then run updated app, and `briefcase package` to repackage the application for distribution. -(macOS users, remember that as noted in [Tutorial 3](tutorial-3.md), for the +/// note | Note + +macOS users, remember that as noted in [Tutorial 3](tutorial-3.md), for the tutorial we recommend running `briefcase package` with the `--adhoc-sign` flag to avoid the complexity of setting up a code signing -identity and keep the tutorial as simple as possible.) +identity and keep the tutorial as simple as possible. + +/// ## Update and run in one step diff --git a/locales/de/LC_MESSAGES/SUMMARY.po b/docs/locales/de/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/de/LC_MESSAGES/SUMMARY.po rename to docs/locales/de/LC_MESSAGES/SUMMARY.po diff --git a/locales/de/LC_MESSAGES/how-to/index.po b/docs/locales/de/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/de/LC_MESSAGES/how-to/index.po rename to docs/locales/de/LC_MESSAGES/how-to/index.po diff --git a/locales/de/LC_MESSAGES/index.po b/docs/locales/de/LC_MESSAGES/index.po similarity index 100% rename from locales/de/LC_MESSAGES/index.po rename to docs/locales/de/LC_MESSAGES/index.po diff --git a/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/de/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/de/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/de/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/de/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/de/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/de/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/de/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/de/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/de/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/de/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/de/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/de/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/es/LC_MESSAGES/SUMMARY.po b/docs/locales/es/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/es/LC_MESSAGES/SUMMARY.po rename to docs/locales/es/LC_MESSAGES/SUMMARY.po diff --git a/locales/es/LC_MESSAGES/how-to/index.po b/docs/locales/es/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/es/LC_MESSAGES/how-to/index.po rename to docs/locales/es/LC_MESSAGES/how-to/index.po diff --git a/locales/es/LC_MESSAGES/index.po b/docs/locales/es/LC_MESSAGES/index.po similarity index 100% rename from locales/es/LC_MESSAGES/index.po rename to docs/locales/es/LC_MESSAGES/index.po diff --git a/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/es/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/es/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/es/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/es/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/es/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/es/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/es/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/es/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/es/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/es/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/es/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/es/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/fr/LC_MESSAGES/SUMMARY.po b/docs/locales/fr/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/fr/LC_MESSAGES/SUMMARY.po rename to docs/locales/fr/LC_MESSAGES/SUMMARY.po diff --git a/locales/fr/LC_MESSAGES/how-to/index.po b/docs/locales/fr/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/fr/LC_MESSAGES/how-to/index.po rename to docs/locales/fr/LC_MESSAGES/how-to/index.po diff --git a/locales/fr/LC_MESSAGES/index.po b/docs/locales/fr/LC_MESSAGES/index.po similarity index 100% rename from locales/fr/LC_MESSAGES/index.po rename to docs/locales/fr/LC_MESSAGES/index.po diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/fr/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/fr/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/fr/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/fr/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/fr/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/fr/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/fr/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/fr/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/fr/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/it/LC_MESSAGES/SUMMARY.po b/docs/locales/it/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/it/LC_MESSAGES/SUMMARY.po rename to docs/locales/it/LC_MESSAGES/SUMMARY.po diff --git a/locales/it/LC_MESSAGES/how-to/index.po b/docs/locales/it/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/it/LC_MESSAGES/how-to/index.po rename to docs/locales/it/LC_MESSAGES/how-to/index.po diff --git a/locales/it/LC_MESSAGES/index.po b/docs/locales/it/LC_MESSAGES/index.po similarity index 100% rename from locales/it/LC_MESSAGES/index.po rename to docs/locales/it/LC_MESSAGES/index.po diff --git a/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/it/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/it/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/it/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/it/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/it/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/it/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/it/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/it/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/it/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/it/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/it/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/it/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/pt/LC_MESSAGES/SUMMARY.po b/docs/locales/pt/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/pt/LC_MESSAGES/SUMMARY.po rename to docs/locales/pt/LC_MESSAGES/SUMMARY.po diff --git a/locales/pt/LC_MESSAGES/how-to/index.po b/docs/locales/pt/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/pt/LC_MESSAGES/how-to/index.po rename to docs/locales/pt/LC_MESSAGES/how-to/index.po diff --git a/locales/pt/LC_MESSAGES/index.po b/docs/locales/pt/LC_MESSAGES/index.po similarity index 100% rename from locales/pt/LC_MESSAGES/index.po rename to docs/locales/pt/LC_MESSAGES/index.po diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/pt/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/pt/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/pt/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/pt/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/pt/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/pt/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/pt/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/pt/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/pt/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/zh_CN/LC_MESSAGES/SUMMARY.po b/docs/locales/zh_CN/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/SUMMARY.po rename to docs/locales/zh_CN/LC_MESSAGES/SUMMARY.po diff --git a/locales/zh_CN/LC_MESSAGES/how-to/index.po b/docs/locales/zh_CN/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/how-to/index.po rename to docs/locales/zh_CN/LC_MESSAGES/how-to/index.po diff --git a/locales/zh_CN/LC_MESSAGES/index.po b/docs/locales/zh_CN/LC_MESSAGES/index.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/index.po rename to docs/locales/zh_CN/LC_MESSAGES/index.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/zh_CN/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/zh_TW/LC_MESSAGES/SUMMARY.po b/docs/locales/zh_TW/LC_MESSAGES/SUMMARY.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/SUMMARY.po rename to docs/locales/zh_TW/LC_MESSAGES/SUMMARY.po diff --git a/locales/zh_TW/LC_MESSAGES/how-to/index.po b/docs/locales/zh_TW/LC_MESSAGES/how-to/index.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/how-to/index.po rename to docs/locales/zh_TW/LC_MESSAGES/how-to/index.po diff --git a/locales/zh_TW/LC_MESSAGES/index.po b/docs/locales/zh_TW/LC_MESSAGES/index.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/index.po rename to docs/locales/zh_TW/LC_MESSAGES/index.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/camera-access.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/custom-icons.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/index.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/topics/testing.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-0.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-1.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-2.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-3.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-4.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/android.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/iOS.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-5/index.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-6.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-7.po diff --git a/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po b/docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po similarity index 100% rename from locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po rename to docs/locales/zh_TW/LC_MESSAGES/tutorial/tutorial-8.po diff --git a/locales/templates/SUMMARY.pot b/locales/templates/SUMMARY.pot deleted file mode 100644 index 3b62f514..00000000 --- a/locales/templates/SUMMARY.pot +++ /dev/null @@ -1,85 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/SUMMARY.md:1 -msgid "[Tutorial 0 - Let's get set up!]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:2 -msgid "[Tutorial 1 - Your first app]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:3 -msgid "[Tutorial 2 - Making it interesting]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:4 -msgid "[Tutorial 3 - Packaging for distribution]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:5 -msgid "[Tutorial 4 - Updating your application]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:6 -msgid "Tutorial 5 - Taking it Mobile" -msgstr "" - -#: docs/en/SUMMARY.md:6 -msgid "[Tutorial 5 - Taking it Mobile]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:6 -msgid "[Tutorial 5 - Taking it mobile: Android]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:6 -msgid "[Tutorial 5 - Taking it mobile: iOS]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:10 -msgid "[Tutorial 6 -Put it on the web!]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:11 -msgid "[Tutorial 7 - Get this (third-)party started]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:12 -msgid "[Tutorial 8 - Making it Smooooth]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:13 -msgid "Going further" -msgstr "" - -#: docs/en/SUMMARY.md:13 -msgid "[Going further]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:13 -msgid "[Customizing icons]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:13 -msgid "[Using the camera]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:13 -msgid "[Testing times]{1}" -msgstr "" - -#: docs/en/SUMMARY.md:18 -msgid "[Contributing to this tutorial]{1}" -msgstr "" diff --git a/locales/templates/how-to/index.pot b/locales/templates/how-to/index.pot deleted file mode 100644 index e219ec0a..00000000 --- a/locales/templates/how-to/index.pot +++ /dev/null @@ -1,408 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/how-to/index.md:1 -msgid "Contributing to this tutorial" -msgstr "" - -#: docs/en/how-to/index.md:3 -msgid "" -"This tutorial is written using [MkDocs and Markdown]{1}. This guide will " -"help you contribute fixes or new content to this tutorial." -msgstr "" - -#: docs/en/how-to/index.md:7 -msgid "" -"Translations of this tutorial are managed using [Weblate]{1}. If you'd like " -"to contribute to the translation effort, join the `#translations` channel on " -"[Discord]{2} and introduce yourself!" -msgstr "" - -#: docs/en/how-to/index.md:12 -msgid "Set up your development environment" -msgstr "" - -#: docs/en/how-to/index.md:14 -msgid "" -"To build the BeeWare tutorial you **must** have a Python 3.12 interpreter " -"installed and available on your path (i.e., `python3` must start a Python " -"3.12 interpreter)." -msgstr "" - -#: docs/en/how-to/index.md:18 -#: docs/en/how-to/index.md:51 -#: docs/en/how-to/index.md:92 -#: docs/en/how-to/index.md:135 -#: docs/en/how-to/index.md:169 -#: docs/en/how-to/index.md:201 -#: docs/en/how-to/index.md:264 -#: docs/en/how-to/index.md:318 -#: docs/en/how-to/index.md:350 -#: docs/en/how-to/index.md:385 -#: docs/en/how-to/index.md:435 -#: docs/en/how-to/index.md:468 -#: docs/en/how-to/index.md:532 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/how-to/index.md:25 -#: docs/en/how-to/index.md:34 -#: docs/en/how-to/index.md:43 -#: docs/en/how-to/index.md:58 -#: docs/en/how-to/index.md:67 -#: docs/en/how-to/index.md:76 -#: docs/en/how-to/index.md:102 -#: docs/en/how-to/index.md:114 -#: docs/en/how-to/index.md:126 -#: docs/en/how-to/index.md:142 -#: docs/en/how-to/index.md:151 -#: docs/en/how-to/index.md:160 -#: docs/en/how-to/index.md:176 -#: docs/en/how-to/index.md:185 -#: docs/en/how-to/index.md:194 -#: docs/en/how-to/index.md:219 -#: docs/en/how-to/index.md:239 -#: docs/en/how-to/index.md:259 -#: docs/en/how-to/index.md:278 -#: docs/en/how-to/index.md:294 -#: docs/en/how-to/index.md:308 -#: docs/en/how-to/index.md:324 -#: docs/en/how-to/index.md:332 -#: docs/en/how-to/index.md:340 -#: docs/en/how-to/index.md:356 -#: docs/en/how-to/index.md:364 -#: docs/en/how-to/index.md:372 -#: docs/en/how-to/index.md:391 -#: docs/en/how-to/index.md:399 -#: docs/en/how-to/index.md:407 -#: docs/en/how-to/index.md:441 -#: docs/en/how-to/index.md:449 -#: docs/en/how-to/index.md:457 -#: docs/en/how-to/index.md:474 -#: docs/en/how-to/index.md:482 -#: docs/en/how-to/index.md:490 -#: docs/en/how-to/index.md:538 -#: docs/en/how-to/index.md:546 -#: docs/en/how-to/index.md:554 -msgid "///" -msgstr "" - -#: docs/en/how-to/index.md:27 -#: docs/en/how-to/index.md:60 -#: docs/en/how-to/index.md:104 -#: docs/en/how-to/index.md:144 -#: docs/en/how-to/index.md:178 -#: docs/en/how-to/index.md:221 -#: docs/en/how-to/index.md:280 -#: docs/en/how-to/index.md:326 -#: docs/en/how-to/index.md:358 -#: docs/en/how-to/index.md:393 -#: docs/en/how-to/index.md:443 -#: docs/en/how-to/index.md:476 -#: docs/en/how-to/index.md:540 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/how-to/index.md:36 -#: docs/en/how-to/index.md:69 -#: docs/en/how-to/index.md:116 -#: docs/en/how-to/index.md:153 -#: docs/en/how-to/index.md:187 -#: docs/en/how-to/index.md:241 -#: docs/en/how-to/index.md:296 -#: docs/en/how-to/index.md:334 -#: docs/en/how-to/index.md:366 -#: docs/en/how-to/index.md:401 -#: docs/en/how-to/index.md:451 -#: docs/en/how-to/index.md:484 -#: docs/en/how-to/index.md:548 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/how-to/index.md:45 -msgid "Create a virtual environment" -msgstr "" - -#: docs/en/how-to/index.md:47 -msgid "" -"The recommended way of setting up your development environment for BeeWare " -"is to install a virtual environment, install the required dependencies and " -"start coding. To set up a virtual environment, run:" -msgstr "" - -#: docs/en/how-to/index.md:78 -msgid "Your prompt should now have a `(.venv)` prefix in front of it." -msgstr "" - -#: docs/en/how-to/index.md:80 -msgid "Clone the BeeWare Tutorial repository" -msgstr "" - -#: docs/en/how-to/index.md:82 -msgid "For updates to BeeWare documentation:" -msgstr "" - -#: docs/en/how-to/index.md:84 -msgid "" -"Next, go to [the BeeWare Tutorial page on GitHub]{1}, fork the repository " -"into your own account, and then clone a copy of that repository onto your " -"computer by clicking on \"Clone or Download\". If you have the GitHub " -"desktop application installed on your computer, you can select " -"\"Open in Desktop\"; otherwise, copy the URL provided, and use it to clone " -"using the command line:" -msgstr "" - -#: docs/en/how-to/index.md:94 -#: docs/en/how-to/index.md:106 -#: docs/en/how-to/index.md:118 -msgid "Fork the BeeWare Tutorial repository, and then:" -msgstr "" - -#: docs/en/how-to/index.md:100 -#: docs/en/how-to/index.md:112 -#: docs/en/how-to/index.md:124 -msgid "(substituting your GitHub username)" -msgstr "" - -#: docs/en/how-to/index.md:128 -msgid "Install BeeWare tutorial docs dependencies" -msgstr "" - -#: docs/en/how-to/index.md:130 -msgid "" -"Now that you have the source code, you can install BeeWare docs requirements " -"into your development environment. Since we're installing from source, we " -"can't rely on pip to resolve the dependencies to source packages, so we have " -"to manually install each package:" -msgstr "" - -#: docs/en/how-to/index.md:162 -msgid "Install pre-commit" -msgstr "" - -#: docs/en/how-to/index.md:164 -msgid "" -"BeeWare uses a tool called [Pre-Commit]{1} to identify simple issues and " -"standardize code formatting. It does this by installing a git hook that " -"automatically runs a series of code linters prior to finalizing any git " -"commit. To enable pre-commit, run:" -msgstr "" - -#: docs/en/how-to/index.md:196 -msgid "" -"When you commit any change, pre-commit will run automatically. If there are " -"any issues found with the commit, this will cause your commit to fail. Where " -"possible, pre-commit will make the changes needed to correct the problems it " -"has found:" -msgstr "" - -#: docs/en/how-to/index.md:261 -msgid "" -"You can then re-add any files that were modified as a result of the pre-" -"commit checks, and re-commit the change." -msgstr "" - -#: docs/en/how-to/index.md:310 -msgid "Now you are ready to start hacking on BeeWare docs!" -msgstr "" - -#: docs/en/how-to/index.md:312 -msgid "Building the BeeWare Tutorial" -msgstr "" - -#: docs/en/how-to/index.md:314 -msgid "Build the Tutorial locally" -msgstr "" - -#: docs/en/how-to/index.md:316 -msgid "Once your development environment is set up, run:" -msgstr "" - -#: docs/en/how-to/index.md:342 -msgid "" -"The output of the file should be in the `docs/_build/html` folder. If there " -"are any markup problems, they'll raise an error." -msgstr "" - -#: docs/en/how-to/index.md:345 -msgid "Live Tutorial preview" -msgstr "" - -#: docs/en/how-to/index.md:347 -msgid "" -"To support rapid editing of documentation, BeeWare also has a " -"\"live preview\" mode:" -msgstr "" - -#: docs/en/how-to/index.md:374 -msgid "" -"This will build the documentation, start a web server to serve the build " -"documentation, and watch the file system for any changes to the " -"documentation source. If a change is detected, the documentation will be " -"rebuilt, and any browser viewing the modified page will be automatically " -"refreshed." -msgstr "" - -#: docs/en/how-to/index.md:380 -msgid "Tutorial linting" -msgstr "" - -#: docs/en/how-to/index.md:382 -msgid "" -"The build process will identify reStructuredText problems, but BeeWare " -"performs some additional \"lint\" checks. To run the lint checks:" -msgstr "" - -#: docs/en/how-to/index.md:409 -msgid "This will validate the documentation does not contain:" -msgstr "" - -#: docs/en/how-to/index.md:411 -msgid "dead hyperlinks" -msgstr "" - -#: docs/en/how-to/index.md:412 -msgid "misspelled words" -msgstr "" - -#: docs/en/how-to/index.md:414 -msgid "" -"If a valid spelling of a word is identified as misspelled, then add the word " -"to the list in `docs/spelling_wordlist`. This will add the word to the " -"spellchecker's dictionary. When adding to this list, remember:" -msgstr "" - -#: docs/en/how-to/index.md:418 -msgid "" -"We prefer US spelling, with some liberties for programming-specific " -"colloquialisms (e.g., \"apps\") and verbing of nouns (e.g., \"scrollable\")" -msgstr "" - -#: docs/en/how-to/index.md:420 -msgid "" -"Any reference to a product name should use the product's preferred " -"capitalization. (e.g., \"macOS\", \"GTK\", \"pytest\", \"Pygame\", " -"\"PyScript\")." -msgstr "" - -#: docs/en/how-to/index.md:423 -msgid "" -"If a term is being used \"as code\", then it should be quoted as inline code " -"rather than being added to the dictionary." -msgstr "" - -#: docs/en/how-to/index.md:426 -msgid "Building translations" -msgstr "" - -#: docs/en/how-to/index.md:428 -msgid "" -"The BeeWare tutorial is available in multiple languages, which you can build " -"individually or all at the same time." -msgstr "" - -#: docs/en/how-to/index.md:431 -msgid "" -"To build a single translation, you run the `docs` command with the language " -"code for the translation you wish to build. For example, to build French:" -msgstr "" - -#: docs/en/how-to/index.md:459 -msgid "" -"The French translation should be built in the `docs/_build/html` folder. If " -"there are any markup problems, they'll raise an error." -msgstr "" - -#: docs/en/how-to/index.md:462 -msgid "" -"An error is also raised if you enter a language code for an unavailable " -"language. If this happens, verify that you are using the proper language " -"code." -msgstr "" - -#: docs/en/how-to/index.md:466 -msgid "To build all the translations at the same time:" -msgstr "" - -#: docs/en/how-to/index.md:492 -msgid "" -"This will build all available translations in the `docs/_build/html` " -"directory, inside a language-specific subdirectory. For example, the French " -"translation would be available in `docs/_build/html/fr`." -msgstr "" - -#: docs/en/how-to/index.md:496 -msgid "What to work on?" -msgstr "" - -#: docs/en/how-to/index.md:498 -msgid "" -"If you're looking for specific areas to improve, there are " -"[tickets tagged \"documentation\"]{1} in BeeWare's issue tracker." -msgstr "" - -#: docs/en/how-to/index.md:502 -msgid "" -"However, you don't need to be constrained by these tickets. If you can " -"identify an error in the tutorial, or an improvement that can be made, start " -"writing! Anything that improves the experience of the end user is a welcome " -"change." -msgstr "" - -#: docs/en/how-to/index.md:507 -msgid "Submitting a pull request" -msgstr "" - -#: docs/en/how-to/index.md:509 -msgid "" -"Before you submit a pull request, there's a few bits of housekeeping to do." -msgstr "" - -#: docs/en/how-to/index.md:512 -msgid "Submit from a feature branch, not your `main` branch" -msgstr "" - -#: docs/en/how-to/index.md:514 -msgid "" -"Before you start working on your change, make sure you've created a branch. " -"By default, when you clone your repository fork, you'll be checked out on " -"your `main` branch. This is a direct copy of BeeWare's `main` branch. To " -"contribute to BeeWare itself, not the docs, please review the repo README." -msgstr "" - -#: docs/en/how-to/index.md:520 -msgid "" -"While you *can* submit a pull request from your `main` branch, it's " -"preferable if you *don't* do this. If you submit a pull request that is " -"*almost* right, the core team member who reviews your pull request may be " -"able to make the necessary changes, rather than giving feedback asking for a " -"minor change. However, if you submit your pull request from your `main` " -"branch, reviewers are prevented from making modifications." -msgstr "" - -#: docs/en/how-to/index.md:527 -msgid "" -"Instead, you should make your changes on a *feature branch*. A feature " -"branch has a simple name to identify the change that you've made." -msgstr "" - -#: docs/en/how-to/index.md:530 -msgid "To create a feature branch, run:" -msgstr "" - -#: docs/en/how-to/index.md:556 -msgid "" -"Commit your changes to this branch, then push to GitHub and create a pull " -"request." -msgstr "" diff --git a/locales/templates/index.pot b/locales/templates/index.pot deleted file mode 100644 index fe62f928..00000000 --- a/locales/templates/index.pot +++ /dev/null @@ -1,152 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/index.md:1 -msgid "Welcome to the BeeWare Tutorial!" -msgstr "" - -#: docs/en/index.md:3 -msgid "**Write Python. Run Anywhere.**" -msgstr "" - -#: docs/en/index.md:5 -msgid "" -"Welcome to BeeWare! In this tutorial, we're going to build a graphical user " -"interface using Python, and deploy it as a desktop application, as a mobile " -"application, and as a single page web app. We'll also look at how you can " -"use BeeWare tools to perform some of the common tasks that you'll need to do " -"as an app developer, such as testing your app." -msgstr "" - -#: docs/en/index.md:11 -msgid "{% if config.extra.translation_type == \"original\" %}" -msgstr "" - -#: docs/en/index.md:13 -msgid "/// admonition | Translations are available" -msgstr "" - -#: docs/en/index.md:15 -msgid "" -"If you're not comfortable with English, translations of this tutorial are " -"available in [Deutsch]{1}, [Español]{2}, [Français]{3}, [Italiano]{4}, " -"[Português]{5}, [中文(简体)]{6}, and [中文(繁體)]{7}." -msgstr "" - -#: docs/en/index.md:24 -#: docs/en/index.md:40 -#: docs/en/index.md:56 -msgid "///" -msgstr "" - -#: docs/en/index.md:26 -#: docs/en/index.md:42 -#: docs/en/index.md:58 -msgid "{% endif %}" -msgstr "" - -#: docs/en/index.md:28 -msgid "{% if config.extra.translation_type == \"machine\" %}" -msgstr "" - -#: docs/en/index.md:30 -msgid "/// admonition | This is a machine translation!" -msgstr "" - -#: docs/en/index.md:32 -msgid "" -"This version of the tutorial has been generated by machine translation. We " -"know this isn't ideal, but we felt that a bad translation was better than no " -"translation at all." -msgstr "" - -#: docs/en/index.md:36 -#: docs/en/index.md:52 -msgid "" -"If you'd like the help improve the translation, get in touch! We have a " -"`#translations` channel in [Discord]{1}. Introduce yourself there and we " -"will add you to the translation team." -msgstr "" - -#: docs/en/index.md:44 -msgid "{% if config.extra.translation_type == \"human\" %}" -msgstr "" - -#: docs/en/index.md:46 -msgid "/// admonition | This is a translation!" -msgstr "" - -#: docs/en/index.md:48 -msgid "" -"This document is a translation of the English version. The translation has " -"been reviewed by humans, but newer sections may be generated by machine " -"translation, or not translated at all." -msgstr "" - -#: docs/en/index.md:61 -msgid "What is BeeWare?" -msgstr "" - -#: docs/en/index.md:63 -msgid "" -"BeeWare is not a single product, or tool, or library - it's a collection of " -"tools and libraries, each of which works together to help you write cross " -"platform Python applications with a native GUI. It includes:" -msgstr "" - -#: docs/en/index.md:67 -msgid "[Toga]{1}, a cross-platform widget toolkit;" -msgstr "" - -#: docs/en/index.md:68 -msgid "" -"[Briefcase]{1}, a tool for packaging Python projects as distributable " -"artefacts that can be shipped to end users;" -msgstr "" - -#: docs/en/index.md:71 -msgid "" -"Libraries (such as [Rubicon ObjC]{1}) for accessing platform-native " -"libraries;" -msgstr "" - -#: docs/en/index.md:73 -msgid "" -"Pre-compiled builds of Python that can be used on platforms where official " -"Python installers aren't available." -msgstr "" - -#: docs/en/index.md:76 -msgid "" -"In this tutorial, we'll be using all these tools, but as a user, you'll only " -"need to interact with the first two (Toga and Briefcase). However, each of " -"the tools can also be used individually - for example, you can use Briefcase " -"to deploy an app without using Toga as a GUI toolkit." -msgstr "" - -#: docs/en/index.md:81 -msgid "" -"The BeeWare suite is available on macOS, Windows, Linux (using GTK); on " -"mobile platforms such as Android and iOS; and for the Web." -msgstr "" - -#: docs/en/index.md:84 -msgid "Let's go!" -msgstr "" - -#: docs/en/index.md:86 -msgid "" -"Ready to try BeeWare for yourself? " -"[Let's build a cross-platform application in Python!]{1}" -msgstr "" diff --git a/locales/templates/tutorial/topics/camera-access.pot b/locales/templates/tutorial/topics/camera-access.pot deleted file mode 100644 index 63201694..00000000 --- a/locales/templates/tutorial/topics/camera-access.pot +++ /dev/null @@ -1,193 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/topics/camera-access.md:1 -msgid "Using the camera" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:3 -msgid "" -"Almost every modern computing device has a camera of some sort. In this " -"tutorial, we'll write new application that is able to request access to this " -"camera, take a photograph, and then display that photograph in the new " -"application that uses your device's camera." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:8 -msgid "/// admonition | This tutorial won't work on all platforms!" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:10 -msgid "" -"Unfortunately, at present, this tutorial will only work on macOS and Android." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:13 -msgid "" -"Although iPhones all have cameras, the iOS *Simulator* doesn't have a " -"working camera. Windows and Linux devices also have cameras, but Toga " -"doesn't currently have the ability to access the camera on these platforms." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:18 -msgid "" -"The code presented here will *run* on Windows or Linux; but it will raise an " -"error when you try to take a photograph." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:21 -msgid "" -"The code will work if it is run on an actual iOS device, but will fail to " -"take a photograph if deployed to the iOS simulator." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:24 -#: docs/en/tutorial/topics/camera-access.md:166 -#: docs/en/tutorial/topics/camera-access.md:175 -msgid "///" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:26 -msgid "Start a new project" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:28 -msgid "" -"For this tutorial, we're not going to build onto the application from the " -"core tutorial - we're going to start a fresh project. You can use the same " -"virtual environment you used in the first project; but we need to re-run the " -"`briefcase new` wizard." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:33 -msgid "" -"Change back to the directory that contains the `helloworld` project folder, " -"and start a new project named \"Hello Camera\":" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:50 -msgid "Add code to take a photo" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:52 -msgid "" -"The wizard has generated a new empty Toga project. We can now add the code " -"to take and display a photograph. Edit the `app.py` for the new application " -"so that it has the following content:" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:107 -msgid "" -"This code has two changes over the default app that is generated by " -"Briefcase. These additions are highlighted above:" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:110 -msgid "" -"The first highlighted code block (in the `startup()` method) adds the two " -"widgets needed to control the camera: an `ImageView` to display a photo; and " -"a `Button` to trigger the camera." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:113 -msgid "" -"The second highlighted code block (the `take_photo()` method) defines the " -"event handler when the button is pressed. This handler first confirms if the " -"application has permission to take a photo; if permission doesn't exist, it " -"is requested. Then, a photo is taken. The request for permission and the " -"request to take a photo are both asynchronous requests, so they require the " -"use of `await`; while the app is waiting for the user to confirm permissions " -"or take the photo, the app's event loop can continue in the background." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:122 -msgid "" -"If the camera successfully takes a photo, it will return an `Image` object " -"that can be assigned as the content of the `ImageView`. If the photo request " -"was canceled by the user, the `self.camera.take_photo()` call will return " -"`None`, and the result can be ignored. If the user doesn't grant permission " -"to use the camera, or the camera isn't implemented on the current platform, " -"an error will be raised, and a dialog will be shown to the user." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:130 -msgid "Adding device permissions" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:132 -msgid "" -"Part of this code we've just added asks for permission to use the camera. " -"This is a common feature of modern app platforms - you can't access hardware " -"features without explicitly asking the user's permission first." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:137 -msgid "" -"However, this request comes in two parts. The first is in the code we've " -"just seen; but before the app can ask for permissions, it needs to declare " -"the permissions it is going to ask for." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:141 -msgid "" -"The permissions required by each platform are slightly different, but " -"Briefcase has a cross-platform representation for many common hardware " -"permissions. In the `[tool.briefcase.app.hellocamera]` configuration section " -"of your app's `pyproject.toml` file, add the following (just above the " -"`sources` declaration):" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:151 -msgid "" -"This declares that your app needs to access the camera, and provides a short " -"description why the camera is required. This description is needed on some " -"platforms (most notably macOS and iOS) and will be displayed to the user as " -"a additional information when the permission dialog is presented." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:157 -msgid "We can now generate and run the app:" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:159 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:168 -msgid "/// tab | Android" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:177 -msgid "" -"When the app runs, you'll be presented with a button. Press the button, and " -"the platform's default camera dialog will be displayed. Take a photo; the " -"camera dialog will disappear, and the photo will be displayed on in the app, " -"just above the button. You could then take another photo; this will replace " -"the first photo." -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:183 -msgid "Adding more permissions" -msgstr "" - -#: docs/en/tutorial/topics/camera-access.md:185 -msgid "" -"Permissions are declared in the files that are generated during the original " -"call to `briefcase create`. Unfortunately, Briefcase can't update these " -"files once they've been initially generated; so if you want to add a new " -"permission to your app, or modify existing permissions, you'll need to re-" -"create the app. You can do this by re-running `briefcase create`; this will " -"warn you that the existing app will be overwritten, and then regenerate the " -"application with the new permissions." -msgstr "" diff --git a/locales/templates/tutorial/topics/custom-icons.pot b/locales/templates/tutorial/topics/custom-icons.pot deleted file mode 100644 index a35fa01b..00000000 --- a/locales/templates/tutorial/topics/custom-icons.pot +++ /dev/null @@ -1,217 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/topics/custom-icons.md:1 -msgid "Customizing icons" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:3 -msgid "" -"The app we developed in the main tutorial uses a default \"gray bee\" icon " -"when it is packaged. Let's personalize this application by configuring it to " -"use our own icon." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:7 -msgid "Adding an icon" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:9 -msgid "" -"Every platform uses a different format for application icons - and some " -"platforms need *multiple* icons in different sizes and shapes. To account " -"for this, Briefcase provides a shorthand way to configure an icon once, and " -"then have that definition expand in to all the different icons needed for " -"each individual platform." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:15 -msgid "" -"Edit your `pyproject.toml`, adding a new `icon` configuration item in the `" -"[tool.briefcase.app.helloworld]` configuration section, just above the " -"`sources` definition:" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:23 -msgid "" -"This icon definition doesn't specify any file extension. The value will be " -"used as a prefix; each platform will add additional items to this prefix to " -"build the files needed for each platform. Some platforms require *multiple* " -"icon files; this prefix will be combined with file size and variant " -"modifiers to generate the list of icon files that are used." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:30 -msgid "" -"We can now run `briefcase update` again - but this time, we pass in the " -"`--update-resources` flag, telling Briefcase that we want to install new " -"application resources (i.e., the icons):" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:34 -#: docs/en/tutorial/topics/custom-icons.md:215 -#: docs/en/tutorial/topics/custom-icons.md:412 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:51 -#: docs/en/tutorial/topics/custom-icons.md:75 -#: docs/en/tutorial/topics/custom-icons.md:94 -#: docs/en/tutorial/topics/custom-icons.md:132 -#: docs/en/tutorial/topics/custom-icons.md:166 -#: docs/en/tutorial/topics/custom-icons.md:201 -#: docs/en/tutorial/topics/custom-icons.md:239 -#: docs/en/tutorial/topics/custom-icons.md:271 -#: docs/en/tutorial/topics/custom-icons.md:298 -#: docs/en/tutorial/topics/custom-icons.md:344 -#: docs/en/tutorial/topics/custom-icons.md:346 -#: docs/en/tutorial/topics/custom-icons.md:382 -#: docs/en/tutorial/topics/custom-icons.md:391 -#: docs/en/tutorial/topics/custom-icons.md:427 -#: docs/en/tutorial/topics/custom-icons.md:444 -#: docs/en/tutorial/topics/custom-icons.md:461 -#: docs/en/tutorial/topics/custom-icons.md:477 -#: docs/en/tutorial/topics/custom-icons.md:493 -msgid "///" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:53 -#: docs/en/tutorial/topics/custom-icons.md:241 -#: docs/en/tutorial/topics/custom-icons.md:429 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:77 -#: docs/en/tutorial/topics/custom-icons.md:273 -#: docs/en/tutorial/topics/custom-icons.md:446 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:96 -#: docs/en/tutorial/topics/custom-icons.md:300 -#: docs/en/tutorial/topics/custom-icons.md:463 -msgid "/// tab | Android" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:134 -#: docs/en/tutorial/topics/custom-icons.md:348 -#: docs/en/tutorial/topics/custom-icons.md:479 -msgid "/// tab | iOS" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:168 -msgid "" -"This reports the specific icon file (or files) that Briefcase is expecting. " -"However, as we haven't provided the actual icon files, the install fails, " -"and Briefcase falls back to a default value (the same \"gray bee\" icon)." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:173 -msgid "" -"Let's provide some actual icons. Download [this icons.zip bundle]{1}, and " -"unzip it into the root of your project directory. After unzipping, your " -"project directory should look something like:" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:194 -msgid "" -"There's a *lot* of icons in this folder, but most of them should look the " -"same: a green snake on a light blue background:" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:197 -msgid "![Icon of green snake with a light blue background]{1}" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:199 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:203 -msgid "" -"The only exception will be the icons with `-adaptive-` in their name; these " -"will have a transparent background. This represents all the different icon " -"sizes and shapes you need to support an app on every platform that Briefcase " -"supports." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:208 -msgid "" -"Now that we have icons, we can update the application again. However, `" -"briefcase update` will only copy the updated resources into the build " -"directory; we also want to rebuild the app to make sure the new icon is " -"included, then start the app. We can shortcut this process by passing " -"`--update-resources` to our call to `run` - this will update the app, update " -"the app's resources, and then start the app:" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:338 -#: docs/en/tutorial/topics/custom-icons.md:384 -msgid "/// note | Note" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:340 -msgid "" -"If you're using a recent version of Android, you may notice that the app " -"icon has been changed to a green snake, but the background of the icon is " -"*white*, rather than light blue. We'll fix this in the next step." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:386 -msgid "" -"If you get a stack trace referencing `faker` or `httpx` when you run the " -"app, it's possible you missed running your app during step 7 or 8 of the " -"tutorial. Re-run the app, adding the `-r` argument to update the app " -"requirements." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:393 -msgid "" -"When you run the app on iOS or Android, in addition to the icon change, you " -"should also notice that the splash screen incorporates the new icon. " -"However, the light blue background of the icon looks a little out of place " -"against the white background of the splash screen. We can fix this by " -"customizing the background color of the splash screen. Add the following " -"definition to your `pyproject.toml`, just after the `icon` definition:" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:405 -msgid "" -"Unfortunately, Briefcase isn't able to apply this change to an already " -"generated project, as it requires making modifications to one of the files " -"that was generated during the original call to `briefcase create`. To apply " -"this change, we have to re-create the app by re-running `briefcase create`. " -"When we do this, we'll be prompted to confirm that we want to overwrite the " -"existing project:" -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:496 -msgid "" -"You can then re-build and re-run the app using `briefcase run`. You won't " -"notice any changes to the desktop app; but the Android or iOS apps should " -"now have a light blue splash screen background." -msgstr "" - -#: docs/en/tutorial/topics/custom-icons.md:500 -msgid "" -"You'll need to re-create the app like this whenever you make a change to " -"your `pyproject.toml` that doesn't relate to source code or dependencies. " -"Any change to descriptions, version numbers, colors, or permissions will " -"require a re-create step. Because of this, while you are developing your " -"project, you shouldn't make any manual changes to the contents of the `build`" -" folder, and you shouldn't add the `build` folder to your version control " -"system. The `build` folder should be considered entirely ephemeral - an " -"output of the build system that can be recreated as needed to reflect the " -"current configuration of your project." -msgstr "" diff --git a/locales/templates/tutorial/topics/index.pot b/locales/templates/tutorial/topics/index.pot deleted file mode 100644 index 7904393d..00000000 --- a/locales/templates/tutorial/topics/index.pot +++ /dev/null @@ -1,55 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/topics/index.md:1 -msgid "Going further" -msgstr "" - -#: docs/en/tutorial/topics/index.md:3 -msgid "" -"Want to go deeper on specific topics? Here are some additional tutorials " -"that explore common aspects of application development. Each tutorial is " -"standalone, and can be completed in any order; but they all assume you've " -"completed the core tutorial." -msgstr "" - -#: docs/en/tutorial/topics/index.md:8 -msgid "[Customizing icons]{1}" -msgstr "" - -#: docs/en/tutorial/topics/index.md:10 -msgid "" -"Customize your application's appearance by replacing the default \"gray bee\"" -" icon." -msgstr "" - -#: docs/en/tutorial/topics/index.md:13 -msgid "[Using the camera]{1}" -msgstr "" - -#: docs/en/tutorial/topics/index.md:15 -msgid "" -"Use the camera on your mobile or desktop device to take and view a picture " -"from within your application." -msgstr "" - -#: docs/en/tutorial/topics/index.md:18 -msgid "[Testing times]{1}" -msgstr "" - -#: docs/en/tutorial/topics/index.md:20 -msgid "" -"How do you ensure that your application works, and stays working? By adding " -"a test suite to your project!" -msgstr "" diff --git a/locales/templates/tutorial/topics/testing.pot b/locales/templates/tutorial/topics/testing.pot deleted file mode 100644 index 7f6feedc..00000000 --- a/locales/templates/tutorial/topics/testing.pot +++ /dev/null @@ -1,189 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/topics/testing.md:1 -msgid "Testing times" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:3 -msgid "" -"Most software development doesn't involve writing new code - it's modifying " -"existing code. Ensuring that existing code continues to work in the way we " -"expect is a key part of the software development process. One way to do " -"ensure the behavior of our app is with a *test suite*." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:8 -msgid "Running the test suite" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:10 -msgid "" -"It turns out the project from the core tutorial already has a test suite! " -"When we originally generated our project, two top-level directories were " -"generated: `src` and `tests`. The `src` folder contains the code for our app;" -" the `tests` folder contains our test suite. Inside the `tests` folder is a " -"file named `test_app.py` with the following content:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:23 -msgid "" -"This is a [Pytest]{1} *test case* - a block of code that can be executed to " -"verify some behavior of your app. In this case, the test is a placeholder, " -"and doesn't test anything about our app - but it is a test that we can " -"perform." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:28 -msgid "" -"We can run this test suite using the `--test` option to `briefcase dev`. As " -"this is the first time we are running tests, we also need to pass in the `-r`" -" option to ensure that the test requirements are also installed:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:32 -#: docs/en/tutorial/topics/testing.md:145 -#: docs/en/tutorial/topics/testing.md:220 -#: docs/en/tutorial/topics/testing.md:343 -#: docs/en/tutorial/topics/testing.md:416 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:55 -#: docs/en/tutorial/topics/testing.md:83 -#: docs/en/tutorial/topics/testing.md:111 -#: docs/en/tutorial/topics/testing.md:162 -#: docs/en/tutorial/topics/testing.md:181 -#: docs/en/tutorial/topics/testing.md:200 -#: docs/en/tutorial/topics/testing.md:252 -#: docs/en/tutorial/topics/testing.md:288 -#: docs/en/tutorial/topics/testing.md:322 -#: docs/en/tutorial/topics/testing.md:361 -#: docs/en/tutorial/topics/testing.md:381 -#: docs/en/tutorial/topics/testing.md:401 -#: docs/en/tutorial/topics/testing.md:458 -#: docs/en/tutorial/topics/testing.md:492 -#: docs/en/tutorial/topics/testing.md:531 -msgid "///" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:57 -#: docs/en/tutorial/topics/testing.md:164 -#: docs/en/tutorial/topics/testing.md:254 -#: docs/en/tutorial/topics/testing.md:363 -#: docs/en/tutorial/topics/testing.md:460 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:85 -#: docs/en/tutorial/topics/testing.md:183 -#: docs/en/tutorial/topics/testing.md:290 -#: docs/en/tutorial/topics/testing.md:383 -#: docs/en/tutorial/topics/testing.md:494 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:114 -msgid "" -"Success! We've just executed a single test that verifies Python math works " -"in the way we'd expect (What a relief!)." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:117 -msgid "" -"Let's replace this placeholder test with a test to verify that our " -"`greeting()` method behaves the way we'd expect. Replace the contents of " -"`test_app.py` with the following:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:137 -msgid "" -"This defines two new tests, verifying the two behaviors we expect to see: " -"the output when a name is provided, and the output when the name is empty." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:141 -msgid "" -"We can now re-run the test suite. This time, we don't need to provided the " -"`-r` option, as the test requirements have already been installed; we only " -"need to use the `--test` option:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:202 -msgid "Excellent! Our `greeting()` utility method is working as expected." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:204 -msgid "Test driven development" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:206 -msgid "" -"Now that we have a test suite, we can use it to drive the development of new " -"features. Let's modify our app to have a special greeting for one particular " -"user. We can start by adding a test case for the new behavior that we'd like " -"to see to the bottom of `test_app.py`:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:218 -msgid "Then, run the test suite with this new test:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:324 -msgid "" -"This time, we see a test failure - and the output explains the source of the " -"failure: the test is expecting the output \"BeeWare the IDEs of Python!\", " -"but our implementation of `greeting()` is returning \"Hello, Brutus\". Let's " -"modify the implementation of `greeting()` in `src/helloworld/app.py` to have " -"the new behavior:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:341 -msgid "If we run the tests again, we'll now see our tests pass:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:403 -msgid "Runtime tests" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:405 -msgid "" -"So far, we've been running the tests in development mode. This is especially " -"useful when you're developing new features, as you can rapidly iterate on " -"adding tests, and adding code to make those tests pass. However, at some " -"point, you'll want to verify that your code also runs correctly when inside " -"the bundle app environment." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:411 -msgid "" -"The `--test` and `-r` options can also be passed to the `run` command. If " -"you use `briefcase run --test -r`, the same test suite will run, but it will " -"run inside the packaged application bundle rather than your development " -"environment:" -msgstr "" - -#: docs/en/tutorial/topics/testing.md:534 -msgid "" -"As with `briefcase dev --test`, the `-r` option is only needed the first " -"time you run the test suite to ensure that the test dependencies are " -"present. On subsequent runs, you can omit this option." -msgstr "" - -#: docs/en/tutorial/topics/testing.md:538 -msgid "" -"You can also use the `--test` option on mobile backends: - so `briefcase run " -"iOS --test` and `briefcase run android --test` will both work, running the " -"test suite on the mobile device you select." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-0.pot b/locales/templates/tutorial/tutorial-0.pot deleted file mode 100644 index 6ec004e6..00000000 --- a/locales/templates/tutorial/tutorial-0.pot +++ /dev/null @@ -1,288 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-0.md:1 -msgid "Tutorial 0 - Let's get set up!" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:3 -msgid "" -"Before we build our first BeeWare app, we have to make sure we've got all " -"the prerequisites for running BeeWare." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:6 -msgid "Install Python { id=\"install-python\" }" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:8 -msgid "The first thing we'll need is a working Python interpreter." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:10 -#: docs/en/tutorial/tutorial-0.md:87 -#: docs/en/tutorial/tutorial-0.md:156 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:12 -msgid "" -"If you're on macOS, you can get an official Python installer from " -"[the Python website]{1}. You can use any version of Python from 3.10 or " -"newer (although you should avoid alphas, betas and release candidates). We " -"strongly recommend using Python 3.13 or newer." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:18 -msgid "" -"You can also install Python through [Homebrew]{1}, use [pyenv]{2} to manage " -"multiple Python installs, or use [Anaconda]{3} or [Miniconda]{4}. It doesn't " -"matter *how* you've installed Python - it only matters that you can run " -"`python3` from your terminal and get a working, supported Python interpreter." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:28 -msgid "" -"Xcode and the Command-line Developer Tools provide a version of Python; " -"however that Python is version 3.9. Python 3.9 has reached end-of-life, and " -"is no longer supported by Python or BeeWare. You will *not* be able to the " -"Xcode-provided version of Python to run this tutorial." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:33 -msgid "" -"To check the version of Python that you have installed, run the following " -"command:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:40 -msgid "If Python is installed, you'll see its version number." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:42 -#: docs/en/tutorial/tutorial-0.md:62 -#: docs/en/tutorial/tutorial-0.md:80 -#: docs/en/tutorial/tutorial-0.md:97 -#: docs/en/tutorial/tutorial-0.md:130 -#: docs/en/tutorial/tutorial-0.md:143 -#: docs/en/tutorial/tutorial-0.md:165 -#: docs/en/tutorial/tutorial-0.md:176 -#: docs/en/tutorial/tutorial-0.md:209 -#: docs/en/tutorial/tutorial-0.md:211 -#: docs/en/tutorial/tutorial-0.md:229 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:44 -#: docs/en/tutorial/tutorial-0.md:99 -#: docs/en/tutorial/tutorial-0.md:167 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:46 -msgid "" -"If you're on Linux, you'll install Python using the system package manager " -"(`apt` on Debian/Ubuntu/Mint, `dnf` on Fedora, or `pacman` on Arch)." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:50 -msgid "" -"You should ensure that the system Python is Python 3.10 or newer; if it " -"isn't (e.g., Ubuntu 20.04 ships with Python 3.8), you'll need to upgrade " -"your Linux distribution to something more recent." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:54 -msgid "Support for Raspberry Pi is limited at this time." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:56 -msgid "" -"**Important:** You *must* use the system Python provided by your operating " -"system. Alternative Python installations (pyenv, Anaconda, manually compiled " -"Python, etc.) will prevent you from successfully packaging your application " -"for distribution in later steps of this tutorial." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:64 -#: docs/en/tutorial/tutorial-0.md:132 -#: docs/en/tutorial/tutorial-0.md:178 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:66 -msgid "" -"If you're on Windows, you can get the official installer from " -"[the Python website]{1}. You can use any version of Python from 3.10 to 3.13 " -"(although you should avoid alphas, betas and release candidates). We " -"strongly recommend using Python 3.13." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:71 -msgid "Support for Windows on ARM64 is limited at this time." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:73 -msgid "" -"You can also install Python from the Windows App Store, or use [Anaconda]{1} " -"or [Miniconda]{2}. It doesn't matter *how* you've installed Python - it only " -"matters that you can run `python3` from your command prompt and get a " -"working, supported Python interpreter." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:82 -msgid "Install dependencies { id=\"install-dependencies\" }" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:84 -msgid "" -"Next, install the additional dependencies needed for your operating system:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:89 -msgid "Building BeeWare apps on macOS requires:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:91 -msgid "" -"**Git**, a version control system. This is included with Xcode or the " -"command line developer tools, which you installed above. You may need to " -"open Xcode for the first time in order for Git to work in your terminal " -"session. If it still doesn't register that Git is installed, you may need to " -"restart your terminal session." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:101 -msgid "" -"To support local development, you'll need to install some system packages. " -"The list of packages required varies depending on your distribution:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:105 -msgid "**Ubuntu / Debian**" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:112 -msgid "**Fedora**" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:118 -msgid "**Arch / Manjaro**" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:124 -msgid "**OpenSUSE Tumbleweed**" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:134 -msgid "Building BeeWare apps on Windows requires:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:136 -msgid "" -"**Git**, a version control system. You can download Git from from {1}[git-" -"scm.com]{2}." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:139 -msgid "" -"After installing these tools, you should ensure you restart any terminal " -"sessions. Windows will only expose newly installed tools terminals started " -"*after* the install has completed." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:145 -msgid "Set up a virtual environment" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:147 -msgid "" -"We're now going to create a virtual environment - a \"sandbox\" that we can " -"use to isolate our work on this tutorial from our main Python installation. " -"If we install packages into the virtual environment, our main Python " -"installation (and any other Python projects on our computer) won't be " -"affected. If we make a complete mess of our virtual environment, we'll be " -"able to simply delete it and start again, without affecting any other Python " -"project on our computer, and without the need to re-install Python." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:187 -msgid "" -"If you're not using Python 3.12, replace the `-3.12` in these instructions " -"with the version number that you are using." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:190 -msgid "/// admonition | Errors running PowerShell Scripts" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:192 -msgid "If you're using PowerShell, and you receive the error:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:198 -msgid "" -"Your Windows account doesn't have permissions to run scripts. To fix this:" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:201 -msgid "Run [Windows PowerShell as Administrator]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:202 -msgid "Run `set-executionpolicy RemoteSigned`" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:203 -msgid "Select `Y` to change the execution policy." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:205 -msgid "" -"Once you've done this you can rerun `beeware-venv\\Scripts\\activate.ps1` in " -"your original PowerShell session (or a new session in the same directory)." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:213 -msgid "" -"If this worked, your prompt should now be changed - it should have a " -"`(beeware-venv)` prefix. This lets you know that you're currently in your " -"BeeWare virtual environment. Whenever you're working on this tutorial, you " -"should make sure your virtual environment is activated. If it isn't, re-run " -"the last command (the `activate` command) to re-activate your environment." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:220 -msgid "/// admonition | Alternative virtual environments" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:222 -msgid "" -"If you're using Anaconda or miniconda, you may be more familiar with using " -"conda environments. You might also have heard of `virtualenv`, a predecessor " -"to Python's built in `venv` module. As with Python installs -if you're on " -"macOS or Windows, it doesn't matter *how* you create your virtual " -"environment, as long as you have one. If you're on Linux, you should stick " -"to `venv` and the system Python." -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:231 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-0.md:233 -msgid "" -"We've now set up our environment. We're ready to " -"[create our first BeeWare application]{1}." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-1.pot b/locales/templates/tutorial/tutorial-1.pot deleted file mode 100644 index ed68e304..00000000 --- a/locales/templates/tutorial/tutorial-1.pot +++ /dev/null @@ -1,269 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-1.md:1 -msgid "Tutorial 1 - Your first app" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:3 -msgid "We're ready to create our first application." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:5 -msgid "Install the BeeWare tools" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:7 -msgid "" -"First, we need to install **Briefcase**. Briefcase is a BeeWare tool that " -"can be used to package your application for distribution to end users - but " -"it can also be used to bootstrap a new project. Make sure you're in the " -"`beeware-tutorial` directory you created in [Tutorial 0], with the `beeware-" -"venv` virtual environment activated, and run:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:14 -#: docs/en/tutorial/tutorial-1.md:62 -#: docs/en/tutorial/tutorial-1.md:156 -#: docs/en/tutorial/tutorial-1.md:204 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:20 -#: docs/en/tutorial/tutorial-1.md:34 -#: docs/en/tutorial/tutorial-1.md:36 -#: docs/en/tutorial/tutorial-1.md:52 -#: docs/en/tutorial/tutorial-1.md:54 -#: docs/en/tutorial/tutorial-1.md:68 -#: docs/en/tutorial/tutorial-1.md:76 -#: docs/en/tutorial/tutorial-1.md:84 -#: docs/en/tutorial/tutorial-1.md:169 -#: docs/en/tutorial/tutorial-1.md:184 -#: docs/en/tutorial/tutorial-1.md:199 -#: docs/en/tutorial/tutorial-1.md:210 -#: docs/en/tutorial/tutorial-1.md:212 -#: docs/en/tutorial/tutorial-1.md:220 -#: docs/en/tutorial/tutorial-1.md:222 -#: docs/en/tutorial/tutorial-1.md:230 -#: docs/en/tutorial/tutorial-1.md:248 -#: docs/en/tutorial/tutorial-1.md:250 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:22 -#: docs/en/tutorial/tutorial-1.md:70 -#: docs/en/tutorial/tutorial-1.md:171 -#: docs/en/tutorial/tutorial-1.md:214 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:28 -#: docs/en/tutorial/tutorial-1.md:44 -msgid "/// admonition | Possible errors during installation" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:30 -msgid "" -"If you see errors during installation, it's almost certainly because some of " -"the system requirements haven't been installed. Make sure you have " -"[installed all the platform pre-requisites][install-dependencies]." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:38 -#: docs/en/tutorial/tutorial-1.md:78 -#: docs/en/tutorial/tutorial-1.md:186 -#: docs/en/tutorial/tutorial-1.md:224 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:46 -msgid "" -"It is important that you use `python -m pip`, rather than a bare `pip`. " -"Briefcase needs to ensure that it has an up-to-date version of `pip` and " -"`setuptools`, and a bare invocation of `pip` can't self-update. If you want " -"to know more, [Brett Cannon has a detailed blog post about the issue]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:56 -msgid "Bootstrap a new project" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:58 -msgid "" -"Let's start our first BeeWare project! We're going to use the Briefcase `new`" -" command to create an application called **Hello World**. Run the following " -"from your command prompt:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:86 -msgid "" -"Briefcase will ask us for some details of our new application. For the " -"purposes of this tutorial, use the following:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:89 -msgid "**Formal Name** - Accept the default value: `Hello World`." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:90 -msgid "**App Name** - Accept the default value: `helloworld`." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:91 -msgid "" -"**Bundle Identifier** - If you own your own domain, enter that domain in " -"reversed order. (For example, if you own the domain \"cupcakes.com\", enter " -"`com.cupcakes` as the bundle). If you don't own your own domain, accept the " -"default bundle (`com.example`)." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:95 -msgid "**Project Name** - Accept the default value: `Hello World`." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:96 -msgid "" -"**Description** - Accept the default value (or, if you want to be really " -"creative, come up with your own description!)" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:98 -msgid "**Author** - Enter your own name here." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:99 -msgid "" -"**Author's Email** - Enter your own email address. This will be used in the " -"configuration file, in help text, and anywhere that an email is required " -"when submitting the app to an app store." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:102 -msgid "" -"**Application URL** - The URL of the landing page for your application. " -"Again, if you own your own domain, enter a URL at that domain (including the " -"`https://`). Otherwise, just accept the default URL (`https://example.com/" -"helloworld`). This URL doesn't need to actually exist (for now); it will " -"only be used if you publish your application to an app store." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:108 -msgid "" -"**Project License** - Accept the default license (BSD). This won't affect " -"anything about the operation of the tutorial, though - so if you have " -"particularly strong feelings about license choice, feel free to choose " -"another license." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:112 -msgid "" -"**GUI framework** - Accept the default option, Toga (BeeWare's own GUI " -"toolkit)." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:115 -msgid "" -"Briefcase will then generate a project skeleton for you to use. If you've " -"followed this tutorial so far, and accepted the defaults as described, your " -"file system should look something like:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:141 -msgid "" -"This skeleton is actually a fully functioning application without adding " -"anything else. The `src` folder contains all the code for the application, " -"the `tests` folder contains an initial test suite, and the `pyproject.toml` " -"file describes how to package the application for distribution. If you open " -"`pyproject.toml` in an editor, you'll see the configuration details you just " -"provided to Briefcase." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:148 -msgid "" -"Now that we have a stub application, we can use Briefcase to run the " -"application." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:151 -msgid "Run the app in developer mode" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:153 -msgid "" -"Move into the `helloworld` project directory and tell briefcase to start the " -"project in Developer (or `dev`) mode:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:202 -msgid "This should open a GUI window:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:206 -msgid "![Hello World Tutorial 1 window, on macOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:208 -#: docs/en/tutorial/tutorial-1.md:218 -#: docs/en/tutorial/tutorial-1.md:228 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:216 -msgid "![Hello World Tutorial 1 window, on Linux]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:226 -msgid "![Hello World Tutorial 1 window, on Windows]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:232 -msgid "/// admonition | Invalid requirements or pip unable to connect" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:234 -msgid "If you encounter the error:" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:242 -msgid "" -"Confirm that you are running a " -"[version of python that this tutorial supports][install-python]." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:245 -msgid "" -"If your version of python is *not* a supported version, you will have to " -"restart the tutorial." -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:252 -msgid "" -"Close the application - either by pressing the close button on the " -"application window, by selecting Quit/Exit from the application's menu, or " -"by typing **Ctrl+C** in the terminal where you ran `briefcase dev` - and " -"you're done! Congratulations - you've just written a standalone, native " -"application in Python!" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:258 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-1.md:260 -msgid "" -"We now have a working application, running in developer mode. Now we can add " -"some logic of our own to make our application do something a little more " -"interesting. In [Tutorial 2]{1}, we'll put a more useful user interface onto " -"our application." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-2.pot b/locales/templates/tutorial/tutorial-2.pot deleted file mode 100644 index 104364d0..00000000 --- a/locales/templates/tutorial/tutorial-2.pot +++ /dev/null @@ -1,371 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-2.md:1 -msgid "Tutorial 2 - Making it interesting" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:3 -msgid "" -"In [Tutorial 1]{1}, we generated a stub project that was able to run, but we " -"didn't write any code ourselves. Let's take a look at what was generated for " -"us." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:7 -msgid "What was generated" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:9 -msgid "" -"In the `src/helloworld` directory, you should see 3 files: `__init__.py`, " -"`__main__.py` and `app.py`." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:12 -msgid "" -"`__init__.py` marks the `helloworld` directory as an importable Python " -"module. It is an empty file; the very fact it exists tells the Python " -"interpreter that the `helloworld` directory defines a module." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:16 -msgid "" -"`__main__.py` marks the `helloworld` module as a special kind of module -an " -"executable module. If you try to run the `helloworld` module using `python -" -"m helloworld`, the `__main__.py` file is where Python will start executing. " -"The contents of `__main__.py` is relatively simple:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:28 -msgid "This file does two things:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:30 -msgid "It imports the `main` method from the `helloworld` app." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:31 -msgid "" -"Then, it starts the application’s main loop. The main loop is the way a GUI " -"application listens for user input (like mouse clicks and keyboard presses)." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:35 -msgid "" -"The more interesting file is `app.py` - this contains the logic that creates " -"our application window:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:54 -msgid "Let's go through this line by line:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:61 -msgid "" -"First, we import the `toga` widget toolkit, as well as some style-related " -"utility constants. Our code doesn't use these yet - but we'll make use of " -"them shortly." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:65 -msgid "Then, we define a class:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:71 -msgid "" -"Each Toga application has a single `toga.App` instance, representing the " -"running entity that is the application. The app may end up managing multiple " -"windows; but for simple applications, there will be a single main window." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:76 -msgid "Next, we define a `startup()` method:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:83 -msgid "" -"The first thing the startup method does is to define a main box. Toga's " -"layout scheme behaves similar to HTML. You build an application by " -"constructing a collection of boxes, each of which contains other boxes, or " -"actual widgets. You then apply styles to these boxes to define how they will " -"consume the available window space." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:89 -msgid "" -"In this application, we define a single box, but we don't put anything into " -"it." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:92 -msgid "Next, we define a window into which we can put this empty box:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:98 -msgid "" -"This creates an instance of a `toga.MainWindow`, which will have a title " -"matching the application's name. A Main Window is a special kind of window " -"in Toga - it's a window that is closely bound to the life cycle of the app. " -"When the Main Window is closed, the application exits. The Main Window is " -"also the window that has the application's menu (if you're on a platform " -"like Windows where menu bars are part of the window)." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:106 -msgid "/// admonition | Where is my window?" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:108 -msgid "" -"If you have made an error in your code, the main window of the app may not " -"display. If this happens, you can type **Ctrl+C** in the terminal where you " -"started the app. This will stop the app. You can then fix the error and " -"restart the app." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:113 -#: docs/en/tutorial/tutorial-2.md:148 -#: docs/en/tutorial/tutorial-2.md:211 -#: docs/en/tutorial/tutorial-2.md:302 -#: docs/en/tutorial/tutorial-2.md:313 -#: docs/en/tutorial/tutorial-2.md:324 -#: docs/en/tutorial/tutorial-2.md:340 -#: docs/en/tutorial/tutorial-2.md:342 -#: docs/en/tutorial/tutorial-2.md:350 -#: docs/en/tutorial/tutorial-2.md:352 -#: docs/en/tutorial/tutorial-2.md:360 -#: docs/en/tutorial/tutorial-2.md:362 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:115 -msgid "" -"We then add our empty box as the content of the main window, and instruct " -"the application to show our window:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:123 -msgid "" -"Last of all, we define a `main()` function. This is what creates the " -"instance of our application:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:131 -msgid "" -"This `main()` method is the one that is imported and invoked by `__main__.py`" -". It creates and returns an instance of our `HelloWorld` application." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:135 -msgid "" -"That's the simplest possible Toga application. Let's put some of our own " -"content into the application, and make the app do something interesting." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:138 -msgid "Adding some content of our own" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:140 -msgid "Let's do something more interesting with our `HelloWorld` app." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:142 -#: docs/en/tutorial/tutorial-2.md:201 -msgid "/// note | Note" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:144 -msgid "" -"When you make these changes, make sure you keep the imports at the top of " -"the file, and the `main()` at the bottom of the file. You only need to " -"update the `HelloWorld` class." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:150 -msgid "" -"Modify your `HelloWorld` class inside `src/helloworld/app.py` so that it " -"looks like this:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:185 -msgid "Let's look in detail at what has changed." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:187 -msgid "We're still creating a main box; however, we are now applying a style:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:193 -msgid "" -"Toga's built-in layout system is called \"Pack\". It behaves a lot like CSS. " -"You define objects in a hierarchy - in HTML, the objects are `
`, " -"``, and other DOM elements; in Toga, they're widgets and boxes. You " -"can then assign styles to the individual elements. In this case, we're " -"indicating that this is a `COLUMN` box - that is, it is a box that will " -"consume all the available width, and will expand its height as content is " -"added, but it will try to be as short as possible." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:203 -msgid "" -"For more advanced uses, Toga also supports a separate style object, which is " -"used like this:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:213 -msgid "Next, we define a couple of widgets:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:223 -msgid "" -"Here, we define a Label and a TextInput. Both widgets have styles associated " -"with them; the label will have 5px of margin on its left and right, and no " -"margin on the top and bottom. The TextInput is marked as being flexible - " -"that is, it will absorb all available space in its layout axis." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:229 -msgid "" -"The TextInput is assigned as an instance variable of the class. This gives " -"us easy access to the widget instance - something that we'll use in a moment." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:233 -msgid "Next, we define a box to hold these two widgets:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:241 -msgid "" -"The `name_box` is a box just like the main box; however, this time, it's a " -"`ROW` box. That means content will be added horizontally, and it will try to " -"make its width as narrow as possible. The box also has some margin - 5px on " -"all sides." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:246 -msgid "Now we define a button:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:256 -msgid "" -"The button also has 5px of margin on all sides. We also define a *handler* -" -"a method to invoke when the button is pressed." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:259 -msgid "Then, we add the name box and the button to the main box:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:266 -msgid "" -"This completes our layout; the rest of the startup method is as it was " -"previously - defining a `MainWindow`, and assigning the main box as the " -"window's content:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:276 -msgid "" -"The last thing we need to do is define the handler for the button. A handler " -"can be any method, generator, or asynchronous coroutine; it accepts the " -"widget that generated the event as an argument, and will be invoked whenever " -"the button is pressed:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:286 -msgid "" -"The body of the method is a simple print statement - however, it will " -"interrogate the current value of the name input, and use that content as the " -"text that is printed." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:290 -msgid "" -"Now that we've made these changes we can see what they look like by starting " -"the application again. As before, we'll use developer mode:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:293 -#: docs/en/tutorial/tutorial-2.md:334 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:304 -#: docs/en/tutorial/tutorial-2.md:344 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:315 -#: docs/en/tutorial/tutorial-2.md:354 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:326 -msgid "" -"You'll notice that this time, it *doesn't* install dependencies. Briefcase " -"can detect that the application has been run before, and to save time, will " -"only run the application. If you add new dependencies to your app, you need " -"to make sure that they're installed by passing in a `-r` option when you run " -"`briefcase dev`." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:332 -msgid "This should open a GUI window:" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:336 -msgid "![Hello World Tutorial 2 window, on macOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:338 -#: docs/en/tutorial/tutorial-2.md:348 -#: docs/en/tutorial/tutorial-2.md:358 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:346 -msgid "![Hello World Tutorial 2 window, on Linux]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:356 -msgid "![Hello World Tutorial 2 window, on Windows]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:364 -msgid "" -"If you enter a name in the text box, and press the GUI button, you should " -"see output appear in the console where you started the application." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:368 -msgid "" -"Before continuing, close the app. As with Tutorial 1, you can do this by " -"pressing the close button on the application window, by selecting Quit/Exit " -"from the application's menu, or by typing **Ctrl+C** in the terminal where " -"you ran `briefcase dev`." -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:373 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-2.md:375 -msgid "" -"We've now got an application that does something a little more interesting. " -"But it only runs on our own computer. Let's package this application for " -"distribution. In [Tutorial 3]{1}, we'll wrap our application up as a " -"standalone installer that we could send to a friend, a customer, or upload " -"to an App Store." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-3.pot b/locales/templates/tutorial/tutorial-3.pot deleted file mode 100644 index 96c222b6..00000000 --- a/locales/templates/tutorial/tutorial-3.pot +++ /dev/null @@ -1,436 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-3.md:1 -msgid "Tutorial 3 - Packaging for distribution" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:3 -msgid "" -"So far, we've been running our application in \"Developer mode\". This makes " -"it easy for us to run our application locally - but what we really want is " -"to be able to give our application to others." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:7 -msgid "" -"However, we don't want to have to teach our users how to install Python, " -"create a virtual environment, clone a git repository, and run Briefcase in " -"developer mode. We'd rather just give them an installer, and have the " -"application Just Work." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:12 -msgid "" -"Briefcase can be used to package your application for distribution in this " -"way." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:15 -msgid "Creating your application scaffold" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:17 -msgid "" -"Since this is the first time we're packaging our application, we need to " -"create some configuration files and other scaffolding to support the " -"packaging process. From the `helloworld` directory, run:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:21 -#: docs/en/tutorial/tutorial-3.md:192 -#: docs/en/tutorial/tutorial-3.md:277 -#: docs/en/tutorial/tutorial-3.md:379 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:48 -#: docs/en/tutorial/tutorial-3.md:94 -#: docs/en/tutorial/tutorial-3.md:96 -#: docs/en/tutorial/tutorial-3.md:122 -#: docs/en/tutorial/tutorial-3.md:211 -#: docs/en/tutorial/tutorial-3.md:245 -#: docs/en/tutorial/tutorial-3.md:269 -#: docs/en/tutorial/tutorial-3.md:271 -#: docs/en/tutorial/tutorial-3.md:300 -#: docs/en/tutorial/tutorial-3.md:328 -#: docs/en/tutorial/tutorial-3.md:352 -#: docs/en/tutorial/tutorial-3.md:429 -#: docs/en/tutorial/tutorial-3.md:543 -#: docs/en/tutorial/tutorial-3.md:595 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:50 -#: docs/en/tutorial/tutorial-3.md:213 -#: docs/en/tutorial/tutorial-3.md:302 -#: docs/en/tutorial/tutorial-3.md:431 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:83 -msgid "/// admonition | Errors about Python versions" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:85 -msgid "If you receive an error that reads something like:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:87 -msgid "" -"The version of Python being used to run Briefcase (3.12) is not the system " -"python3 (3.10)." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:90 -msgid "" -"You will need to recreate your virtual environment using the system `python3`" -". Using the system Python is a requirement for packaging your application." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:98 -#: docs/en/tutorial/tutorial-3.md:247 -#: docs/en/tutorial/tutorial-3.md:330 -#: docs/en/tutorial/tutorial-3.md:545 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:124 -msgid "" -"You've probably just seen pages of content go past in your terminal... so " -"what just happened? Briefcase has done the following:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:127 -msgid "" -"It **generated an application template**. There's a lot of files and " -"configurations required to build a native installer, above and beyond the " -"code of your actual application. This extra scaffolding is almost the same " -"for every application on the same platform, except for the name of the " -"actual application being constructed - so Briefcase provides an application " -"template for each platform it supports. This step rolls out the template, " -"substituting the name of your application, bundle ID, and other properties " -"of your configuration file as required to support the platform you're " -"building on." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:127 -msgid "" -"If you're not happy with the template provided by Briefcase, you can provide " -"your own. However, you probably don't want to do this until you've got a bit " -"more experience using Briefcase's default template." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:142 -msgid "" -"It **downloaded and installed a support package**. The packaging approach " -"taken by Briefcase is best described as " -"\"the simplest thing that could possibly work\" - it ships a complete, " -"isolated Python interpreter as part of every application it builds (except " -"for Linux native system package builds). This is slightly space inefficient -" -" if you have 5 applications packaged with Briefcase, you'll have 5 copies of " -"the Python interpreter. However, this approach guarantees that every " -"application is completely independent, using a specific version of Python " -"that is known to work with the application." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:142 -msgid "" -"Again, Briefcase provides a default support package for each platform; if " -"you want, you can provide your own support package, and have that package " -"included as part of the build process. You may want to do this if you have " -"particular options in the Python interpreter that you need to have enabled, " -"or if you want to strip modules out of the standard library that you don't " -"need at runtime." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:142 -msgid "" -"Briefcase maintains a local cache of support packages, so once you've " -"downloaded a specific support package, that cached copy will be used on " -"future builds." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:142 -msgid "" -"As noted above, when Briefcase packages an app as a native Linux system " -"package (the default package format for Linux), a support package is not " -"included with the app. Instead, the app will use the Python that is provided " -"by the distribution of Linux being targeted." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:168 -msgid "" -"It **installed application requirements**. Your application can specify any " -"third-party modules that are required at runtime. These will be installed " -"using `pip` into your application's installer." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:172 -msgid "" -"It **Installed your application code**. Your application will have its own " -"code and resources (e.g., images that are needed at runtime); these files " -"are copied into the installer." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:176 -msgid "" -"It **installed your resources needed by your application.** Lastly, it adds " -"any additional resources that are needed by the installer itself. This " -"includes things like icons that need to be attached to the final application " -"and splash screen images." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:181 -msgid "" -"Once this completes, if you look in the project directory, you should now " -"see a directory corresponding to your platform (`macOS`, `linux`, or " -"`windows`) that contains additional files. This is the platform-specific " -"packaging configuration for your application." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:186 -msgid "Building your application" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:188 -msgid "" -"You can now compile your application. This step performs any binary " -"compilation that is necessary for your application to be executable on your " -"target platform." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:205 -msgid "" -"On macOS, the `build` command doesn't need to *compile* anything, but it " -"does need to sign the contents of binary so that it can be executed. This " -"signature is an *ad hoc* signature - it will only work on *your* machine; if " -"you want to distribute the application to others, you'll need to provide a " -"full signature." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:239 -msgid "" -"Once this step completes, the `build` folder will contain a " -"`helloworld-0.0.1` folder that contains a mirror of a Linux `/usr` file " -"system. This file system mirror will contain a `bin` folder with a " -"`helloworld` binary, plus `lib` and `share` folders needed to support the " -"binary." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:256 -msgid "" -"On Windows, the `build` command doesn't need to *compile* anything, but it " -"does need to write some metadata so that the application knows its name, " -"version, and so on." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:260 -msgid "/// admonition | Triggering antivirus" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:262 -msgid "" -"Since this metadata is being written directly in to the pre-compiled binary " -"rolled out from the template during the `create` command, this may trigger " -"antivirus software running on your machine and prevent the metadata from " -"being written. In that case, instruct the antivirus to allow the tool (named " -"`rcedit-x64.exe`) to run and re-run the command above." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:273 -msgid "Running your app" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:275 -msgid "You can now use Briefcase to run your application:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:354 -msgid "" -"This will start to run your native application, using the app bundle created " -"by the `build` command." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:357 -msgid "" -"You might notice some small differences in the way your application looks " -"when it's running. For example, icons and the name displayed by the " -"operating system may be slightly different to those you saw when running " -"under developer mode. This is also because you're using the packaged " -"application, not just running Python code. From the operating system's " -"perspective, you're now running \"an app\", not \"a Python program\", and " -"this is reflected in how the application appears." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:365 -msgid "" -"Before continuing, close the app. As with previous tutorial steps, you can " -"do this by pressing the close button on the application window, by selecting " -"Quit/Exit from the application's menu, or by typing **Ctrl+C** in the " -"terminal where you ran `briefcase run`." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:370 -msgid "Building your installer" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:372 -msgid "" -"You can now package your application for distribution, using the `package` " -"command. The package command does any compilation that is required to " -"convert the scaffolded project into a final, distributable product. " -"Depending on the platform, this may involve compiling an installer, " -"performing code signing, or doing other pre-distribution tasks." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:410 -msgid "" -"The `dist` folder will contain a file named `Hello World-0.0.1.dmg`. If you " -"locate this file in the Finder, and double-click on its icon, you'll mount " -"the DMG, giving you a copy of the Hello World app, and a link to your " -"Applications folder for easy installation. Drag the app file into " -"Applications, and you've installed your application. Send the DMG file to a " -"friend, and they should be able to do the same." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:417 -msgid "" -"In this example, we've used the `--adhoc-sign` option - that is, we're " -"signing our application with *ad hoc* credentials - temporary credentials " -"that will only work on your machine. We've done this to keep the tutorial " -"simple. Setting up code signing identities is a little fiddly, and they're " -"only *required* if you're intending to distribute your application to " -"others. If we were publishing a real application for others to use, we would " -"need to specify real credentials." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:425 -msgid "" -"When you're ready to publish a real application, check out the Briefcase How-" -"To guide on [Setting up a macOS code signing identity]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:433 -msgid "" -"The output of the package step will be slightly different depending on your " -"Linux distribution. If you're on a Debian-derived distribution, you'll see:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:455 -msgid "The `dist` folder will contain the `.deb` file that was generated." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:457 -msgid "If you're on a RHEL-based distribution, you'll see:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:484 -msgid "The `dist` folder will contain the `.rpm` file that was generated." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:486 -msgid "If you're on an Arch-based distribution, you'll see:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:504 -msgid "" -"The `dist` folder will contain the `.pkg.tar.zst` file that was generated." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:507 -msgid "Other Linux distributions aren't currently supported for packaging." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:509 -msgid "" -"If you want to build a package for a Linux distribution other than the one " -"you're using, Briefcase can also help - but you'll need to install Docker." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:513 -msgid "" -"Official installers for [Docker Engine]{1} are available for a range of Unix " -"distributions. Follow the instructions for your platform; however, ensure " -"you don't install Docker in \"rootless\" mode." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:517 -msgid "" -"Once you've installed Docker, you should be able to start an Linux container " -"- for example:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:524 -msgid "" -"will show you a Unix prompt (something like `root@84444e31cff9:/#`) inside " -"an Ubuntu 22.04 Docker container. Type Ctrl-D to exit Docker and return to " -"your local shell." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:528 -msgid "" -"Once you've got Docker installed, you can use Briefcase to build a package " -"for any Linux distribution that Briefcase supports by passing in a Docker " -"image as an argument. For example, to build a DEB package for Ubuntu 22.04 " -"(Jammy), regardless of the operating system you're on, you can run:" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:538 -msgid "" -"This will download the Docker image for your selected operating system, " -"create a container that is able to run Briefcase builds, and build the app " -"package inside the image. Once it's completed, the `dist` folder will " -"contain the package for the target Linux distribution." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:575 -msgid "" -"In this example, we're not signing our app. As a result, when you use the " -"installer, you'll get a system warning that the application comes from an " -"unknown developer. We've done this to keep the tutorial simple. Setting up " -"code signing identities is a little fiddly, and they're only *required* if " -"you're intending to distribute your application to others. If we were " -"publishing a real application for others to use, we would need to specify a " -"real signing identity; when that signed app is installed, the system will " -"notify the user that the application is from the known identity associated " -"with the certificate." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:585 -msgid "" -"When you're ready to publish a real application, check out the Briefcase How-" -"To guide on [Setting up a Windows code signing identity]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:589 -msgid "" -"Once this step completes, the `dist` folder will contain a file named " -"`Hello_World-0.0.1.msi`. If you double click on this installer to run it, " -"you should go through a familiar Windows installation process. Once this " -"installation completes, there will be a \"Hello World\" entry in your start " -"menu." -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:597 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-3.md:599 -msgid "" -"We now have our application packaged for distribution on desktop platforms. " -"But what happens when we need to update the code in our application? How do " -"we get those updates into our packaged application? Turn to [Tutorial 4]{1} " -"to find out..." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-4.pot b/locales/templates/tutorial/tutorial-4.pot deleted file mode 100644 index c85e7879..00000000 --- a/locales/templates/tutorial/tutorial-4.pot +++ /dev/null @@ -1,224 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-4.md:1 -msgid "Tutorial 4 - Updating your application" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:3 -msgid "" -"In the last tutorial, we packaged our application as a native application. " -"If you're dealing with a real-world app, that isn't going to be the end of " -"the story - you'll likely do some testing, discover problems, and need to " -"make some changes. Even if your application is perfect, you'll eventually " -"want to publish version 2 of your application with improvements." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:10 -msgid "So - how do you update your installed app when you make code changes?" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:12 -msgid "Updating application code" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:14 -msgid "" -"Our application currently prints to the console when you press the button. " -"However, GUI applications shouldn't really use the console for output. They " -"need to use dialogs to communicate with users." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:18 -msgid "" -"Let's add a dialog box to say hello, instead of writing to the console. " -"Modify the `say_hello` callback so it looks like this:" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:31 -msgid "" -"We need to make the method `async` so that when we display the dialog, the " -"rest of the application continues to run. Don't worry about this detail too " -"much right now -we'll give a more detailed explanation in [Tutorial 8]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:36 -msgid "" -"This directs Toga to open a modal dialog box when the button is pressed." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:38 -msgid "" -"If you run `briefcase dev`, enter a name, and press the button, you'll see " -"the new dialog box:" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:41 -#: docs/en/tutorial/tutorial-4.md:87 -#: docs/en/tutorial/tutorial-4.md:200 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:43 -msgid "![Hello World Tutorial 4 dialog, on macOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:45 -#: docs/en/tutorial/tutorial-4.md:55 -#: docs/en/tutorial/tutorial-4.md:65 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:47 -#: docs/en/tutorial/tutorial-4.md:49 -#: docs/en/tutorial/tutorial-4.md:57 -#: docs/en/tutorial/tutorial-4.md:59 -#: docs/en/tutorial/tutorial-4.md:67 -#: docs/en/tutorial/tutorial-4.md:69 -#: docs/en/tutorial/tutorial-4.md:101 -#: docs/en/tutorial/tutorial-4.md:124 -#: docs/en/tutorial/tutorial-4.md:140 -#: docs/en/tutorial/tutorial-4.md:221 -#: docs/en/tutorial/tutorial-4.md:250 -#: docs/en/tutorial/tutorial-4.md:268 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:51 -#: docs/en/tutorial/tutorial-4.md:103 -#: docs/en/tutorial/tutorial-4.md:223 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:53 -msgid "![Hello World Tutorial 4 dialog, on Linux]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:61 -#: docs/en/tutorial/tutorial-4.md:126 -#: docs/en/tutorial/tutorial-4.md:252 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:63 -msgid "![Hello World Tutorial 4 dialog, on Windows]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:71 -msgid "However, if you run `briefcase run`, the dialog box won't appear." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:73 -msgid "" -"Why is this? Well, `briefcase dev` operates by running your code in place -" -"it tries to produce as realistic runtime environment for your code as " -"possible, but it doesn't provide or use any of the platform infrastructure " -"for wrapping your code as an application. Part of the process of packaging " -"your app involves copying your code *into* the application bundle - and at " -"the moment, your application still has the old code in it." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:81 -msgid "" -"So - we need to tell briefcase to update your app, copying in the new " -"version of the code. We *could* do this by deleting the old platform " -"directory and starting from scratch. However, Briefcase provides an easier " -"way - you can update the code for your existing bundled application:" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:142 -msgid "" -"If Briefcase can't find the scaffolded template, it will automatically " -"invoke `create` to generate a fresh scaffold." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:145 -msgid "" -"Now that we've updated the installer code, we can then run `briefcase build` " -"to re-compile the app, `briefcase run` to run the updated app, and `" -"briefcase package` to repackage the application for distribution." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:150 -msgid "" -"(macOS users, remember that as noted in [Tutorial 3]{1}, for the tutorial we " -"recommend running `briefcase package` with the `--adhoc-sign` flag to avoid " -"the complexity of setting up a code signing identity and keep the tutorial " -"as simple as possible.)" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:155 -msgid "Update and run in one step" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:157 -msgid "" -"If you're rapidly iterating code changes, you'll likely want to make a code " -"change, update the application, and immediately re-run your application. For " -"most purposes, developer mode (`briefcase dev`) will be the easiest way to " -"do this sort of rapid iteration; however, if you're testing something about " -"how your application runs as a native binary, or hunting a bug that only " -"manifests when your application is in packaged form, you may need to use " -"repeated calls to `briefcase run`. To simplify the process of updating and " -"running the bundled app, Briefcase has a shortcut to support this usage " -"pattern - the `-u` (or `--update`) option on the `run` command." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:168 -msgid "" -"Let's try making another change. You may have noticed that if you don't type " -"a name in the text input box, the dialog will say \"Hello, \". Let's modify " -"the `say_hello` function again to handle this edge case." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:172 -msgid "" -"At the top of the file, between the imports and the `class HelloWorld` " -"definition, add a utility method to generate an appropriate greeting " -"depending on the value of the name that has been provided:" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:184 -msgid "Then, modify the `say_hello` callback to use this new utility method:" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:196 -msgid "" -"Run your app in development mode (with `briefcase dev`) to confirm that the " -"new logic works; then update, build and run the app with one command:" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:270 -msgid "" -"The package command also accepts the `-u` argument, so if you make a change " -"to your application code and want to repackage immediately, you can run `" -"briefcase package -u`." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:274 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:276 -msgid "" -"We now have our application packaged for distribution on desktop platforms, " -"and we've been able to update the code in our application." -msgstr "" - -#: docs/en/tutorial/tutorial-4.md:279 -msgid "" -"But what about mobile? In [Tutorial 5]{1}, we'll convert our application " -"into a mobile application, and deploy it onto a device simulator, and onto a " -"phone." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/android.pot b/locales/templates/tutorial/tutorial-5/android.pot deleted file mode 100644 index 8d8504c1..00000000 --- a/locales/templates/tutorial/tutorial-5/android.pot +++ /dev/null @@ -1,321 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-5/android.md:1 -msgid "Tutorial 5 - Taking it mobile: Android" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:3 -msgid "" -"Now, we're going to take our application, and deploy it as an Android " -"application." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:6 -msgid "" -"The process of deploying an application to Android is very similar to the " -"process for deploying as a desktop application. Briefcase handles installing " -"dependencies for Android, including the Android SDK, the Android emulator, " -"and a Java compiler." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:11 -msgid "Create an Android app and compile it" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:13 -msgid "" -"First, run the `create` command. This downloads an Android app template and " -"adds your Python code to it." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:16 -#: docs/en/tutorial/tutorial-5/android.md:121 -#: docs/en/tutorial/tutorial-5/android.md:204 -#: docs/en/tutorial/tutorial-5/android.md:340 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:43 -#: docs/en/tutorial/tutorial-5/android.md:72 -#: docs/en/tutorial/tutorial-5/android.md:101 -#: docs/en/tutorial/tutorial-5/android.md:139 -#: docs/en/tutorial/tutorial-5/android.md:159 -#: docs/en/tutorial/tutorial-5/android.md:179 -#: docs/en/tutorial/tutorial-5/android.md:192 -#: docs/en/tutorial/tutorial-5/android.md:216 -#: docs/en/tutorial/tutorial-5/android.md:230 -#: docs/en/tutorial/tutorial-5/android.md:244 -#: docs/en/tutorial/tutorial-5/android.md:259 -#: docs/en/tutorial/tutorial-5/android.md:270 -#: docs/en/tutorial/tutorial-5/android.md:281 -#: docs/en/tutorial/tutorial-5/android.md:293 -#: docs/en/tutorial/tutorial-5/android.md:305 -#: docs/en/tutorial/tutorial-5/android.md:354 -#: docs/en/tutorial/tutorial-5/android.md:370 -#: docs/en/tutorial/tutorial-5/android.md:386 -#: docs/en/tutorial/tutorial-5/android.md:406 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:45 -#: docs/en/tutorial/tutorial-5/android.md:141 -#: docs/en/tutorial/tutorial-5/android.md:218 -#: docs/en/tutorial/tutorial-5/android.md:356 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:74 -#: docs/en/tutorial/tutorial-5/android.md:161 -#: docs/en/tutorial/tutorial-5/android.md:232 -#: docs/en/tutorial/tutorial-5/android.md:372 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:104 -msgid "" -"When you run `briefcase create android` for the first time, Briefcase " -"downloads a Java JDK, and the Android SDK. File sizes and download times can " -"be considerable; this may take a while (10 minutes or longer, depending on " -"the speed of your Internet connection). When the download has completed, you " -"will be prompted to accept Google's Android SDK license. There's a number of " -"licenses you'll need to agree too - keep entering `y` at the prompt to " -"review and accept each of the necessary the license agreements." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:113 -msgid "" -"Once this completes, we'll have a `build\\helloworld\\android\\gradle` " -"directory in our project, which will contain an Android project with a " -"Gradle build configuration. This project will contain your application code, " -"and a support package containing the Python interpreter." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:118 -msgid "" -"We can then use Briefcase's `build` command to compile this into an Android " -"APK app file." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:182 -msgid "/// admonition | Gradle may look stuck" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:184 -msgid "" -"During the `briefcase build android` step, Gradle (the Android platform " -"build tool) will print `CONFIGURING: 100%`, and appear to be doing nothing. " -"Don't worry, it's not stuck - it's downloading more Android SDK components. " -"Depending on your Internet connection speed, this may take another 10 " -"minutes (or longer). This lag should only happen the very first time you run " -"`build`; the tools are cached, and on your next build, the cached versions " -"will be used." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:194 -msgid "Run the app on a virtual device" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:196 -msgid "" -"We're now ready to run our application. You can use Briefcase's `run` " -"command to run the app on an Android device. Let's start by running on an " -"Android emulator." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:200 -msgid "" -"To run your application, run `briefcase run android`. When you do this, " -"you'll be prompted with a list of devices that you could run the app on. The " -"last item will always be an option to create a new Android emulator." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:246 -msgid "" -"We can now choose our desired device. Select the " -"\"Create a new Android emulator\" option, and accept the default choice for " -"the device name (`beePhone`)." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:250 -msgid "" -"Briefcase `run` will automatically boot the virtual device. When the device " -"is booting, you will see the Android logo:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:253 -msgid "![Android virtual device booting]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:255 -#: docs/en/tutorial/tutorial-5/android.md:266 -#: docs/en/tutorial/tutorial-5/android.md:277 -#: docs/en/tutorial/tutorial-5/android.md:301 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:257 -msgid "Android virtual device booting" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:261 -msgid "" -"Once the device has finished booting, Briefcase will install your app on the " -"device. You will briefly see a launcher screen:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:264 -msgid "![Android virtual device fully started, on the launcher screen]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:268 -msgid "Android virtual device fully started, on the launcher screen" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:272 -msgid "" -"The app will then start. You'll see a splash screen while the app starts up:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:275 -msgid "![App splash screen]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:279 -msgid "App splash screen" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:283 -msgid "/// admonition | The emulator didn't start!" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:285 -msgid "" -"The Android emulator is a complex piece of software that relies on a number " -"of hardware and operating system features - features that may not be " -"available or enabled on older machines. If you experience any difficulties " -"starting the Android emulator, consult the [Requirements and recommendations]" -"{1} section of the Android developer documentation." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:295 -msgid "" -"The first time the app starts, it needs to unpack itself onto the device. " -"This may take a few seconds. Once it's unpacked, you'll see the Android " -"version of our desktop app:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:299 -msgid "![Demo app fully launched]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:303 -msgid "Demo app fully launched" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:307 -msgid "" -"If you fail to see your app launching, you may need to check your terminal " -"where you ran `briefcase run` and look for any error messages." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:310 -msgid "" -"While the app is running, you'll see a lot of messages being streamed in the " -"console. This is a stream of the application's logs from the emulator. " -"Typing Ctrl+C into the terminal will halt the streamed information in the " -"console, but it will not close the emulator. This is so you can test new " -"changes without restarting the emulator." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:316 -msgid "" -"In future, if you want to run on this device without using the menu, you can " -"provide the emulator's name to Briefcase, using `briefcase run android -d " -"\"@beePhone\"` to run on the virtual device directly." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:321 -msgid "Run the app on a physical device" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:323 -msgid "" -"If you have a physical Android phone or tablet, you can connect it to your " -"computer with a USB cable, and then use the Briefcase to target your " -"physical device." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:327 -msgid "" -"Android requires that you prepare your device before it can be used for " -"development. You will need to make 2 changes to the options on your device:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:331 -msgid "Enable developer options" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:332 -msgid "Enable USB debugging" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:334 -msgid "" -"Details on how to make these changes can be found " -"[in the Android developer documentation]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:337 -msgid "" -"Once these steps have been completed, your device should appear in the list " -"of available devices when you run `briefcase run android`." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:388 -msgid "" -"Here we can see a new physical device with it's serial number on the " -"deployment list - in this case, a Pixel 3a. In the future, if you want to " -"run on this device without using the menu, you can provide the phone's " -"serial number to Briefcase (in this case, `briefcase run android -d " -"94ZZY0LNE8`). This will run on the device directly, without prompting." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:395 -msgid "/// admonition | My device doesn't appear!" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:397 -msgid "" -"If your device doesn't appear on this list at all, either you haven't " -"enabled USB debugging, (or the device isn't plugged in!)." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:400 -msgid "" -"If your device appears, but is listed as " -"\"Unknown device (not authorized for development)\", developer mode hasn't " -"been correctly enabled. Re-run [the steps to enable developer options]{1}, " -"and re-run `briefcase run android`." -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:408 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-5/android.md:410 -msgid "" -"We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/iOS.pot b/locales/templates/tutorial/tutorial-5/iOS.pot deleted file mode 100644 index 8c85890e..00000000 --- a/locales/templates/tutorial/tutorial-5/iOS.pot +++ /dev/null @@ -1,118 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-5/iOS.md:1 -msgid "Tutorial 5 - Taking it mobile: iOS" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:3 -msgid "" -"To compile iOS applications we'll need Xcode, which is available for free " -"from [the macOS App Store]{1}. Once Xcode is installed, launch it from " -"Applications and accept the Xcode License Agreement. Next, Xcode will show " -"which components are built-in, and which components you may download. Select " -"the checkbox next to iOS (followed by the current version number), and then " -"click \"Download and Install\" to install it. Xcode will install the system " -"components, followed by the iOS Simulator." -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:13 -msgid "" -"Once we've got Xcode and the iOS simulator installed, we can take our " -"application and deploy it as an iOS app." -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:16 -msgid "" -"The process of deploying an application to iOS is very similar to the " -"process for deploying as a desktop application. First, you run the `create` " -"command -but this time, we specify that we want to create an iOS application:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:46 -msgid "" -"Once this completes, we'll have a `build/helloworld/ios/xcode` directory " -"containing an Xcode project, as well as the support libraries and the " -"application code needed for the application." -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:50 -msgid "" -"You can then use Briefcase to compile your app using `briefcase build iOS`:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:66 -msgid "" -"We're now ready to run our application, using `briefcase run iOS`. You'll be " -"prompted to select a device to compile for; if you've got simulators for " -"multiple iOS SDK versions installed, you may also be asked which iOS version " -"you want to target. The options you are shown may differ from the options " -"show in this output - at the very least, the list of devices will likely be " -"different. For our purposes, it doesn't matter which simulator you pick." -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:116 -msgid "" -"This will start the iOS simulator, install your app, and start it. You " -"should see the simulator start, and eventually open your iOS application:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:120 -msgid "![Hello World Tutorial 5 window, on iOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:122 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:124 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:126 -msgid "" -"While the app is running, you'll see a series of Simulator log output " -"messages in the console. Typing Ctrl+C into the terminal will halt the " -"messages in the console, but it will not close the simulator. This is so you " -"can test new changes without restarting the simulator." -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:131 -msgid "" -"If you know ahead of time which iOS simulator you want to target, you can " -"tell Briefcase to use that simulator by providing a `-d` (or `--device`) " -"option. Using the name of the device you selected when you built your " -"application, run:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:140 -msgid "" -"If you have multiple iOS versions available, Briefcase will pick the highest " -"iOS version; if you want to pick a particular iOS version, you tell it to " -"use that specific version:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:148 -msgid "Or, you can name a specific device UDID:" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:154 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-5/iOS.md:156 -msgid "" -"We've now got an application on our phone! Is there anywhere else we can " -"deploy a BeeWare app? Turn to [Tutorial 6]{1} to find out..." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-5/index.pot b/locales/templates/tutorial/tutorial-5/index.pot deleted file mode 100644 index 603e4eef..00000000 --- a/locales/templates/tutorial/tutorial-5/index.pot +++ /dev/null @@ -1,40 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-5/index.md:1 -msgid "Tutorial 5 - Taking it Mobile" -msgstr "" - -#: docs/en/tutorial/tutorial-5/index.md:3 -msgid "" -"So far, we've been running and testing our application on the desktop. " -"However, BeeWare also supports mobile platforms - and the application we've " -"written can be deployed to your mobile device, too!" -msgstr "" - -#: docs/en/tutorial/tutorial-5/index.md:7 -msgid "[Android]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/index.md:9 -msgid "Android applications can be compiled on macOS, Windows or Linux." -msgstr "" - -#: docs/en/tutorial/tutorial-5/index.md:11 -msgid "[iOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-5/index.md:13 -msgid "iOS applications can only be compiled on macOS." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-6.pot b/locales/templates/tutorial/tutorial-6.pot deleted file mode 100644 index a6ce09ec..00000000 --- a/locales/templates/tutorial/tutorial-6.pot +++ /dev/null @@ -1,126 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-6.md:1 -msgid "Tutorial 6 - Put it on the web!" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:3 -msgid "" -"In addition to supporting mobile platforms, the Toga widget toolkit also " -"supports the web! Using the same API that you used to deploy your desktop " -"and mobile applications, you can deploy your application as a single-page " -"web app." -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:8 -msgid "/// admonition | Proof of Concept" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:10 -msgid "" -"The Toga Web backend is the least mature of all the Toga backends. It's " -"mature enough to show off a few features, but it's likely to be buggy, and " -"will be missing many of the widgets that are available on other platforms. " -"At this point in time, Web deployment should be considered a " -"\"Proof of Concept\" - enough to demonstrate what can be done, but not " -"enough to be relied on for serious development." -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:17 -msgid "" -"If you have problems with this step of the tutorial, you can skip to the " -"next page." -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:20 -#: docs/en/tutorial/tutorial-6.md:70 -#: docs/en/tutorial/tutorial-6.md:110 -#: docs/en/tutorial/tutorial-6.md:150 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:22 -msgid "Deploying as a web app" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:24 -msgid "" -"The process of deploying as a single-page web app follows the same familiar " -"pattern - you create the application, then build the application, then run " -"it. However, Briefcase can be a little bit smart; if you attempt to run an " -"application, and Briefcase determines that it hasn't been created or built " -"for the platform being targeted, it will do the create and build steps for " -"you. Since this is our first time running the app for the web, we can " -"perform all three steps with one command:" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:32 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:72 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:112 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:152 -msgid "This will open a web browser, pointing at {1}:" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:154 -msgid "![Hello World Tutorial 6 dialog, in a browser]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:156 -msgid "If you enter your name and click the button, a dialog will appear." -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:158 -msgid "How does this work?" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:160 -msgid "" -"This web app is a static website - a single HTML source page, with some CSS " -"and other resources. Briefcase has started a local web server to serve this " -"page so your browser can view the page. If you wanted to put this web page " -"into production, you could copy the contents of the `www` folder onto any " -"web server that can serve static content." -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:166 -msgid "" -"But when you press the button, you're running Python code... how does that " -"work? Toga uses [PyScript]{1} to provide a Python interpreter in the " -"browser. Briefcase packages your app's code as wheels that PyScript can load " -"in the browser. When the page is loaded, the application code runs in the " -"browser, building the UI using the browser DOM. When you click a button, " -"that button runs the event handling code in the browser." -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:174 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-6.md:176 -msgid "" -"Although we've now deployed this app on desktop, mobile and the web, the app " -"is fairly simple, and doesn't involve any third-party libraries. Can we " -"include libraries from the Python Package Index (PyPI) in our app? Turn to " -"[Tutorial 7]{1} to find out..." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-7.pot b/locales/templates/tutorial/tutorial-7.pot deleted file mode 100644 index 7c38af8a..00000000 --- a/locales/templates/tutorial/tutorial-7.pot +++ /dev/null @@ -1,453 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-7.md:1 -msgid "Tutorial 7 - Get this (third-)party started" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:3 -msgid "" -"So far, the app we've built has only used our own code, plus the code " -"provided by BeeWare. However, in a real-world app, you'll likely want to use " -"a third-party library, downloaded from the Python Package Index (PyPI)." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:8 -msgid "Let's modify our app to include a third-party library." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:10 -msgid "Adding a package" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:12 -msgid "" -"Let's modify our application to say a little bit more than just " -"\"Hi, there!\"." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:15 -msgid "" -"To generate some more interesting text for the dialog, we're going to use a " -"library called [Faker]{1}. Faker is a Python package that generates fake " -"content, including names and text blocks. The names and words in the text " -"block are generated from an arbitrary list of words provided by Faker. We're " -"going to use Faker to construct a fake message, as if someone is responding " -"to the user." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:23 -msgid "" -"We start by adding `faker` to our app. Add an import to the top of the " -"`app.py` to import `faker`:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:30 -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:43 -msgid "" -"Let's run our updated app in Briefcase developer mode to check that our " -"change has worked." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:46 -#: docs/en/tutorial/tutorial-7.md:130 -#: docs/en/tutorial/tutorial-7.md:207 -#: docs/en/tutorial/tutorial-7.md:555 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:66 -#: docs/en/tutorial/tutorial-7.md:88 -#: docs/en/tutorial/tutorial-7.md:110 -#: docs/en/tutorial/tutorial-7.md:117 -#: docs/en/tutorial/tutorial-7.md:124 -#: docs/en/tutorial/tutorial-7.md:144 -#: docs/en/tutorial/tutorial-7.md:146 -#: docs/en/tutorial/tutorial-7.md:162 -#: docs/en/tutorial/tutorial-7.md:164 -#: docs/en/tutorial/tutorial-7.md:180 -#: docs/en/tutorial/tutorial-7.md:182 -#: docs/en/tutorial/tutorial-7.md:189 -#: docs/en/tutorial/tutorial-7.md:196 -#: docs/en/tutorial/tutorial-7.md:245 -#: docs/en/tutorial/tutorial-7.md:247 -#: docs/en/tutorial/tutorial-7.md:302 -#: docs/en/tutorial/tutorial-7.md:342 -#: docs/en/tutorial/tutorial-7.md:344 -#: docs/en/tutorial/tutorial-7.md:419 -#: docs/en/tutorial/tutorial-7.md:467 -#: docs/en/tutorial/tutorial-7.md:576 -#: docs/en/tutorial/tutorial-7.md:605 -#: docs/en/tutorial/tutorial-7.md:628 -#: docs/en/tutorial/tutorial-7.md:647 -#: docs/en/tutorial/tutorial-7.md:671 -#: docs/en/tutorial/tutorial-7.md:682 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:68 -#: docs/en/tutorial/tutorial-7.md:148 -#: docs/en/tutorial/tutorial-7.md:249 -#: docs/en/tutorial/tutorial-7.md:578 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:90 -#: docs/en/tutorial/tutorial-7.md:166 -#: docs/en/tutorial/tutorial-7.md:304 -#: docs/en/tutorial/tutorial-7.md:607 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:112 -#: docs/en/tutorial/tutorial-7.md:184 -#: docs/en/tutorial/tutorial-7.md:346 -#: docs/en/tutorial/tutorial-7.md:630 -msgid "/// tab | Android" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:114 -#: docs/en/tutorial/tutorial-7.md:186 -msgid "" -"You can't run an Android app in developer mode - use the instructions for " -"your chosen desktop platform." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:119 -#: docs/en/tutorial/tutorial-7.md:191 -#: docs/en/tutorial/tutorial-7.md:421 -#: docs/en/tutorial/tutorial-7.md:649 -msgid "/// tab | iOS" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:121 -#: docs/en/tutorial/tutorial-7.md:193 -msgid "" -"You can't run an iOS app in developer mode - use the instructions for your " -"chosen desktop platform." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:126 -msgid "" -"What happened? We've added `faker` to our *code*, but we haven't added it to " -"our development virtual environment. We can fix this by installing `faker` " -"with `pip`, and then re-running `briefcase dev`:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:137 -#: docs/en/tutorial/tutorial-7.md:155 -#: docs/en/tutorial/tutorial-7.md:173 -msgid "" -"When you enter a name and press the button, you should see a dialog that " -"looks something like:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:140 -msgid "![Hello World Tutorial 7 dialog, on macOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:142 -#: docs/en/tutorial/tutorial-7.md:160 -#: docs/en/tutorial/tutorial-7.md:178 -#: docs/en/tutorial/tutorial-7.md:243 -#: docs/en/tutorial/tutorial-7.md:340 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:158 -msgid "![Hello World Tutorial 7 dialog, on Linux]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:176 -msgid "![Hello World Tutorial 7 dialog, on Windows]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:198 -msgid "" -"We've now got a working app, using a third party library, running in " -"development mode!" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:201 -msgid "Running the updated app" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:203 -msgid "" -"Let's get this updated application code packaged as a standalone app. Since " -"we've made code changes, we need to follow the same steps as in [Tutorial 4]" -"{1}:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:209 -#: docs/en/tutorial/tutorial-7.md:251 -#: docs/en/tutorial/tutorial-7.md:306 -#: docs/en/tutorial/tutorial-7.md:348 -#: docs/en/tutorial/tutorial-7.md:423 -msgid "Update the code in the packaged app:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:220 -#: docs/en/tutorial/tutorial-7.md:262 -#: docs/en/tutorial/tutorial-7.md:317 -#: docs/en/tutorial/tutorial-7.md:359 -#: docs/en/tutorial/tutorial-7.md:434 -msgid "Rebuild the app:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:229 -#: docs/en/tutorial/tutorial-7.md:276 -#: docs/en/tutorial/tutorial-7.md:326 -msgid "And finally, run the app:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:238 -#: docs/en/tutorial/tutorial-7.md:335 -msgid "" -"However, when the app runs, you'll see an error in the console, plus a crash " -"dialog:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:241 -msgid "![Hello World Tutorial 7 app crash, on macOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:285 -#: docs/en/tutorial/tutorial-7.md:378 -msgid "However, when the app runs, you'll see an error in the console:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:338 -msgid "![Hello World Tutorial 7 app crash, on Windows]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:369 -#: docs/en/tutorial/tutorial-7.md:444 -msgid "And finally, run the app (selecting a simulator when prompted):" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:454 -msgid "However, when the app runs, you'll see an error in the console" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:469 -msgid "" -"Once again, the app has failed to start because `faker` has not been " -"installed -but why? Haven't we already installed `faker`?" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:472 -msgid "" -"We have - but only in the development environment. Your development " -"environment is entirely local to your machine - and is only enabled when you " -"explicitly activate it. Although Briefcase has a development mode, the main " -"reason you'd use Briefcase is to package up your code so you can give it to " -"someone else." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:478 -msgid "" -"The only way to guarantee that someone else will have a Python environment " -"that contains everything it needs is to build a completely isolated Python " -"environment. This means there's a completely isolated Python install, and a " -"completely isolated set of dependencies. This is what Briefcase is building " -"when you run `briefcase build` - an isolated Python environment. This also " -"explains why `faker` isn't installed - it has been installed in your " -"*development* environment, but not in the packaged app." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:487 -msgid "So - we need to tell Briefcase that our app has an external dependency." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:489 -msgid "Updating dependencies" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:491 -msgid "" -"In the root directory of your app, there is a file named `pyproject.toml`. " -"This file contains all the app configuration details that you provided when " -"you originally ran `briefcase new`." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:495 -msgid "" -"`pyproject.toml` is broken up into sections; one of the sections describes " -"the settings for your app:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:508 -msgid "" -"The `requires` option describes the dependencies of our application. It is a " -"list of strings, specifying libraries (and, optionally, versions) of " -"libraries that you want to be included with your app." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:512 -msgid "Modify the `requires` setting so that it reads:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:520 -msgid "" -"By adding this setting, we're telling Briefcase \"when you build my app, run " -"`pip install faker` into the application bundle\". Anything that would be " -"legal input to `pip install` can be used here - so, you could specify:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:525 -msgid "A specific library version (e.g., `\"faker==37.3.0\"`);" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:526 -msgid "A range of library versions (e.g., `\"faker>=37\"`);" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:527 -msgid "" -"A path to a git repository (e.g., `\"git+https://github.com/joke2k/faker/\"" -"`); or" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:529 -msgid "" -"A local file path (However - be warned: if you give your code to someone " -"else, this path probably won't exist on their machine!)" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:532 -msgid "" -"Further down in `pyproject.toml`, you'll notice other sections that are " -"operating system dependent, like `[tool.briefcase.app.helloworld.macOS]` and " -"`[tool.briefcase.app.helloworld.windows]`. These sections *also* have a " -"`requires` setting. These settings allow you to define additional platform-" -"specific dependencies - so, for example, if you need a platform-specific " -"library to handle some aspect of your app, you can specify that library in " -"the platform-specific `requires` section, and that setting will only be used " -"for that platform. You will notice that the `toga` libraries are all " -"specified in the platform-specific `requires` section - this is because the " -"libraries needed to display a user interface are platform specific." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:544 -msgid "" -"In our case, we want `faker` to be installed on all platforms, so we use the " -"app-level `requires` setting. The app-level dependencies will always be " -"installed; the platform-specific dependencies are installed *in addition* to " -"the app-level ones." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:549 -msgid "" -"Now that we've told Briefcase about our additional requirements, we can try " -"packaging our app again. Ensure that you've saved your changes to " -"`pyproject.toml`, and then update your app again - this time, passing in the " -"`-r` flag. This tells Briefcase to update requirements in the packaged app:" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:673 -msgid "" -"Once you've updated, you can run `briefcase build` and `briefcase run` - and " -"you should see your packaged app, with the new dialog behavior." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:676 -msgid "/// note | Note" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:678 -msgid "" -"The `-r` option for updating requirements is also honored by the `build` and " -"`run` command, so if you want to update, build, and run in one step, you " -"could use `briefcase run -u -r`." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:684 -msgid "Third-Party Python Packages for Mobile and Web" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:686 -msgid "" -"Faker is just one example of a third-party Python package - a collection of " -"code that isn't part what Python provides out of the box. These third-party " -"packages are most commonly distributed using the " -"[Python Package Index (PyPI)]{1}, and installed into your local virtual " -"environment. We've been using `pip` in this tutorial, but there are other " -"options." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:693 -msgid "" -"On desktop platforms (macOS, Windows, Linux), essentially any package on " -"PyPI package can be installed into your virtual environment, or added to " -"your app's requirements. However, when building an app for mobile or web " -"platforms, [your options are slightly limited]{1}." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:699 -msgid "" -"In short; any *pure Python* package (i.e. any package created from a project " -"written *only* in Python) can be used without difficulty. Some packages, " -"though, are created from projects that contain both Python and other " -"languages (e.g. C, C++, Rust, etc). Code written in those languages needs to " -"be compiled to platform-specific binary modules before it can be used, and " -"those pre-compiled binary modules are only available on specific platforms. " -"Mobile and web platforms have very different requirements than \"standard\" " -"desktop platforms. At this time, most Python packages don't provide pre-" -"compiled binaries for mobile and web platforms." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:710 -msgid "" -"On PyPI, packages are often provided in a pre-built distribution format " -"called *wheels*. To check whether a package is pure Python, look at the PyPI " -"downloads page for the project. If the wheels provided have a `-py3-none-" -"any.whl` suffix (e.g., [Faker]{1}), then they are pure Python wheels. " -"However, if the wheels have version and platform-specific extensions (e.g., " -"[Pillow]{2}, which has wheels with suffixes like " -"`-cp313-cp313-macosx_11_0_arm64.whl` and `-cp39-cp39-win_amd64.whl`), then " -"the wheel *contains a binary component*. That package cannot be installed on " -"mobile or web platforms unless a wheel compatible with those platforms has " -"been provided." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:723 -msgid "" -"At this time, *most* binary packages on PyPI don't provide mobile- or web-" -"compatible wheels. To fill this gap, BeeWare provides binaries for some " -"popular binary modules (including `numpy`, `pandas`, and `cryptography`). " -"These wheels are *not* distributed on PyPI, but Briefcase will install those " -"wheels if they're available." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:729 -msgid "" -"It's *usually* possible to compile binary packages for mobile platforms, but " -"it's not easy to set up -- well outside the scope of an introductory " -"tutorial like this one." -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:733 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-7.md:735 -msgid "" -"We've now got an app that uses a third-party library! In [Tutorial 8]{1} " -"we'll learn how to ensure our app remains responsive as we add more complex " -"application logic." -msgstr "" diff --git a/locales/templates/tutorial/tutorial-8.pot b/locales/templates/tutorial/tutorial-8.pot deleted file mode 100644 index 72dc8149..00000000 --- a/locales/templates/tutorial/tutorial-8.pot +++ /dev/null @@ -1,491 +0,0 @@ -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-08-21 16:18-0400\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Generator: Translate Toolkit 3.15.6\n" - -#: docs/en/tutorial/tutorial-8.md:1 -msgid "Tutorial 8 - Making it Smooooth" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:3 -msgid "" -"So far, our application has been relatively simple - displaying GUI widgets, " -"calling a simple third-party library, and displaying output in a dialog. All " -"these operations happen very quickly, and our application remains responsive." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:8 -msgid "" -"However, in a real world application, we'll need to perform complex tasks or " -"calculations that may take a while to complete - and as those tasks are " -"performed, we want our application to remain responsive. Let's make a change " -"to our application that might take a little time to complete, and see the " -"changes that need to be made to accommodate that behavior." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:15 -msgid "Accessing an API" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:17 -msgid "" -"A common time-consuming task an app will need to perform is to make a " -"request on a web API to retrieve data, and display that data to the user. " -"Web APIs sometimes take a second or two to respond, so if we're calling an " -"API like that, we need to ensure our application doesn't become unresponsive " -"while we wait for the web API to return an answer." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:23 -msgid "" -"This is a toy app, so we don't have a *real* API to work with, so we'll use " -"the [{JSON} Placeholder API]{1} as a source of data. The {JSON} Placeholder " -"API has a number of \"fake\" API endpoints you can use as test data. One of " -"those APIs is the `/posts/` endpoint, which returns fake blog posts. If you " -"open `https://jsonplaceholder.typicode.com/posts/42` in your browser, you'll " -"get a JSON payload describing a single post - some [Lorum ipsum]{2} content " -"for a blog post with ID 42." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:33 -msgid "" -"The Python standard library contains all the tools you'd need to access an " -"API. However, the built-in APIs are very low level. They are good " -"implementations of the HTTP protocol - but they require the user to manage " -"lots of low-level details, like URL redirection, sessions, authentication, " -"and payload encoding. As a \"normal browser user\" you're probably used to " -"taking these details for granted, as a browser manages them for you." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:41 -msgid "" -"As a result, people have developed third-party libraries that wrap the built-" -"in APIs and provide a simpler API that is a closer match for the everyday " -"browser experience. We're going to use one of those libraries to access the " -"{JSON} Placeholder API - a library called [`httpx`]{1}. Briefcase uses " -"`httpx` internally, so it's already in your local environment -you don't " -"need to install it separately to use it here." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:49 -msgid "" -"Let's add a `httpx` API call to our app. Modify the `requires` setting in " -"our `pyproject.toml` to include the new requirement:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:59 -msgid "Add an import to the top of the `app.py` to import `httpx`:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:65 -msgid "Then modify the `say_hello()` callback so it looks like this:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:83 -msgid "" -"This will change the `say_hello()` callback so that when it is invoked, it " -"will:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:86 -msgid "make a GET request on the JSON placeholder API to obtain post 42;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:87 -msgid "decode the response as JSON;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:88 -msgid "extract the body of the post; and" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:89 -msgid "" -"include the body of that post as the text of the \"message\" dialog, in " -"place of the text generated by Faker." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:92 -msgid "" -"Lets run our updated app in Briefcase developer mode to check that our " -"change has worked. As we've added a new requirement, we need to tell " -"developer mode to reinstall requirements, by using the `-r` argument:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:96 -#: docs/en/tutorial/tutorial-8.md:332 -msgid "/// tab | macOS" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:107 -#: docs/en/tutorial/tutorial-8.md:129 -#: docs/en/tutorial/tutorial-8.md:151 -msgid "" -"When you enter a name and press the button, you should see a dialog that " -"looks something like:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:110 -msgid "![Hello World Tutorial 8 dialog, on macOS]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:112 -#: docs/en/tutorial/tutorial-8.md:134 -#: docs/en/tutorial/tutorial-8.md:156 -msgid "/// caption" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:114 -#: docs/en/tutorial/tutorial-8.md:116 -#: docs/en/tutorial/tutorial-8.md:136 -#: docs/en/tutorial/tutorial-8.md:138 -#: docs/en/tutorial/tutorial-8.md:158 -#: docs/en/tutorial/tutorial-8.md:160 -#: docs/en/tutorial/tutorial-8.md:167 -#: docs/en/tutorial/tutorial-8.md:174 -#: docs/en/tutorial/tutorial-8.md:338 -#: docs/en/tutorial/tutorial-8.md:346 -#: docs/en/tutorial/tutorial-8.md:354 -#: docs/en/tutorial/tutorial-8.md:362 -#: docs/en/tutorial/tutorial-8.md:370 -msgid "///" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:118 -#: docs/en/tutorial/tutorial-8.md:340 -msgid "/// tab | Linux" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:132 -msgid "![Hello World Tutorial 8 dialog, on Linux]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:140 -#: docs/en/tutorial/tutorial-8.md:348 -msgid "/// tab | Windows" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:154 -msgid "![Hello World Tutorial 8 dialog, on Windows]{1}" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:162 -#: docs/en/tutorial/tutorial-8.md:356 -msgid "/// tab | Android" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:164 -msgid "" -"You can't run an Android app in developer mode - use the instructions for " -"your chosen desktop platform." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:169 -#: docs/en/tutorial/tutorial-8.md:364 -msgid "/// tab | iOS" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:171 -msgid "" -"You can't run an iOS app in developer mode - use the instructions for your " -"chosen desktop platform." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:176 -msgid "" -"Unless you've got a *really* fast internet connection, you may notice that " -"when you press the button, the GUI for your app locks up for a little bit. " -"The operating system may even manifest this with a \"beachball\" or " -"\"spinner\" cursor to indicate that the app is being unresponsive." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:182 -msgid "" -"This is because the web request we have made is *synchronous*. When our " -"application makes the web request, it waits for the API to return a response " -"before continuing. While it's waiting, it *isn't* allowing the application " -"to redraw - and as a result, the application locks up." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:187 -msgid "GUI Event Loops" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:189 -msgid "" -"To understand why this happens, we need to dig into the details of how a GUI " -"application works. The specifics vary depending on the platform; but the " -"high level concepts are the same, no matter the platform or GUI environment " -"you're using." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:194 -msgid "A GUI app is, fundamentally, a single loop that looks something like:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:202 -msgid "" -"This loop is called the *Event Loop*. (These aren't actual method names - " -"it's an illustration of what is going on using \"pseudo-code\")." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:205 -msgid "" -"When you click on a button, or drag a scroll bar, or type a key, you are " -"generating an \"event\". That \"event\" is put onto a queue, and the app " -"will process the queue of events when it next has the opportunity to do so. " -"The user code that is triggered in response to the event is called an *event " -"handler*. These event handlers are invoked as part of the `process_events()` " -"call." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:212 -msgid "" -"Once an app has processed all the available events, it will `redraw()` the " -"GUI. This takes into account any changes that the events have caused to the " -"display of the app, as well as anything else that is going on in the " -"operating system - for example, the windows of another app may obscure or " -"reveal part of our app's window, and our app's redraw will need to reflect " -"the portion of the window that is currently visible." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:219 -msgid "" -"The important detail to notice: while an application is processing an event, " -"*it can't redraw*, and *it can't process other events*." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:222 -msgid "" -"This means any user logic contained in an event handler needs to complete " -"quickly. Any delay in completing the event handler will be observed by the " -"user as a slowdown (or stop) in GUI updates. If this delay is long enough, " -"your operating system may report this as a problem - the macOS \"beachball\" " -"and Windows \"spinner\" icons are the operating system telling you that your " -"app is taking too long in an event handler." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:230 -msgid "" -"Simple operations like \"update a label\", or " -"\"recompute the total of the inputs\" are easy to complete quickly. However, " -"there are a lot of operations that can't be completed quickly. If you're " -"performing a complex mathematical calculation, or indexing all the files on " -"a file system, or performing a large network request, you can't " -"\"just do it quickly\" - the operations are inherently slow." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:237 -msgid "So - how do we perform long-lived operations in a GUI application?" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:239 -msgid "Asynchronous programming" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:241 -msgid "" -"What we need is a way to tell an app in the middle of a long-lived event " -"handler that it is OK to temporarily release control back to the event loop, " -"as long as we can resume where we left off. It's up to the app to determine " -"when this release can occur; but if the app releases control to the event " -"loop regularly, we can have a long-running event handler *and* maintain a " -"responsive UI." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:248 -msgid "" -"We can do this by using *asynchronous programming*. Asynchronous programming " -"is a way to describe a program that allows the interpreter to run multiple " -"functions at the same time, sharing resources between all the concurrently " -"running functions." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:253 -msgid "" -"Asynchronous functions (known as *coroutines*) need to be explicitly " -"declared as being asynchronous. They also need to internally declare when an " -"opportunity exists to change context to another coroutine." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:257 -msgid "" -"In Python, asynchronous programming is implemented using the `async` and " -"`await` keywords, and the [asyncio]{1} module in the standard library. The " -"`async` keyword allows us to declare that a function is an asynchronous " -"coroutine. The `await` keyword provides a way to declare when an opportunity " -"exists to change context to another coroutine. The [asyncio]{2} module " -"provides some other useful tools and primitives for asynchronous coding." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:267 -msgid "Making the tutorial asynchronous" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:269 -msgid "" -"To make our tutorial asynchronous, modify the `say_hello()` event handler so " -"it looks like this:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:288 -msgid "" -"There are only three changes to this callback from the previous version:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:290 -msgid "" -"The client that is created is an asynchronous `AsyncClient()`, rather than a " -"synchronous `Client()`. This tells `httpx` that it should operate in " -"asynchronous mode, rather than synchronous mode." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:293 -msgid "" -"The context manager used to create the client is marked as `async`. This " -"tells Python that there is an opportunity to release control as the context " -"manager is entered and exited." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:296 -msgid "" -"The `get` call is made with an `await` keyword. This instructs the app that " -"while we are waiting for the response from the network, the app can release " -"control to the event loop. We've seen this keyword before - we also use " -"`await` when displaying the dialog box. The reason for that usage is the " -"same as it is for the HTTP request - we need to tell the app that while the " -"dialog is displayed, and we're waiting for the user to push a button, it's " -"OK to release control back to the event loop." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:305 -msgid "" -"It's also important to note that the handler itself is defined as `async def`" -", rather than just `def`. This tells Python that the method is an " -"asynchronous coroutine. We made this change back in Tutorial 3 when we added " -"the dialog box. You can only use `await` statements inside a method that is " -"declared as `async def`." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:311 -msgid "" -"Toga allows you to use regular methods or asynchronous coroutines as " -"handlers; Toga manages everything behind the scenes to make sure the handler " -"is invoked or awaited as required." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:315 -msgid "" -"If you save these changes and re-run the app in development mode, there " -"won't be any obvious changes to the app. However, when you click on the " -"button to trigger the dialog, you may notice a number of subtle improvements:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:320 -msgid "" -"The button returns to an \"unclicked\" state, rather than being stuck in a " -"\"clicked\" state." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:322 -msgid "The \"beachball\"/\"spinner\" icon won't appear." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:323 -msgid "" -"If you move/resize the app window while waiting for the dialog to appear, " -"the window will redraw." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:325 -msgid "If you try to open an app menu, the menu will appear immediately." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:327 -msgid "" -"We can now run the full app. However, as we've added an extra requirement " -"(`httpx`) we also need to update our app's requirements; we can do this by " -"passing `-r` to `briefcase run`. This will update our app's requirements, " -"then re-build the app, then launch the app:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:372 -msgid "" -"You should see you app running, and remaining responsive when you press the " -"button and network content is retrieved." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:375 -msgid "Next steps" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:377 -msgid "" -"This has been a taste for what you can do with the tools provided by the " -"BeeWare project. Over the course of this tutorial, you have:" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:380 -msgid "Created a new GUI app project;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:381 -msgid "Run that app in development mode;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:382 -msgid "Built the app as a standalone binary for a desktop operating system;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:383 -msgid "Packaged that project for distribution to others;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:384 -msgid "Run the app on a mobile simulator and/or device;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:385 -msgid "Run the app as a web app;" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:386 -msgid "Added a third-party dependency to your app; and" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:387 -msgid "Modified the app so that it remains responsive." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:389 -msgid "So - where to from here?" -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:391 -msgid "" -"If you'd like to go further, there are some additional [topic tutorials]{1} " -"that go into detail on specific aspects of application development." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:394 -msgid "" -"If you'd like to know more about how to build complex user interfaces with " -"Toga, you can dive into [Toga's documentation]{1}. Toga also has its own " -"tutorial [demonstrating how to use various features of the widget toolkit]" -"{2}." -msgstr "" - -#: docs/en/tutorial/tutorial-8.md:399 -msgid "" -"If you'd like to know more about the capabilities of Briefcase, you can dive " -"into [Briefcase's documentation]{1}." -msgstr "" diff --git a/tox.ini b/tox.ini index 2bb2851d..28858845 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ envlist = docs-lint,docs-all docs_dir = {tox_root}{/}docs{/}en build_dir = {tox_root}{/}_build{/}html config_dir = {tox_root}{/}docs{/}config -templates_dir = {tox_root}{/}locales{/}templates +templates_dir = {tox_root}{/}docs{/}locales{/}templates [testenv:docs{,-lint,-translate,-all,-live,-en,-de,-es,-fr,-it,-pt,-zh_CN,-zh_TW}] # Docs are always built on Python 3.12. See also the RTD config. @@ -14,13 +14,13 @@ skip_install = true deps = -r {tox_root}/requirements.docs.txt commands: - !lint-!all-!translate-!live-!en-!de-!es-!fr-!it-!pt-!zh_CN-!zh_TW : build_md_translations en + !lint-!all-!translate-!live-!en-!de-!es-!fr-!it-!pt-!zh_CN-!zh_TW : build_md_translations {posargs} en translate : md2po --input docs{/}en --output {[docs]templates_dir} --pot --duplicates=merge translate : build_po_translations de es fr it pt zh_CN zh_TW lint : markdown-checker --dir {[docs]docs_dir} --func check_broken_urls lint : pyspelling - live : live_serve_en - all : build_md_translations en de es fr it pt zh_CN zh_TW + live : live_serve_en {posargs} + all : build_md_translations {posargs} en de es fr it pt zh_CN zh_TW en : build_md_translations {posargs} en de : build_md_translations {posargs} de es : build_md_translations {posargs} es From 2527f174a80a677e0304dd72416775e2f9dc1f0d Mon Sep 17 00:00:00 2001 From: Kattni Date: Sat, 23 Aug 2025 22:53:55 -0400 Subject: [PATCH 13/24] Add URL checker failure output file to .gitignore. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index a6def56e..be2298e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # MkDocs _build +comment.md # Translations *.mo From f9dbb1f9fcec9065f9f83901457ca99c708d40c0 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sat, 23 Aug 2025 23:25:24 -0400 Subject: [PATCH 14/24] Replace include-markdown with Snippets. --- docs/config.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/config.yml b/docs/config.yml index ed8ca2d9..5cac4371 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -66,6 +66,10 @@ markdown_extensions: pymdownx.blocks.caption: {} pymdownx.blocks.tab: alternate_style: true + pymdownx.snippets: + base_path: ["docs"] + url_download: true + check_paths: true toc: permalink: true title: On this page @@ -74,7 +78,6 @@ markdown_extensions: plugins: search: {} autorefs: {} - include-markdown: {} literate-nav: nav_file: SUMMARY.md macros: {} From 40436de8f10d05c31ed0e4bd42a4ac0c7eb56f2d Mon Sep 17 00:00:00 2001 From: Kattni Date: Sat, 23 Aug 2025 23:28:29 -0400 Subject: [PATCH 15/24] Add Snippets syntax to pyspelling ignore. --- .pyspelling.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.pyspelling.yml b/.pyspelling.yml index e7ca3b80..3eac4bf3 100644 --- a/.pyspelling.yml +++ b/.pyspelling.yml @@ -29,6 +29,15 @@ matrix: context_visible_first: true escapes: '\\[\\`~]' delimiters: + # Ignore the Jinja directives - open: '{%' content: '[\d\D]*' close: '%}' + # Ignore the single line Snippets syntax + - open: '-8<\-' + content: '[\d\D]*' + close: '\n' + # Ignore the multiline Snippets syntax + - open: '-8<\-\n' + content: '[\d\D]*' + close: '-8<-\n' From 6c8b29b3de6a8b3bcb938183d372d231b6716d30 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 24 Aug 2025 20:39:13 -0400 Subject: [PATCH 16/24] Update docs/en/tutorial/tutorial-5/iOS.md Co-authored-by: Russell Keith-Magee --- docs/en/tutorial/tutorial-5/iOS.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/tutorial/tutorial-5/iOS.md b/docs/en/tutorial/tutorial-5/iOS.md index 320096d6..d5b6ef57 100644 --- a/docs/en/tutorial/tutorial-5/iOS.md +++ b/docs/en/tutorial/tutorial-5/iOS.md @@ -15,7 +15,7 @@ application and deploy it as an iOS app. The process of deploying an application to iOS is very similar to the process for deploying as a desktop application. First, you run the -`create` command -but this time, we specify that we want to create an +`create` command - but this time, we specify that we want to create an iOS application: ```console From 6e450b729152629810b92d978001ebb2158388e2 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 24 Aug 2025 20:39:22 -0400 Subject: [PATCH 17/24] Update docs/en/tutorial/tutorial-2.md Co-authored-by: Russell Keith-Magee --- docs/en/tutorial/tutorial-2.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/tutorial/tutorial-2.md b/docs/en/tutorial/tutorial-2.md index b26fba78..cbb5c6be 100644 --- a/docs/en/tutorial/tutorial-2.md +++ b/docs/en/tutorial/tutorial-2.md @@ -254,7 +254,7 @@ button = toga.Button( ``` The button also has 5px of margin on all sides. We also define a -*handler* -a method to invoke when the button is pressed. +*handler* - a method to invoke when the button is pressed. Then, we add the name box and the button to the main box: From 762bc2a045a977d4100f4506d828b7db2f21f600 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 24 Aug 2025 20:39:32 -0400 Subject: [PATCH 18/24] Update docs/en/tutorial/tutorial-7.md Co-authored-by: Russell Keith-Magee --- docs/en/tutorial/tutorial-7.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/tutorial/tutorial-7.md b/docs/en/tutorial/tutorial-7.md index cf544ab0..6565672e 100644 --- a/docs/en/tutorial/tutorial-7.md +++ b/docs/en/tutorial/tutorial-7.md @@ -467,7 +467,7 @@ ModuleNotFoundError: No module named 'faker' /// Once again, the app has failed to start because `faker` has not been -installed -but why? Haven't we already installed `faker`? +installed - but why? Haven't we already installed `faker`? We have - but only in the development environment. Your development environment is entirely local to your machine - and is only enabled when From fb8c8431b08ef639030fbb7fad06089d8e4465f4 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 24 Aug 2025 20:39:42 -0400 Subject: [PATCH 19/24] Update docs/en/tutorial/topics/camera-access.md Co-authored-by: Russell Keith-Magee --- docs/en/tutorial/topics/camera-access.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index e50a688d..a4509dc7 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -168,8 +168,9 @@ We can now generate and run the app: /// tab | Android ```console -(beeware-venv) $ briefcase create android (beeware-venv) $ briefcase -build android (beeware-venv) $ briefcase run android +(beeware-venv) $ briefcase create android +(beeware-venv) $ briefcase build android +(beeware-venv) $ briefcase run android ``` /// From 6fe00350d097bf711e534c4a460d8f92b69eb4c7 Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 24 Aug 2025 20:39:51 -0400 Subject: [PATCH 20/24] Update docs/en/tutorial/tutorial-8.md Co-authored-by: Russell Keith-Magee --- docs/en/tutorial/tutorial-8.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/en/tutorial/tutorial-8.md b/docs/en/tutorial/tutorial-8.md index 346d9f88..5f4d011d 100644 --- a/docs/en/tutorial/tutorial-8.md +++ b/docs/en/tutorial/tutorial-8.md @@ -43,7 +43,7 @@ built-in APIs and provide a simpler API that is a closer match for the everyday browser experience. We're going to use one of those libraries to access the {JSON} Placeholder API - a library called [`httpx`](https://www.python-httpx.org). Briefcase uses `httpx` -internally, so it's already in your local environment -you don't need to +internally, so it's already in your local environment - you don't need to install it separately to use it here. Let's add a `httpx` API call to our app. Modify the `requires` setting From 8b3789464a90f0349d27eb930d1e42892df1896e Mon Sep 17 00:00:00 2001 From: Kattni Date: Sun, 24 Aug 2025 20:40:23 -0400 Subject: [PATCH 21/24] Update docs/en/tutorial/topics/camera-access.md Co-authored-by: Russell Keith-Magee --- docs/en/tutorial/topics/camera-access.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/en/tutorial/topics/camera-access.md b/docs/en/tutorial/topics/camera-access.md index a4509dc7..8293907a 100644 --- a/docs/en/tutorial/topics/camera-access.md +++ b/docs/en/tutorial/topics/camera-access.md @@ -159,7 +159,8 @@ We can now generate and run the app: /// tab | macOS ```console -(beeware-venv) $ briefcase create (beeware-venv) $ briefcase build +(beeware-venv) $ briefcase create +(beeware-venv) $ briefcase build (beeware-venv) $ briefcase run ``` From db784e0cfab521a1a63cd03c3a8d2d3fae206481 Mon Sep 17 00:00:00 2001 From: Kattni Date: Mon, 25 Aug 2025 02:27:22 -0400 Subject: [PATCH 22/24] Remove unnecessary key. --- docs/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/config.yml b/docs/config.yml index 5cac4371..b4792870 100644 --- a/docs/config.yml +++ b/docs/config.yml @@ -12,7 +12,6 @@ validation: extra: project_name: beeware-tutorial - hide_version: true social: - icon: fontawesome/brands/github link: https://github.com/beeware From bbae63ab8608ec0e24fc6d6a38c803b45ccfbf4c Mon Sep 17 00:00:00 2001 From: Kattni Date: Tue, 26 Aug 2025 23:03:11 -0400 Subject: [PATCH 23/24] Upgrade tox and RTD configs to py313, and RTD to newer build os. --- .readthedocs.yaml | 6 +++--- tox.ini | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.readthedocs.yaml b/.readthedocs.yaml index 62585ddb..9bf1f15b 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -7,10 +7,10 @@ version: 2 # Set the version of Python and other tools you might need build: - os: ubuntu-22.04 + os: ubuntu-24.04 tools: - # Docs are always built on Python 3.12. See also the tox config. - python: "3.12" + # Docs are always built on Python 3.13. See also the tox config. + python: "3.13" jobs: pre_install: - python -m pip install -r requirements.dev.txt diff --git a/tox.ini b/tox.ini index 28858845..3c2d3f65 100644 --- a/tox.ini +++ b/tox.ini @@ -8,8 +8,8 @@ config_dir = {tox_root}{/}docs{/}config templates_dir = {tox_root}{/}docs{/}locales{/}templates [testenv:docs{,-lint,-translate,-all,-live,-en,-de,-es,-fr,-it,-pt,-zh_CN,-zh_TW}] -# Docs are always built on Python 3.12. See also the RTD config. -base_python = py312 +# Docs are always built on Python 3.13. See also the RTD config. +base_python = py313 skip_install = true deps = -r {tox_root}/requirements.docs.txt From 1940e0c2a97a99fcf15bfb12ce1500d1b5c9807f Mon Sep 17 00:00:00 2001 From: Kattni Date: Tue, 26 Aug 2025 23:48:07 -0400 Subject: [PATCH 24/24] Remove unneeded directories. --- tox.ini | 2 -- 1 file changed, 2 deletions(-) diff --git a/tox.ini b/tox.ini index 3c2d3f65..68607675 100644 --- a/tox.ini +++ b/tox.ini @@ -3,8 +3,6 @@ envlist = docs-lint,docs-all [docs] docs_dir = {tox_root}{/}docs{/}en -build_dir = {tox_root}{/}_build{/}html -config_dir = {tox_root}{/}docs{/}config templates_dir = {tox_root}{/}docs{/}locales{/}templates [testenv:docs{,-lint,-translate,-all,-live,-en,-de,-es,-fr,-it,-pt,-zh_CN,-zh_TW}]